--- cyrus-imspd-1.8.orig/debian/cyrus-imspd.docs +++ cyrus-imspd-1.8/debian/cyrus-imspd.docs @@ -0,0 +1,4 @@ +notes/Setup-instructions +notes/imsp.implementation +notes/imsp.implementation.updates +notes/option.registry --- cyrus-imspd-1.8.orig/debian/README.source +++ cyrus-imspd-1.8/debian/README.source @@ -0,0 +1,58 @@ +This package uses quilt to manage all modifications to the upstream +source. Changes are stored in the source package as diffs in +debian/patches and applied during the build. + +To configure quilt to use debian/patches instead of patches, you want +either to export QUILT_PATCHES=debian/patches in your environment +or use this snippet in your ~/.quiltrc: + + for where in ./ ../ ../../ ../../../ ../../../../ ../../../../../; do + if [ -e ${where}debian/rules -a -d ${where}debian/patches ]; then + export QUILT_PATCHES=debian/patches + break + fi + done + +To get the fully patched source after unpacking the source package, cd to +the root level of the source package and run: + + quilt push -a + +The last patch listed in debian/patches/series will become the current +patch. + +To add a new set of changes, first run quilt push -a, and then run: + + quilt new + +where is a descriptive name for the patch, used as the filename in +debian/patches. Then, for every file that will be modified by this patch, +run: + + quilt add + +before editing those files. You must tell quilt with quilt add what files +will be part of the patch before making changes or quilt will not work +properly. After editing the files, run: + + quilt refresh + +to save the results as a patch. + +Alternately, if you already have an external patch and you just want to +add it to the build system, run quilt push -a and then: + + quilt import -P /path/to/patch + quilt push -a + +(add -p 0 to quilt import if needed). as above is the filename to +use in debian/patches. The last quilt push -a will apply the patch to +make sure it works properly. + +To remove an existing patch from the list of patches that will be applied, +run: + + quilt delete + +You may need to run quilt pop -a to unapply patches first before running +this command. --- cyrus-imspd-1.8.orig/debian/cyrus-imspd.install +++ cyrus-imspd-1.8/debian/cyrus-imspd.install @@ -0,0 +1 @@ +imsp/cyrus-imspd usr/sbin --- cyrus-imspd-1.8.orig/debian/cyrus-imspd.examples +++ cyrus-imspd-1.8/debian/cyrus-imspd.examples @@ -0,0 +1 @@ +imsp/options.sample --- cyrus-imspd-1.8.orig/debian/cyrus-imspd.dirs +++ cyrus-imspd-1.8/debian/cyrus-imspd.dirs @@ -0,0 +1 @@ +var/lib/imsp --- cyrus-imspd-1.8.orig/debian/cyrus-imspd.init +++ cyrus-imspd-1.8/debian/cyrus-imspd.init @@ -0,0 +1,58 @@ +#!/bin/sh +# +### BEGIN INIT INFO +# Provides: cyrus-imspd +# Required-Start: $remote_fs $network +# Required-Stop: $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Internet Message Support Protocol daemon +# Description: Internet Message Support Protocol (imsp) daemon, providing +# central storage for addressbooks and application config. +### END INIT INFO + +set -e + +DAEMON=/usr/sbin/cyrus-imspd +PATH=/sbin:/bin:/usr/sbin:/usr/bin + +# Has the package been 'removed' but not purged? +test -f $DAEMON || exit 0 + +. /lib/lsb/init-functions + +# Source the config file +DEFAULT=/etc/default/cyrus-imspd +[ -f $DEFAULT ] && . $DEFAULT + +ARGS="--exec $DAEMON --pidfile=/var/run/cyrus-imspd.pid --make-pidfile" +[ "$IMSP_USER" ] && ARGS="$ARGS --chuid $IMSP_USER" +[ "$IMSP_GROUP" ] && ARGS="$ARGS --group $IMSP_GROUP" + +case "$1" in + start) + log_daemon_msg "Starting cyrus-imspd" + start-stop-daemon $ARGS --start --background --oknodo -- $IMSP_ARGS + log_end_msg 0 + ;; + + stop) + log_daemon_msg "Stopping cyrus-imspd" + start-stop-daemon $ARGS --stop --oknodo + rm -f /var/run/cyrus-imspd.pid + log_end_msg 0 + ;; + + restart|force-reload) + $0 stop + sleep 1 + $0 start + ;; + + *) + echo "Usage: $0 {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 --- cyrus-imspd-1.8.orig/debian/cyrus-imspd.manpages +++ cyrus-imspd-1.8/debian/cyrus-imspd.manpages @@ -0,0 +1 @@ +debian/cyrus-imspd.8 --- cyrus-imspd-1.8.orig/debian/copyright +++ cyrus-imspd-1.8/debian/copyright @@ -0,0 +1,99 @@ +This package was debianized by Christoph Berg in January +2010. Work was funded by Dembach Goo Informatik. + +It was downloaded from http://cyrusimap.web.cmu.edu/downloads.html#imsp + +Copyright (c) 1993-2000 Carnegie Mellon University. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. The name "Carnegie Mellon University" must not be used to + endorse or promote products derived from this software without + prior written permission. For permission or any other legal + details, please contact + Office of Technology Transfer + Carnegie Mellon University + 5000 Forbes Avenue + Pittsburgh, PA 15213-3890 + (412) 268-4387, fax: (412) 268-7395 + tech-transfer@andrew.cmu.edu + +4. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by Computing Services + at Carnegie Mellon University (http://www.cmu.edu/computing/)." + +CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE +FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN +AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING +OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +Author: Chris Newman +Author: Joseph Jackson +SASL foo: Tim Martin + +/* adate.c -- generate an Internet standard date string for a mail header + * + * (C) Copyright 1991-1996 Christopher J. Newman + * All Rights Reserved. + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of Christopher J. Newman not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. Christopher J. Newman makes no + * representations about the suitability of this software for any purpose. + * It is provided "as is" without express or implied warranty. + * + * CHRISTOPHER J. NEWMAN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT + * SHALL CHRISTOPHER J. NEWMAN BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + * + * Author: Christopher J. Newman + * Message: This is a nifty program. + */ + +/* bb.c -- bboard subscriptions/update/location databases + * + * (C) Copyright 1993-1994 by Carnegie Mellon University + * + * All Rights Reserved + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose and without fee is hereby granted, + * provided that the above copyright notice appear in all copies and that + * both that copyright notice and this permission notice appear in + * supporting documentation, and that the name of CMU not be + * used in advertising or publicity pertaining to distribution of the + * software without specific, written prior permission. + * + * CMU DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING + * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL + * CMU BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR + * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, + * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, + * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS + * SOFTWARE. + * + * Author: Chris Newman + * Start Date: 5/4/93 + */ --- cyrus-imspd-1.8.orig/debian/watch +++ cyrus-imspd-1.8/debian/watch @@ -0,0 +1,2 @@ +version=3 +ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-imspd-v(.*).tar.gz --- cyrus-imspd-1.8.orig/debian/cyrus-imspd.default +++ cyrus-imspd-1.8/debian/cyrus-imspd.default @@ -0,0 +1,7 @@ +# User and group to run as. Defaults to root:root +#IMSP_USER="root" +#IMSP_GROUP="root" + +# Extra arguments for the daemon. +# -p: Port to listen on. Defaults to 406 +#IMSP_ARGS="-p 406" --- cyrus-imspd-1.8.orig/debian/cyrus-imspd.8 +++ cyrus-imspd-1.8/debian/cyrus-imspd.8 @@ -0,0 +1,31 @@ +.IX Title "CYRUS-IMSPD 8" +.TH CYRUS-IMSPD 8 "2010-01-25" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +cyrus\-imspd \-\- server for storing application preferences and address book data in a shared location +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +.IP "\fBcyrus-imspd\fR [\fB\-d\fR] [\fB\-p\fR \fIport\fR]" 4 +.IX Item "cyrus-imspd [-d] [-p port]" +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \s-1IMSP\s0 server is used for storing application preferences and address book +data in a shared location. Few applications support \s-1IMSP\s0 preferences and +address books. +.PP +See \fBhttps://cyrusimap.web.cmu.edu/archives/rfc/imsp.html\fR for information +about the \s-1IMSP\s0 protocol. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-d\fR" 4 +.IX Item "-d" +Prevent forking and print extra debugging info. +.IP "\fB\-p\fR \fIport\fR" 4 +.IX Item "-p port" +Run on \fIport\fR instead of the default \fB406\fR. +.SH "NOTES" +.IX Header "NOTES" +The final version of \s-1IMSP\s0 server is 1.7b. No further releases of the \s-1IMSP\s0 server are planned. --- cyrus-imspd-1.8.orig/debian/control +++ cyrus-imspd-1.8/debian/control @@ -0,0 +1,18 @@ +Source: cyrus-imspd +Section: mail +Priority: extra +Maintainer: Christoph Berg +Build-Depends: debhelper (>> 7), autotools-dev, chrpath, libldap-dev, libsasl2-dev, quilt +Standards-Version: 3.9.2 +Homepage: https://cyrusimap.web.cmu.edu/archives/rfc/imsp.html +Vcs-Git: git://git.debian.org/collab-maint/cyrus-imspd.git +Vcs-Browser: http://git.debian.org/?p=collab-maint/cyrus-imspd.git + +Package: cyrus-imspd +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, lsb-base +Enhances: cyrus-imapd +Description: Internet Message Support Protocol daemon + This package contains the cyrus-imspd daemon for the Internet Message Support + Protocol (imsp), providing central storage for addressbooks and application + config. --- cyrus-imspd-1.8.orig/debian/rules +++ cyrus-imspd-1.8/debian/rules @@ -0,0 +1,51 @@ +#!/usr/bin/make -f + +include /usr/share/quilt/quilt.make + +build build-arch: build-stamp +build-stamp: $(QUILT_STAMPFN) + dh_testdir + cp /usr/share/misc/config.guess /usr/share/misc/config.sub . + ./configure --prefix=/usr --with-statedir=/var/lib/imsp + $(MAKE) -C lib + $(MAKE) + # Remove /usr/local/lib rpath + chrpath -d imsp/cyrus-imspd + touch build-stamp + +build-indep: + +clean: unpatch + dh_testdir + dh_testroot + rm -rf build-stamp ptclient + [ ! -f Makefile ] || $(MAKE) distclean + dh_clean + +install: build-stamp + dh_testdir + dh_testroot + dh_prep + dh_installdirs + dh_install + +binary-indep: +binary binary-arch: build-stamp install + dh_testdir + dh_testroot + dh_installchangelogs notes/Changes-Todo + dh_installdocs + dh_installexamples + dh_installman + dh_installinit + dh_link + dh_strip + dh_compress + dh_fixperms + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +.PHONY: build build-arch build-indep clean binary-indep binary-arch binary install --- cyrus-imspd-1.8.orig/debian/compat +++ cyrus-imspd-1.8/debian/compat @@ -0,0 +1 @@ +7 --- cyrus-imspd-1.8.orig/debian/changelog +++ cyrus-imspd-1.8/debian/changelog @@ -0,0 +1,30 @@ +cyrus-imspd (1.8-3) unstable; urgency=low + + * Define MAXPATHLEN on hurd. + + -- Christoph Berg Tue, 06 Sep 2011 11:25:41 +0200 + +cyrus-imspd (1.8-2) unstable; urgency=low + + * Define MAXHOSTNAMELEN on hurd. + * Enhances: cyrus-imapd. + + -- Christoph Berg Sun, 28 Aug 2011 18:10:19 +0200 + +cyrus-imspd (1.8-1) unstable; urgency=low + + * New upstream version. + * Add Vcs-* fields. + * Add watch file. Why on earth does the homepage say there would be no newer + versions, when in fact 1.8 was released in 2005? + * Improve long description, and move extra URL to the homepage field. Thanks + Gerfried Fuchs for suggesting. (Closes: 568795) + * Enhances: cyrus-imapd-2.2, cyrus-imapd-2.3. + + -- Christoph Berg Thu, 25 Mar 2010 13:41:26 +0100 + +cyrus-imspd (1.7b-1) unstable; urgency=low + + * Initial release. + + -- Christoph Berg Thu, 21 Jan 2010 15:50:15 +0100 --- cyrus-imspd-1.8.orig/debian/patches/var-lib-imsp +++ cyrus-imspd-1.8/debian/patches/var-lib-imsp @@ -0,0 +1,22 @@ +--- a/imsp/dispatch.c ++++ b/imsp/dispatch.c +@@ -600,7 +600,7 @@ void dispatch_telemetry(fbuf, user) + close(fbuf->telem); + fbuf->telem = -1; + } +- snprintf(fname, sizeof(fname), "/var/imsp/log/%s/%ld", user, (long) getpid()); ++ snprintf(fname, sizeof(fname), "/var/lib/imsp/log/%s/%ld", user, (long) getpid()); + fbuf->telem = open(fname, O_WRONLY|O_CREAT, 0600); + } + +--- a/imsp/syncdb.c ++++ b/imsp/syncdb.c +@@ -71,7 +71,7 @@ + #include "glob.h" + + /* prefixes for database files */ +-#define PREFIX "/var/imsp" ++#define PREFIX "/var/lib/imsp" + #define PREFIXLEN (sizeof (PREFIX) - 1) + #define PRIVPREFIX "user" + #define PRIVPREFIXLEN (sizeof (PRIVPREFIX) - 1) --- cyrus-imspd-1.8.orig/debian/patches/stdarg +++ cyrus-imspd-1.8/debian/patches/stdarg @@ -0,0 +1,11 @@ +--- a/lib/imclient.c ++++ b/lib/imclient.c +@@ -55,7 +55,7 @@ + #ifdef HAVE_STDARG_H + #include + #else +-#include ++#include + #endif + #include + #include --- cyrus-imspd-1.8.orig/debian/patches/maxpathlen +++ cyrus-imspd-1.8/debian/patches/maxpathlen @@ -0,0 +1,25 @@ +Failing reason for cyrus-imspd on hurd-i386: + +> dispatch.c:593:16: error: 'MAXPATHLEN' undeclared (first use in this function) + +--- a/imsp/dispatch.h ++++ b/imsp/dispatch.h +@@ -155,3 +155,7 @@ + int dispatch_write(); + char *dispatch_readline(); + #endif ++ ++#ifndef MAXPATHLEN ++#define MAXPATHLEN 256 ++#endif +--- a/imsp/syncdb.h ++++ b/imsp/syncdb.h +@@ -163,4 +163,8 @@ + + #endif /* __STDC__ */ + ++#ifndef MAXPATHLEN ++#define MAXPATHLEN 256 ++#endif ++ + #endif /* SYNCDB_H */ --- cyrus-imspd-1.8.orig/debian/patches/disable-extern +++ cyrus-imspd-1.8/debian/patches/disable-extern @@ -0,0 +1,218 @@ +--- a/imsp/imsp_server.c ++++ b/imsp/imsp_server.c +@@ -46,6 +46,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -69,9 +70,6 @@ + #include "alock.h" + #include "sasl_support.h" + +-/* import from OS */ +-extern char *malloc(), *realloc(); +- + /* structure used for command dispatch list */ + typedef struct command_t { + char *word; +--- a/imsp/abook.c ++++ b/imsp/abook.c +@@ -45,6 +45,7 @@ + #include + #include + #include ++#include + #include "xmalloc.h" + #include "util.h" + #include "syncdb.h" +@@ -56,9 +57,6 @@ + #include "acl.h" + #include "option.h" /* for option_doquota() */ + +-/* import from OS: */ +-extern char *malloc(); +- + /* database names */ + static char abooks[] = "abooks"; + static char abooksdb[] = "user/%s/abooks"; +--- a/imsp/dispatch.c ++++ b/imsp/dispatch.c +@@ -47,6 +47,7 @@ + #include + #include + #include ++#include + #include + #include + #include +--- a/imsp/im_util.c ++++ b/imsp/im_util.c +@@ -44,6 +44,7 @@ + + #include + #include ++#include + #include + #include + #include +@@ -59,8 +60,6 @@ + #include + #endif + +-/* import from OS: */ +-extern char *malloc(), *realloc(); + #define MAX_DIGITS 32 /* max number of digits in long integer */ + + /* flag that a literal is ready to be sent */ +--- a/imsp/main.c ++++ b/imsp/main.c +@@ -44,6 +44,8 @@ + + #include + #include ++#include ++#include + #include + #include + #include +--- a/imsp/option.c ++++ b/imsp/option.c +@@ -48,6 +48,8 @@ + #include + #include + #include ++#include ++#include + #include "util.h" + #include "syncdb.h" + #include "option.h" +@@ -57,9 +59,6 @@ + /* from adate.c: */ + extern char *n_arpadate(); + +-/* from OS: */ +-extern char *malloc(), *realloc(); +- + /* various strings */ + static char options[] = "options"; + static char optiondb[] = "user/%s/options"; +--- a/lib/auth_unix.c ++++ b/lib/auth_unix.c +@@ -49,6 +49,7 @@ + #include + #include + #include ++#include + + #include "auth.h" + #include "xmalloc.h" +--- a/lib/glob.c ++++ b/lib/glob.c +@@ -48,6 +48,7 @@ + #include + #include + #include ++#include + #include + #include "util.h" + #include "glob.h" +--- a/imsp/adate.c ++++ b/imsp/adate.c +@@ -27,6 +27,7 @@ + + #include + #include ++#include + #include + #include + +--- a/imsp/syncdb.c ++++ b/imsp/syncdb.c +@@ -56,6 +56,7 @@ + #include + #include + #include ++#include + #include + #include + #include +--- a/imsp/authize.c ++++ b/imsp/authize.c +@@ -45,6 +45,7 @@ + #include + #include + #include ++#include + #include "util.h" + #include "acl.h" + #include "syncdb.h" +@@ -52,10 +53,6 @@ + #include "auth.h" + #include "authize.h" + +-/* from OS: */ +-extern char *malloc(), *realloc(); +-extern char *crypt(); +- + /* name of anonymous user */ + static char anonymous[] = "anonymous"; + +--- a/imsp/imap_client.c ++++ b/imsp/imap_client.c +@@ -26,6 +26,7 @@ + + #include + #include ++#include + #include + #include + #include +@@ -42,9 +43,6 @@ + + extern int from64(); + +-/* from OS: */ +-extern char *malloc(); +- + /* proxy strings + */ + static char proxy_login[] = "%a LOGIN %s %s\r\n"; +--- a/imsp/sasl_support.c ++++ b/imsp/sasl_support.c +@@ -44,7 +44,7 @@ + + #include + #include +-#include ++#include + #include + #include + #include +--- a/lib/util.c ++++ b/lib/util.c +@@ -48,11 +48,9 @@ + #include + #include + #include ++#include + #include "util.h" + +-/* from OS: */ +-extern char *malloc(), *realloc(); +- + #define BEAUTYBUFSIZE 4096 + + const unsigned char convert_to_lowercase[256] = { +--- a/imsp/alock.c ++++ b/imsp/alock.c +@@ -44,6 +44,7 @@ + + #include + #include ++#include + #include + #include "util.h" + #include "syncdb.h" --- cyrus-imspd-1.8.orig/debian/patches/bump-version +++ cyrus-imspd-1.8/debian/patches/bump-version @@ -0,0 +1,5 @@ +--- a/imsp/version.h ++++ b/imsp/version.h +@@ -1 +1 @@ +-#define VERSION "1.7b" ++#define VERSION "1.8" --- cyrus-imspd-1.8.orig/debian/patches/maxhostnamelen +++ cyrus-imspd-1.8/debian/patches/maxhostnamelen @@ -0,0 +1,24 @@ +Failing reason for cyrus-imspd on hurd-i386: + +> main.c:95: error: 'MAXHOSTNAMELEN' undeclared (first use in this function) + +--- a/imsp/imsp.h ++++ b/imsp/imsp.h +@@ -47,3 +47,7 @@ + #define IMSP_PORTNAME "imsp" + #define IMSP_PROTOCOL "tcp" + #define IMSP_PORT 406 ++ ++#ifndef MAXHOSTNAMELEN ++#define MAXHOSTNAMELEN 64 ++#endif +--- a/lib/acte.h ++++ b/lib/acte.h +@@ -59,3 +59,7 @@ struct acte_server { + #define ACTE_DONE 3 /* Server has authenticated user */ + + extern char *acte_prottostring(); ++ ++#ifndef MAXHOSTNAMELEN ++#define MAXHOSTNAMELEN 64 ++#endif --- cyrus-imspd-1.8.orig/debian/patches/abook-dap +++ cyrus-imspd-1.8/debian/patches/abook-dap @@ -0,0 +1,23 @@ +--- a/imsp/abook.c ++++ b/imsp/abook.c +@@ -300,7 +300,7 @@ int abook_canlock(id, name) + */ + int abook_searchstart(state, ldap_state, id, name, flist, fcount) + abook_state *state; +- void **ldap_state; ++ struct abook_ldap_state **ldap_state; + auth_id *id; + char *name; + abook_fielddata *flist; +--- a/imsp/abook.h ++++ b/imsp/abook.h +@@ -106,7 +106,8 @@ int abook_canlock(auth_id *, char *); + * fcount number of fields of interest (may be 0) + * returns: AB_SUCCESS, AB_FAIL, AB_PERM + */ +-int abook_searchstart(abook_state *, void **, auth_id *, char *, ++struct abook_ldap_state; /* forward decl for abook_ldap.h */ ++int abook_searchstart(abook_state *, struct abook_ldap_state **, auth_id *, char *, + abook_fielddata *, int); + + /* abook_search(state, ldap_state) --- cyrus-imspd-1.8.orig/debian/patches/return-null +++ cyrus-imspd-1.8/debian/patches/return-null @@ -0,0 +1,16 @@ +--- a/imsp/option.c ++++ b/imsp/option.c +@@ -322,11 +322,11 @@ int option_test(user, opt, admin, dflt) + /* check user options database if user isn't the empty string */ + if (*user) { + snprintf(dbname, sizeof(dbname), optiondb, user); +- if (sdb_get(dbname, opt, SDB_ICASE, &value) < 0) return (NULL); ++ if (sdb_get(dbname, opt, SDB_ICASE, &value) < 0) return (0); + } + /* check global options */ + if (value == NULL && sdb_get(options, opt, SDB_ICASE, &value) < 0) { +- return (NULL); ++ return (0); + } + + /* check for "non-visible" options */ --- cyrus-imspd-1.8.orig/debian/patches/series +++ cyrus-imspd-1.8/debian/patches/series @@ -0,0 +1,9 @@ +stdarg +disable-extern +return-null +abook-dap +var-lib-imsp +remove-NI_WITHSCOPEID +bump-version +maxhostnamelen +maxpathlen --- cyrus-imspd-1.8.orig/debian/patches/remove-NI_WITHSCOPEID +++ cyrus-imspd-1.8/debian/patches/remove-NI_WITHSCOPEID @@ -0,0 +1,11 @@ +--- a/lib/iptostring.c ++++ b/lib/iptostring.c +@@ -61,7 +61,7 @@ int iptostring(const struct sockaddr *ad + } + + getnameinfo(addr, addrlen, hbuf, sizeof(hbuf), pbuf, sizeof(pbuf), +- NI_NUMERICHOST | NI_WITHSCOPEID | NI_NUMERICSERV); ++ NI_NUMERICHOST | NI_NUMERICSERV); + + if(outlen < strlen(hbuf) + strlen(pbuf) + 2) { + errno = ENOMEM;