aboutsummaryrefslogtreecommitdiffstats
path: root/mail/cyrus-imapd24
diff options
context:
space:
mode:
authorume <ume@FreeBSD.org>2005-12-12 09:22:54 +0800
committerume <ume@FreeBSD.org>2005-12-12 09:22:54 +0800
commite5afce097433da175639b9de4e6d6f897dd8aa9c (patch)
tree033a671ab1cab96f5a01e00d2e78bc2f9acf954d /mail/cyrus-imapd24
parent0861fa49215ca0d31ce55f3c864275ef904b271a (diff)
downloadfreebsd-ports-graphics-e5afce097433da175639b9de4e6d6f897dd8aa9c.tar.gz
freebsd-ports-graphics-e5afce097433da175639b9de4e6d6f897dd8aa9c.tar.zst
freebsd-ports-graphics-e5afce097433da175639b9de4e6d6f897dd8aa9c.zip
Add Cyrus IMAPd 2.3.0 after repo. copy.
Diffstat (limited to 'mail/cyrus-imapd24')
-rw-r--r--mail/cyrus-imapd24/Makefile64
-rw-r--r--mail/cyrus-imapd24/distinfo6
-rw-r--r--mail/cyrus-imapd24/files/drac_auth.patch294
-rw-r--r--mail/cyrus-imapd24/files/extra-patch-aclocal.m451
-rw-r--r--mail/cyrus-imapd24/files/extra-patch-cmulocal::berkdb.m428
-rw-r--r--mail/cyrus-imapd24/files/extra-patch-cmulocal::ucdsnmp.m427
-rw-r--r--mail/cyrus-imapd24/files/patch-aa21
-rw-r--r--mail/cyrus-imapd24/files/patch-bc33
-rw-r--r--mail/cyrus-imapd24/files/patch-configure (renamed from mail/cyrus-imapd24/files/patch-ac)24
-rw-r--r--mail/cyrus-imapd24/files/patch-df14
-rw-r--r--mail/cyrus-imapd24/files/patch-imap::Makefile.in60
-rw-r--r--mail/cyrus-imapd24/files/patch-man::Makefile.in30
-rw-r--r--mail/cyrus-imapd24/files/patch-master::service-thread.c14
-rw-r--r--mail/cyrus-imapd24/files/patch-tools::mkimap (renamed from mail/cyrus-imapd24/files/patch-dg)19
-rw-r--r--mail/cyrus-imapd24/pkg-plist13
15 files changed, 510 insertions, 188 deletions
diff --git a/mail/cyrus-imapd24/Makefile b/mail/cyrus-imapd24/Makefile
index cb5f8c7b074..cb56d63356f 100644
--- a/mail/cyrus-imapd24/Makefile
+++ b/mail/cyrus-imapd24/Makefile
@@ -1,13 +1,13 @@
# New ports collection makefile for: cyrus-imapd
-# Date created: Jan 4th 2001
+# Date created: Dec 10th 2005
# Whom: ume@FreeBSD.org
#
# $FreeBSD$
#
PORTNAME= cyrus-imapd
-PORTVERSION= 2.2.12
-PORTREVISION= 2
+PORTVERSION= 2.3.0
+#PORTREVISION= 0
CATEGORIES= mail ipv6
MASTER_SITES= ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/ \
ftp://ftp.hanse.de/sites/transit/mirror/ftp.andrew.cmu.edu/pub/cyrus-mail/ \
@@ -20,9 +20,9 @@ LIB_DEPENDS= sasl2.2:${PORTSDIR}/security/cyrus-sasl2
RUN_DEPENDS= ${SITE_PERL}/Pod/Parser.pm:${PORTSDIR}/textproc/p5-Pod-Parser \
${SITE_PERL}/File/Temp.pm:${PORTSDIR}/devel/p5-File-Temp
-CONFLICTS= cyrus-1.* cyrus-imapd-2.[^2].*
+CONFLICTS= cyrus-1.* cyrus-imapd-2.[^3].*
-LATEST_LINK= ${PORTNAME}22
+LATEST_LINK= ${PORTNAME}23
USE_RC_SUBR= imapd.sh
USE_OPENSSL= yes
@@ -39,38 +39,37 @@ CONFIGURE_ARGS= --sysconfdir=${PREFIX}/etc \
--with-openssl=${OPENSSLBASE} \
--with-perl=${PERL5}
-OPTIONS= AUTH_KRB5 "Use Kerberos5 authorization module" off
.if defined(WITH_BDB_VER)
USE_BDB_VER= ${WITH_BDB_VER}
.else
USE_BDB_VER= 3
.endif
.if ${USE_BDB_VER} == 3
-OPTIONS+= BDB_3 "Use BerkeleyDB v3" on \
+OPTIONS= BDB_3 "Use BerkeleyDB v3" on \
BDB_4 "Use BerkeleyDB v4" off \
BDB_41 "Use BerkeleyDB v4.1" off \
BDB_42 "Use BerkeleyDB v4.2" off \
BDB_43 "Use BerkeleyDB v4.3" off
.elif ${USE_BDB_VER} == 4
-OPTIONS+= BDB_3 "Use BerkeleyDB v3" off \
+OPTIONS= BDB_3 "Use BerkeleyDB v3" off \
BDB_4 "Use BerkeleyDB v4" on \
BDB_41 "Use BerkeleyDB v4.1" off \
BDB_42 "Use BerkeleyDB v4.2" off \
BDB_43 "Use BerkeleyDB v4.3" off
.elif ${USE_BDB_VER} == 41
-OPTIONS+= BDB_3 "Use BerkeleyDB v3" off \
+OPTIONS= BDB_3 "Use BerkeleyDB v3" off \
BDB_4 "Use BerkeleyDB v4" off \
BDB_41 "Use BerkeleyDB v4.1" on \
BDB_42 "Use BerkeleyDB v4.2" off \
BDB_43 "Use BerkeleyDB v4.3" off
.elif ${USE_BDB_VER} == 42
-OPTIONS+= BDB_3 "Use BerkeleyDB v3" off \
+OPTIONS= BDB_3 "Use BerkeleyDB v3" off \
BDB_4 "Use BerkeleyDB v4" off \
BDB_41 "Use BerkeleyDB v4.1" off \
BDB_42 "Use BerkeleyDB v4.2" on \
BDB_43 "Use BerkeleyDB v4.3" off
.elif ${USE_BDB_VER} == 43
-OPTIONS+= BDB_3 "Use BerkeleyDB v3" off \
+OPTIONS= BDB_3 "Use BerkeleyDB v3" off \
BDB_4 "Use BerkeleyDB v4" off \
BDB_41 "Use BerkeleyDB v4.1" off \
BDB_42 "Use BerkeleyDB v4.2" off \
@@ -82,11 +81,12 @@ BROKEN= "WITH_BDB_VER must be 3, 4, 41, 42 or 43"
OPTIONS+= DRAC "Enable DRAC support" off
OPTIONS+= IDLE_IDLED "Enable IMAP IDLE method idled" off \
IDLE_POLL "Enable IMAP IDLE method idle-polling" on
-OPTIONS+= LDAP_PTLOADER "Enable LDAP ptloader (experimantal)" off
+OPTIONS+= LDAP_PTLOADER "Enable LDAP ptloader" off
OPTIONS+= LISTEXT "Enable IMAP List extensions" off
OPTIONS+= MURDER "Enable IMAP Murder support" off
OPTIONS+= NETSCAPEHACK "Enable X-NETSCAPE extensions" off
OPTIONS+= NNTP "Enable NNTP support" off
+OPTIONS+= REPLICATION "Enable replication" off
OPTIONS+= SNMP_4 "Enable SNMP support using net-snmp v4" off \
SNMP_5 "Enable SNMP support using net-snmp v5" off
OPTIONS+= PASS8BITHACK "Add pass8bit option (not recommended)" off
@@ -164,6 +164,13 @@ PLIST_SUB+= IDLED="@comment "
PLIST_SUB+= IDLED="@comment "
.endif
+.if defined(WITH_REPLICATION)
+CONFIGURE_ARGS+=--enable-replication
+PLIST_SUB+= REPLICATION=""
+.else
+PLIST_SUB+= REPLICATION="@comment "
+.endif
+
.if defined(WITH_LISTEXT)
CONFIGURE_ARGS+=--enable-listext
.endif
@@ -173,8 +180,10 @@ CONFIGURE_ARGS+=--enable-netscapehack
.endif
.if defined(WITH_DRAC)
-EXTRA_PATCHES+= ${WRKSRC}/contrib/drac_auth.patch
-EXTRA_PATCHES+= ${FILESDIR}/extra-patch-aclocal.m4 \
+#EXTRA_PATCHES+= ${WRKSRC}/contrib/drac_auth.patch
+EXTRA_PATCHES+= ${FILESDIR}/drac_auth.patch
+EXTRA_PATCHES+= ${FILESDIR}/extra-patch-cmulocal::berkdb.m4 \
+ ${FILESDIR}/extra-patch-cmulocal::ucdsnmp.m4 \
${FILESDIR}/extra-patch-configure.in
USE_AUTOTOOLS= autoconf:259 autoheader:259
CONFIGURE_ARGS+=--with-drac=${LOCALBASE}
@@ -195,18 +204,11 @@ CONFIGURE_ARGS+=--with-snmp=${LOCALBASE}
CONFIGURE_ARGS+=--with-snmp=no
.endif
-.if defined(WITH_AUTH_KRB5) && defined(WITH_LDAP_PTLOADER)
-BROKEN= "AUTH_KRB5 and LDAP_PTLOADER are exclusive. Run 'make config' again!"
-.endif
.if defined(WITH_LDAP_PTLOADER)
USE_OPENLDAP= yes
-CONFIGURE_ARGS+=--with-auth=pts --with-pts=ldap --with-ldap=${LOCALBASE}
+CONFIGURE_ARGS+=--with-ldap=${LOCALBASE}
PLIST_SUB+= LDAP_PTLOADER=""
-.elif defined(WITH_AUTH_KRB5)
-CONFIGURE_ARGS+=--with-auth=krb5
-PLIST_SUB+= LDAP_PTLOADER="@comment "
.else
-CONFIGURE_ARGS+=--with-auth=unix
PLIST_SUB+= LDAP_PTLOADER="@comment "
.endif
@@ -226,17 +228,19 @@ CYRUS_MAN3= Cyrus::IMAP.3 Cyrus::IMAP::Admin.3 Cyrus::IMAP::IMSP.3 \
CYRUS_MAN8= arbitron.8 chk_cyrus.8 nntpd.8 ctl_cyrusdb.8 ctl_deliver.8 \
cyr_expire.8 ctl_mboxlist.8 cvt_cyrusdb.8 deliver.8 \
fetchnews.8 fud.8 idled.8 imapd.8 ipurge.8 lmtpd.8 \
- master.8 mbexamine.8 mbpath.8 notifyd.8 pop3d.8 quota.8 \
- reconstruct.8 rmnews.8 smmapd.8 squatter.8 syncnews.8 \
- timsieved.8 tls_prune.8
+ make_md5.8 master.8 mbexamine.8 mbpath.8 notifyd.8 pop3d.8 \
+ quota.8 reconstruct.8 rmnews.8 smmapd.8 squatter.8 \
+ sync_client.8 sync_reset.8 sync_server.8 syncnews.8 \
+ timsieved.8 tls_prune.8 unexpunge.8
DOCS= altnamespace anoncvs bugs changes faq feedback index \
install install-admin-mb install-auth install-compile \
install-configure install-murder install-netnews \
- install-perf install-prereq install-sieve install-snmpmon \
- install-testing install-upgrade install-virtdomains \
- mailing-list man notes os overview questions readme sieve \
- sieve-protocol specs
+ install-perf install-prereq install-replication \
+ install-sieve install-snmpmon install-testing \
+ install-upgrade install-virtdomains mailing-list man \
+ notes os overview questions readme sieve sieve-protocol \
+ specs
CONFS= cmu-frontend.conf prefork.conf cmu-backend.conf normal.conf \
small.conf
@@ -269,6 +273,8 @@ post-patch:
.endif
post-install:
+ @${INSTALL_DATA} ${WRKSRC}/man/make_md5.8 \
+ ${PREFIX}/cyrus/man/man8/
.for f in ${CYRUS_MAN3}
@${GZIP_CMD} ${PREFIX}/lib/perl5/${PERL_VERSION}/man/man3/${f}
@${ECHO_CMD} lib/perl5/${PERL_VERSION}/man/man3/${f}.gz \
diff --git a/mail/cyrus-imapd24/distinfo b/mail/cyrus-imapd24/distinfo
index 4fb77feecc2..8878e6d2791 100644
--- a/mail/cyrus-imapd24/distinfo
+++ b/mail/cyrus-imapd24/distinfo
@@ -1,3 +1,3 @@
-MD5 (cyrus-imapd-2.2.12.tar.gz) = 70b3bba526a8d36d3bb23a87d37e9188
-SHA256 (cyrus-imapd-2.2.12.tar.gz) = 3c6f41255ba15d8b2ea78320dd5e0c98e07fe0b5c3c4b84bc20f503427bd1b7b
-SIZE (cyrus-imapd-2.2.12.tar.gz) = 1961161
+MD5 (cyrus-imapd-2.3.0.tar.gz) = db628d09f65567ffaed0e8e276ff70ed
+SHA256 (cyrus-imapd-2.3.0.tar.gz) = add45a75b1f04df3cd0ccfe85ad361aa4c3a240c4fa23143bee39ef8873a49f4
+SIZE (cyrus-imapd-2.3.0.tar.gz) = 2209689
diff --git a/mail/cyrus-imapd24/files/drac_auth.patch b/mail/cyrus-imapd24/files/drac_auth.patch
new file mode 100644
index 00000000000..7369bb39839
--- /dev/null
+++ b/mail/cyrus-imapd24/files/drac_auth.patch
@@ -0,0 +1,294 @@
+Index: configure.in
+diff -u configure.in.orig configure.in
+--- configure.in.orig Wed Apr 13 05:05:20 2005
++++ configure.in Sat Dec 10 16:16:15 2005
+@@ -1003,6 +1003,19 @@
+ SNMP_SUBDIRS=""
+ AC_SUBST(SNMP_SUBDIRS)
+
++dnl
++dnl Test for DRAC
++dnl
++DRACLIBS=
++AC_ARG_WITH(drac, [ --with-drac=DIR use DRAC library in <DIR> [no] ],
++ if test -d "$withval"; then
++ LDFLAGS="$LDFLAGS -L${withval}"
++ AC_CHECK_LIB(drac, dracauth,
++ AC_DEFINE(DRAC_AUTH,[],[Build DRAC support?])
++ DRACLIBS="-ldrac")
++ fi)
++AC_SUBST(DRACLIBS)
++
+ CMU_LIBWRAP
+ CMU_UCDSNMP
+
+Index: imap/Makefile.in
+diff -u imap/Makefile.in.orig imap/Makefile.in
+--- imap/Makefile.in.orig Fri Nov 18 00:46:14 2005
++++ imap/Makefile.in Sat Dec 10 16:17:44 2005
+@@ -66,6 +66,7 @@
+ SIEVE_LIBS = @SIEVE_LIBS@
+ IMAP_COM_ERR_LIBS = @IMAP_COM_ERR_LIBS@
+ LIB_WRAP = @LIB_WRAP@
++DRAC_LIBS = @DRACLIBS@
+ LIBS = $(IMAP_LIBS) $(IMAP_COM_ERR_LIBS)
+ DEPLIBS = ../lib/libcyrus.a ../lib/libcyrus_min.a @DEPLIBS@
+
+@@ -202,17 +203,17 @@
+ imapd: xversion $(IMAPDOBJS) mutex_fake.o libimap.a $(DEPLIBS) $(SERVICE)
+ $(CC) $(LDFLAGS) -o imapd \
+ $(SERVICE) $(IMAPDOBJS) mutex_fake.o \
+- libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP)
++ libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(DRAC_LIBS)
+
+ imapd.pure: $(IMAPDOBJS) mutex_fake.o libimap.a $(DEPLIBS) $(SERVICE)
+ $(PURIFY) $(PUREOPT) $(CC) $(LDFLAGS) -o imapd.pure \
+ $(SERVICE) $(IMAPDOBJS) mutex_fake.o libimap.a \
+- $(DEPLIBS) $(LIBS) $(LIB_WRAP)
++ $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(DRAC_LIBS)
+
+ imapd.quant: $(IMAPDOBJS) mutex_fake.o libimap.a $(DEPLIBS) $(SERVICE)
+ $(QUANTIFY) $(QUANTOPT) $(CC) $(LDFLAGS) -o imapd.quant \
+ $(SERVICE) $(IMAPDOBJS) mutex_fake.o libimap.a \
+- $(DEPLIBS) $(LIBS) $(LIB_WRAP)
++ $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(DRAC_LIBS) $(DRAC_LIBS)
+
+ mupdate: mupdate.o mupdate-slave.o mupdate-client.o mutex_pthread.o tls.o \
+ libimap.a $(DEPLIBS)
+@@ -230,7 +231,7 @@
+ pop3d: pop3d.o proxy.o backend.o tls.o mutex_fake.o libimap.a \
+ $(DEPLIBS) $(SERVICE)
+ $(CC) $(LDFLAGS) -o pop3d pop3d.o proxy.o backend.o tls.o $(SERVICE) \
+- mutex_fake.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP)
++ mutex_fake.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(DRAC_LIBS)
+
+ nntpd: nntpd.o proxy.o backend.o index.o smtpclient.o spool.o tls.o \
+ mutex_fake.o nntp_err.o libimap.a $(DEPLIBS) $(SERVICE)
+Index: imap/imapd.c
+diff -u -p imap/imapd.c.orig imap/imapd.c
+--- imap/imapd.c.orig Tue Nov 22 04:48:36 2005
++++ imap/imapd.c Sat Dec 10 16:16:16 2005
+@@ -172,6 +172,18 @@ static struct proxy_context imapd_proxyc
+ 1, 1, &imapd_authstate, &imapd_userisadmin, &imapd_userisproxyadmin
+ };
+
++#ifdef DRAC_AUTH
++static struct {
++ int interval; /* dracd "ping" interval; 0 = disabled */
++ unsigned long clientaddr;
++ struct prot_waitevent *event;
++} drac;
++
++extern int dracconn(char *server, char **errmsg);
++extern int dracsend(unsigned long userip, char **errmsg);
++extern int dracdisc(char **errmsg);
++#endif /* DRAC_AUTH */
++
+ /* current sub-user state */
+ static struct mailbox mboxstruct;
+ static struct mailbox *imapd_mailbox;
+@@ -637,6 +649,23 @@ int service_init(int argc, char **argv,
+ idle_init();
+ }
+
++#ifdef DRAC_AUTH
++ /* setup for sending DRAC "pings" */
++ drac.event = NULL;
++ drac.interval = config_getint(IMAPOPT_DRACINTERVAL);
++ if (drac.interval < 0) drac.interval = 0;
++ if (drac.interval) {
++ char *err;
++
++ if (dracconn((char*) config_getstring(IMAPOPT_DRACHOST), &err) != 0) {
++ /* disable DRAC */
++ drac.interval = 0;
++ syslog(LOG_ERR, "dracconn: %s", err);
++ syslog(LOG_ERR, "DRAC notifications disabled");
++ }
++ }
++#endif /* DRAC_AUTH */
++
+ /* create connection to the SNMP listener, if available. */
+ snmp_connect(); /* ignore return code */
+ snmp_set_str(SERVER_NAME_VERSION,CYRUS_VERSION);
+@@ -741,6 +770,15 @@ int service_main(int argc __attribute__(
+ imapd_haveaddr = 1;
+ }
+ }
++
++#ifdef DRAC_AUTH
++ if (((struct sockaddr *)&imapd_remoteaddr)->sa_family == AF_INET)
++ drac.clientaddr = ((struct sockaddr_in *)&imapd_remoteaddr)->sin_addr.s_addr;
++ else
++ drac.clientaddr = 0;
++ } else {
++ drac.clientaddr = 0;
++#endif /* DRAC_AUTH */
+ }
+
+ /* create the SASL connection */
+@@ -783,6 +821,11 @@ int service_main(int argc __attribute__(
+ prot_flush(imapd_out);
+ snmp_increment(ACTIVE_CONNECTIONS, -1);
+
++#ifdef DRAC_AUTH
++ if (drac.event) prot_removewaitevent(imapd_in, drac.event);
++ drac.event = NULL;
++#endif /* DRAC_AUTH */
++
+ /* cleanup */
+ imapd_reset();
+
+@@ -873,6 +916,10 @@ void shut_down(int code)
+
+ cyrus_done();
+
++#ifdef DRAC_AUTH
++ if (drac.interval) (void) dracdisc((char **)NULL);
++#endif /* DRAC_AUTH */
++
+ exit(code);
+ }
+
+@@ -932,6 +979,35 @@ static void imapd_check(struct backend *
+ }
+ }
+
++#ifdef DRAC_AUTH
++/*
++ * Ping dracd every 'drac.interval' minutes
++ * to let it know that we are still connected
++ */
++struct prot_waitevent *drac_ping(struct protstream *s,
++ struct prot_waitevent *ev, void *rock)
++{
++ char *err;
++ static int nfailure = 0;
++
++ if (dracsend(drac.clientaddr, &err) != 0) {
++ syslog(LOG_ERR, "dracsend: %s", err);
++ if (++nfailure >= 3) {
++ /* can't contact dracd for 3 consecutive tries - disable DRAC */
++ prot_removewaitevent(s, ev);
++ drac.event = NULL;
++ syslog(LOG_ERR, "DRAC notifications disabled");
++ return NULL;
++ }
++ }
++ else
++ nfailure = 0;
++
++ ev->mark = time(NULL) + (drac.interval * 60);
++ return ev;
++}
++#endif /* DRAC_AUTH */
++
+ /*
+ * Top-level command loop parsing
+ */
+@@ -2030,6 +2106,11 @@ void cmd_login(char *tag, char *user)
+
+ prot_printf(imapd_out, "%s OK %s\r\n", tag, reply);
+
++#ifdef DRAC_AUTH
++ if (drac.interval && drac.clientaddr)
++ drac.event = prot_addwaitevent(imapd_in, 0 /* now */, drac_ping, NULL);
++#endif /* DRAC_AUTH */
++
+ /* Create telemetry log */
+ imapd_logfd = telemetry_log(imapd_userid, imapd_in, imapd_out, 0);
+
+@@ -2178,6 +2259,11 @@ cmd_authenticate(char *tag, char *authty
+
+ prot_setsasl(imapd_in, imapd_saslconn);
+ prot_setsasl(imapd_out, imapd_saslconn);
++
++#ifdef DRAC_AUTH
++ if (drac.interval && drac.clientaddr)
++ drac.event = prot_addwaitevent(imapd_in, 0 /* now */, drac_ping, NULL);
++#endif /* DRAC_AUTH */
+
+ /* Create telemetry log */
+ imapd_logfd = telemetry_log(imapd_userid, imapd_in, imapd_out, 0);
+Index: imap/pop3d.c
+diff -u -p imap/pop3d.c.orig imap/pop3d.c
+--- imap/pop3d.c.orig Sat Jun 4 08:07:46 2005
++++ imap/pop3d.c Sat Dec 10 16:16:16 2005
+@@ -103,6 +103,10 @@ extern char *optarg;
+ extern int opterr;
+
+
++#ifdef DRAC_AUTH
++static int drac_enabled;
++extern int dracauth(char *server, unsigned long userip, char **errmsg);
++#endif /* DRAC_AUTH */
+
+ #ifdef HAVE_SSL
+ static SSL *tls_conn;
+@@ -507,6 +511,10 @@ int service_main(int argc __attribute__(
+ prot_settimeout(popd_in, timeout*60);
+ prot_setflushonread(popd_in, popd_out);
+
++#ifdef DRAC_AUTH
++ drac_enabled = (config_getint(IMAPOPT_DRACINTERVAL) > 0);
++#endif /* DRAC_AUTH */
++
+ if (kflag) kpop();
+
+ /* we were connected on pop3s port so we should do
+@@ -1636,6 +1644,21 @@ int openinbox(void)
+ popd_mailbox = &mboxstruct;
+ proc_register("pop3d", popd_clienthost, popd_userid,
+ popd_mailbox->name);
++
++#ifdef DRAC_AUTH
++ if (drac_enabled &&
++ ((struct sockaddr *)&popd_remoteaddr)->sa_family == AF_INET) {
++ char *err;
++
++ if (dracauth((char*) config_getstring(IMAPOPT_DRACHOST),
++ ((struct sockaddr_in *)&popd_remoteaddr)->sin_addr.s_addr, &err) != 0) {
++ /* disable DRAC */
++ drac_enabled = 0;
++ syslog(LOG_ERR, "dracauth: %s", err);
++ syslog(LOG_ERR, "DRAC notifications disabled");
++ }
++ }
++#endif /* DRAC_AUTH */
+ }
+
+ /* Create telemetry log */
+Index: imap/version.c
+diff -u -p imap/version.c.orig imap/version.c
+--- imap/version.c.orig Thu Feb 17 06:06:19 2005
++++ imap/version.c Sat Dec 10 16:16:16 2005
+@@ -151,6 +151,10 @@ void id_response(struct protstream *pout
+ snprintf(env_buf + strlen(env_buf), MAXIDVALUELEN - strlen(env_buf),
+ "; %s", SIEVE_VERSION);
+ #endif
++#ifdef DRAC_AUTH
++ snprintf(env_buf + strlen(env_buf), MAXIDVALUELEN - strlen(env_buf),
++ "; DRAC");
++#endif
+ #ifdef HAVE_LIBWRAP
+ snprintf(env_buf + strlen(env_buf), MAXIDVALUELEN - strlen(env_buf),
+ "; TCP Wrappers");
+Index: lib/imapoptions
+diff -u lib/imapoptions.orig lib/imapoptions
+--- lib/imapoptions.orig Fri Nov 18 00:46:29 2005
++++ lib/imapoptions Sat Dec 10 16:19:44 2005
+@@ -195,6 +195,14 @@
+ { "deleteright", "c", STRING }
+ /* The right that a user needs to delete a mailbox. */
+
++{ "dracinterval", 5, INT }
++/* If nonzero, enables the use of DRAC (Dynamic Relay Authorization
++ Control) by the pop3d and imapd daemons. Also sets the interval
++ (in minutes) between re-authorization requests made by imapd. */
++
++{ "drachost", "localhost", STRING }
++/* Hostname of the RPC dracd server. */
++
+ { "duplicate_db", "berkeley-nosync", STRINGLIST("berkeley", "berkeley-nosync", "skiplist") }
+ /* The cyrusdb backend to use for the duplicate delivery suppression
+ and sieve. */
diff --git a/mail/cyrus-imapd24/files/extra-patch-aclocal.m4 b/mail/cyrus-imapd24/files/extra-patch-aclocal.m4
deleted file mode 100644
index 0a879438118..00000000000
--- a/mail/cyrus-imapd24/files/extra-patch-aclocal.m4
+++ /dev/null
@@ -1,51 +0,0 @@
-Index: aclocal.m4
-diff -u aclocal.m4.orig aclocal.m4
---- aclocal.m4.orig Wed Nov 24 03:55:40 2004
-+++ aclocal.m4 Wed Nov 24 15:39:52 2004
-@@ -506,10 +506,11 @@
- fi
-
- saved_LIBS=$LIBS
-- for dbname in db-4.4 db4.4 db44 db-4.3 db4.3 db43 db-4.2 db4.2 db42 db-4.1 db4.1 db41 db-4.0 db4.0 db-4 db40 db4 db-3.3 db3.3 db33 db-3.2 db3.2 db32 db-3.1 db3.1 db31 db-3 db30 db3 db
-+ for dbname in ${with_bdb} db-4.4 db4.4 db44 db-4.3 db4.3 db43 db-4.2 db4.2 db42 db-4.1 db4.1 db41 db-4.0 db4.0 db-4 db40 db4 db-3.3 db3.3 db33 db-3.2 db3.2 db32 db-3.1 db3.1 db31 db-3 db30 db3 db
- do
- LIBS="$saved_LIBS -l$dbname"
-- AC_TRY_LINK([#include <db.h>],
-+ AC_TRY_LINK([#include <stdio.h>
-+#include <db.h>],
- [db_create(NULL, NULL, 0);],
- BDB_LIBADD="$BDB_LIBADD -l$dbname"; dblib="berkeley"; dbname=db,
- dblib="no")
-@@ -517,7 +518,8 @@
- done
- if test "$dblib" = "no"; then
- LIBS="$saved_LIBS -ldb"
-- AC_TRY_LINK([#include <db.h>],
-+ AC_TRY_LINK([#include <stdio.h>
-+#include <db.h>],
- [db_open(NULL, 0, 0, 0, NULL, NULL, NULL);],
- BDB_LIBADD="$BDB_LIBADD -ldb"; dblib="berkeley"; dbname=db,
- dblib="no")
-@@ -1820,9 +1822,12 @@
-
- if test -n "$SNMP_LIBS" && test -n "$SNMP_PREFIX"; then
- CPPFLAGS="$CPPFLAGS -I${SNMP_PREFIX}/include"
-- LIB_UCDSNMP=$SNMP_LIBS
-+ LIB_UCDSNMP="$SNMP_LIBS -lwrap"
-+ PERLLIBDIR=`$PERL -e 'use Config; print "$Config{archlibexp}/CORE";'`
-+ LDFLAGS_UCDSNMP="-L${PERLLIBDIR} -R${PERLLIBDIR}"
- AC_DEFINE(HAVE_NETSNMP,1,[Do we have Net-SNMP support?])
- AC_SUBST(LIB_UCDSNMP)
-+ AC_SUBST(LDFLAGS_UCDSNMP)
- AC_MSG_RESULT(yes)
- else
- AC_MSG_RESULT(no)
-@@ -1848,7 +1853,7 @@
- LIB_UCDSNMP=""
- if test "$with_snmp" != no; then
- AC_DEFINE(HAVE_UCDSNMP,1,[Do we have UCD-SNMP support?])
-- LIB_UCDSNMP="-lucdagent -lucdmibs -lsnmp"
-+ LIB_UCDSNMP="-lucdagent -lucdmibs -lsnmp -lkvm -ldevstat -lwrap"
- AC_CHECK_LIB(rpm, rpmdbOpen,
- LIB_UCDSNMP="${LIB_UCDSNMP} -lrpm -lpopt",,-lpopt)
- fi
diff --git a/mail/cyrus-imapd24/files/extra-patch-cmulocal::berkdb.m4 b/mail/cyrus-imapd24/files/extra-patch-cmulocal::berkdb.m4
new file mode 100644
index 00000000000..72e3b641475
--- /dev/null
+++ b/mail/cyrus-imapd24/files/extra-patch-cmulocal::berkdb.m4
@@ -0,0 +1,28 @@
+Index: cmulocal/berkdb.m4
+diff -u cmulocal/berkdb.m4.orig cmulocal/berkdb.m4
+--- cmulocal/berkdb.m4.orig Sat Nov 27 06:41:58 2004
++++ cmulocal/berkdb.m4 Sat Dec 10 16:28:44 2005
+@@ -212,10 +212,11 @@
+ fi
+
+ saved_LIBS=$LIBS
+- for dbname in db-4.2 db4.2 db42 db-4.1 db4.1 db41 db-4.0 db4.0 db-4 db40 db4 db-3.3 db3.3 db33 db-3.2 db3.2 db32 db-3.1 db3.1 db31 db-3 db30 db3 db
++ for dbname in ${with_bdb} db-4.2 db4.2 db42 db-4.1 db4.1 db41 db-4.0 db4.0 db-4 db40 db4 db-3.3 db3.3 db33 db-3.2 db3.2 db32 db-3.1 db3.1 db31 db-3 db30 db3 db
+ do
+ LIBS="$saved_LIBS -l$dbname"
+- AC_TRY_LINK([#include <db.h>],
++ AC_TRY_LINK([#include <stdio.h>
++#include <db.h>],
+ [db_create(NULL, NULL, 0);],
+ BDB_LIBADD="$BDB_LIBADD -l$dbname"; dblib="berkeley"; dbname=db,
+ dblib="no")
+@@ -223,7 +224,8 @@
+ done
+ if test "$dblib" = "no"; then
+ LIBS="$saved_LIBS -ldb"
+- AC_TRY_LINK([#include <db.h>],
++ AC_TRY_LINK([#include <stdio.h>
++#include <db.h>],
+ [db_open(NULL, 0, 0, 0, NULL, NULL, NULL);],
+ BDB_LIBADD="$BDB_LIBADD -ldb"; dblib="berkeley"; dbname=db,
+ dblib="no")
diff --git a/mail/cyrus-imapd24/files/extra-patch-cmulocal::ucdsnmp.m4 b/mail/cyrus-imapd24/files/extra-patch-cmulocal::ucdsnmp.m4
new file mode 100644
index 00000000000..829d92d2358
--- /dev/null
+++ b/mail/cyrus-imapd24/files/extra-patch-cmulocal::ucdsnmp.m4
@@ -0,0 +1,27 @@
+Index: cmulocal/ucdsnmp.m4
+diff -u cmulocal/ucdsnmp.m4.orig cmulocal/ucdsnmp.m4
+--- cmulocal/ucdsnmp.m4.orig Tue May 25 10:27:58 2004
++++ cmulocal/ucdsnmp.m4 Sat Dec 10 16:34:09 2005
+@@ -31,9 +31,12 @@
+
+ if test -n "$SNMP_LIBS" && test -n "$SNMP_PREFIX"; then
+ CPPFLAGS="$CPPFLAGS -I${SNMP_PREFIX}/include"
+- LIB_UCDSNMP=$SNMP_LIBS
++ LIB_UCDSNMP="$SNMP_LIBS -lwrap"
++ PERLLIBDIR=`$PERL -e 'use Config; print "$Config{archlibexp}/CORE";'`
++ LDFLAGS_UCDSNMP="-L${PERLLIBDIR} -R${PERLLIBDIR}"
+ AC_DEFINE(HAVE_NETSNMP,1,[Do we have Net-SNMP support?])
+ AC_SUBST(LIB_UCDSNMP)
++ AC_SUBST(LDFLAGS_UCDSNMP)
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
+@@ -59,7 +62,7 @@
+ LIB_UCDSNMP=""
+ if test "$with_snmp" != no; then
+ AC_DEFINE(HAVE_UCDSNMP,1,[Do we have UCD-SNMP support?])
+- LIB_UCDSNMP="-lucdagent -lucdmibs -lsnmp"
++ LIB_UCDSNMP="-lucdagent -lucdmibs -lsnmp -lkvm -ldevstat -lwrap"
+ AC_CHECK_LIB(rpm, rpmdbOpen,
+ LIB_UCDSNMP="${LIB_UCDSNMP} -lrpm -lpopt",,-lpopt)
+ fi
diff --git a/mail/cyrus-imapd24/files/patch-aa b/mail/cyrus-imapd24/files/patch-aa
deleted file mode 100644
index 1438b30aa60..00000000000
--- a/mail/cyrus-imapd24/files/patch-aa
+++ /dev/null
@@ -1,21 +0,0 @@
-Index: man/Makefile.in
-diff -u man/Makefile.in.orig man/Makefile.in
---- man/Makefile.in.orig Wed Mar 31 00:18:41 2004
-+++ man/Makefile.in Wed May 19 01:52:50 2004
-@@ -50,6 +50,7 @@
- SHELL = /bin/sh
-
- prefix = @prefix@
-+cyrus_prefix = @cyrus_prefix@
-
- mandir = @mandir@
-
-@@ -93,7 +94,7 @@
- done
- for file in $(MAN8); \
- do \
-- $(INSTALL) -m 644 $$file $(DESTDIR)$(mandir)/man8 || exit 1; \
-+ $(INSTALL) -m 644 $$file $(DESTDIR)$(cyrus_prefix)/man/man8 || exit 1; \
- done
-
- clean:
diff --git a/mail/cyrus-imapd24/files/patch-bc b/mail/cyrus-imapd24/files/patch-bc
deleted file mode 100644
index df4b302b309..00000000000
--- a/mail/cyrus-imapd24/files/patch-bc
+++ /dev/null
@@ -1,33 +0,0 @@
-Index: imap/Makefile.in
-diff -u imap/Makefile.in.orig imap/Makefile.in
---- imap/Makefile.in.orig Wed Nov 12 13:02:01 2003
-+++ imap/Makefile.in Thu Mar 11 01:16:00 2004
-@@ -132,10 +132,10 @@
-
-
- install:
-- $(srcdir)/../install-sh -d ${DESTDIR}$(service_path)
-+ $(INSTALL) -d ${DESTDIR}$(service_path)
- for file in $(PROGS); \
- do \
-- $(INSTALL) -m 755 $$file $(DESTDIR)$(service_path) || exit 1; \
-+ $(INSTALL) -s -m 755 $$file $(DESTDIR)$(service_path) || exit 1; \
- done
- ln -f $(DESTDIR)$(service_path)/pop3d $(DESTDIR)$(service_path)/pop3proxyd
-
-@@ -242,13 +242,13 @@
- $(CC) $(LDFLAGS) -o mupdate \
- $(SERVICETHREAD) mupdate.o mupdate-slave.o mupdate-client.o \
- mutex_pthread.o tls.o libimap.a \
-- $(DEPLIBS) $(LIBS) $(LIB_WRAP) -lpthread
-+ $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(PTHREAD_LIBS)
-
- mupdate.pure: mupdate.o mupdate-slave.o mupdate-client.o mutex_pthread.o \
- libimap.a $(DEPLIBS)
- $(PURIFY) $(PUREOPT) $(CC) $(LDFLAGS) -o mupdate.pure \
- $(SERVICETHREAD) mupdate.o mupdate-slave.o mupdate-client.o \
-- mutex_pthread.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) -lpthread
-+ mutex_pthread.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(PTHREAD_LIBS)
-
- pop3d: pop3d.o backend.o tls.o mutex_fake.o libimap.a $(DEPLIBS) $(SERVICE)
- $(CC) $(LDFLAGS) -o pop3d pop3d.o backend.o tls.o $(SERVICE) \
diff --git a/mail/cyrus-imapd24/files/patch-ac b/mail/cyrus-imapd24/files/patch-configure
index 146e5676670..b88c0c0e0cd 100644
--- a/mail/cyrus-imapd24/files/patch-ac
+++ b/mail/cyrus-imapd24/files/patch-configure
@@ -1,25 +1,25 @@
Index: configure
diff -u configure.orig configure
---- configure.orig Tue Feb 15 02:59:46 2005
-+++ configure Thu Feb 24 04:45:06 2005
-@@ -309,6 +309,7 @@
+--- configure.orig Tue Dec 6 01:00:41 2005
++++ configure Sat Dec 10 14:01:36 2005
+@@ -310,6 +310,7 @@
#endif"
- ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os MAKEDEPEND cyrus_prefix service_path cyrus_user cyrus_group CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT RANLIB ac_ct_RANLIB SET_MAKE INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CPP EGREP AWK LIBOBJS LIB_SOCKET IPV6_OBJS PRE_SUBDIRS EXTRA_SUBDIRS DEPLIBS LOCALDEFS WITH_AUTH BDB_INC BDB_LIB CYRUSDB_OBJS SIEVE_OBJS SIEVE_LIBS SIEVE_CPPFLAGS YACC LEX LEXLIB LEX_OUTPUT_ROOT SIEVE_SUBDIRS WITH_NONBLOCK WITH_GMTOFF WITH_MAP WITH_LOCK cyrus_sigveclib WITH_PTS AFS_LIBS AFS_LDFLAGS LDAP_CPPFLAGS LDAP_LDFLAGS LDAP_LIBS SERVER_SUBDIRS OPENSSL_INC OPENSSL_LIB ZEPHYR_LIBS ZEPHYR_CPPFLAGS WITH_IDLE IMAP_PROGS COMPILE_ET COM_ERR_LIBS COM_ERR_LDFLAGS COM_ERR_CPPFLAGS LIB_CRYPT GSSAPI_LIBS GSSAPIBASE_LIBS LIB_DYN_SASL DYNSASLFLAGS LIB_SASL SASLFLAGS PERL PERL_CCCDLFLAGS MD5OBJ SNMP_SUBDIRS LIB_WRAP SNMP_CONFIG LIB_UCDSNMP LIB_RT IMAP_COM_ERR_LIBS IMAP_LIBS PERL_SUBDIRS PERL_DEPSUBDIRS LTLIBOBJS'
+ ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os MAKEDEPEND cyrus_prefix service_path cyrus_user cyrus_group CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT RANLIB ac_ct_RANLIB SET_MAKE INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CPP EGREP AWK LIBOBJS LIB_SOCKET IPV6_OBJS PRE_SUBDIRS EXTRA_SUBDIRS DEPLIBS LOCALDEFS BDB_INC BDB_LIB CYRUSDB_OBJS SIEVE_OBJS SIEVE_LIBS SIEVE_CPPFLAGS YACC LEX LEXLIB LEX_OUTPUT_ROOT SIEVE_SUBDIRS WITH_NONBLOCK WITH_GMTOFF WITH_MAP WITH_LOCK cyrus_sigveclib AFS_LIBS AFS_LDFLAGS LDAP_CPPFLAGS LDAP_LDFLAGS LDAP_LIBS SERVER_SUBDIRS OPENSSL_INC OPENSSL_LIB ZEPHYR_LIBS ZEPHYR_CPPFLAGS IMAP_PROGS COMPILE_ET COM_ERR_LIBS COM_ERR_LDFLAGS COM_ERR_CPPFLAGS LIB_CRYPT GSSAPI_LIBS GSSAPIBASE_LIBS LIB_DYN_SASL DYNSASLFLAGS LIB_SASL SASLFLAGS PERL PERL_CCCDLFLAGS MD5OBJ SNMP_SUBDIRS LIB_WRAP SNMP_CONFIG LIB_UCDSNMP LIB_RT IMAP_COM_ERR_LIBS IMAP_LIBS PERL_SUBDIRS PERL_DEPSUBDIRS LTLIBOBJS'
+ac_subst_vars="${ac_subst_vars} LDFLAGS_UCDSNMP"
ac_subst_files=''
# Initialize some variables set by options.
-@@ -6612,7 +6613,7 @@
+@@ -8776,7 +8777,7 @@
fi
saved_LIBS=$LIBS
-- for dbname in db-4.4 db4.4 db44 db-4.3 db4.3 db43 db-4.2 db4.2 db42 db-4.1 db4.1 db41 db-4.0 db4.0 db-4 db40 db4 db-3.3 db3.3 db33 db-3.2 db3.2 db32 db-3.1 db3.1 db31 db-3 db30 db3 db
-+ for dbname in ${with_bdb} db-4.4 db4.4 db44 db-4.3 db4.3 db43 db-4.2 db4.2 db42 db-4.1 db4.1 db41 db-4.0 db4.0 db-4 db40 db4 db-3.3 db3.3 db33 db-3.2 db3.2 db32 db-3.1 db3.1 db31 db-3 db30 db3 db
+- for dbname in db-4.2 db4.2 db42 db-4.1 db4.1 db41 db-4.0 db4.0 db-4 db40 db4 db-3.3 db3.3 db33 db-3.2 db3.2 db32 db-3.1 db3.1 db31 db-3 db30 db3 db
++ for dbname in ${with_bdb} db-4.2 db4.2 db42 db-4.1 db4.1 db41 db-4.0 db4.0 db-4 db40 db4 db-3.3 db3.3 db33 db-3.2 db3.2 db32 db-3.1 db3.1 db31 db-3 db30 db3 db
do
LIBS="$saved_LIBS -l$dbname"
cat >conftest.$ac_ext <<_ACEOF
-@@ -6622,6 +6623,7 @@
+@@ -8785,6 +8786,7 @@
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
@@ -27,7 +27,7 @@ diff -u configure.orig configure
#include <db.h>
int
main ()
-@@ -13549,6 +13551,7 @@
+@@ -16659,6 +16661,7 @@
EXTRA_SUBDIRS="${EXTRA_SUBDIRS} perl"
PERL_SUBDIRS="imap"
PERL="${with_perl}"
@@ -35,7 +35,7 @@ diff -u configure.orig configure
PERL_CCCDLFLAGS="$cccdlflags"
fi
-@@ -14067,7 +14070,9 @@
+@@ -17233,7 +17236,9 @@
if test -n "$SNMP_LIBS" && test -n "$SNMP_PREFIX"; then
CPPFLAGS="$CPPFLAGS -I${SNMP_PREFIX}/include"
@@ -46,7 +46,7 @@ diff -u configure.orig configure
cat >>confdefs.h <<\_ACEOF
#define HAVE_NETSNMP 1
-@@ -14298,7 +14303,7 @@
+@@ -17482,7 +17487,7 @@
#define HAVE_UCDSNMP 1
_ACEOF
@@ -55,7 +55,7 @@ diff -u configure.orig configure
echo "$as_me:$LINENO: checking for rpmdbOpen in -lrpm" >&5
echo $ECHO_N "checking for rpmdbOpen in -lrpm... $ECHO_C" >&6
if test "${ac_cv_lib_rpm_rpmdbOpen+set}" = set; then
-@@ -15114,6 +15119,7 @@
+@@ -18306,6 +18311,7 @@
s,@LIB_WRAP@,$LIB_WRAP,;t t
s,@SNMP_CONFIG@,$SNMP_CONFIG,;t t
s,@LIB_UCDSNMP@,$LIB_UCDSNMP,;t t
diff --git a/mail/cyrus-imapd24/files/patch-df b/mail/cyrus-imapd24/files/patch-df
deleted file mode 100644
index 69a0841343e..00000000000
--- a/mail/cyrus-imapd24/files/patch-df
+++ /dev/null
@@ -1,14 +0,0 @@
-Index: master/service.c
-diff -u master/service.c.orig master/service.c
---- master/service.c.orig Wed Jan 22 22:52:36 2003
-+++ master/service.c Wed Jan 22 22:57:20 2003
-@@ -102,6 +102,9 @@
- struct sockaddr_storage sin;
- socklen_t len = sizeof(sin);
-
-+ /* XXX: old FreeBSD didn't fill sockaddr correctly against AF_UNIX */
-+ sin.ss_family = AF_UNIX;
-+
- /* is this a connection from the local host? */
- if (getpeername(fd, (struct sockaddr *) &sin, &len) == 0) {
- if (((struct sockaddr *)&sin)->sa_family == AF_UNIX) {
diff --git a/mail/cyrus-imapd24/files/patch-imap::Makefile.in b/mail/cyrus-imapd24/files/patch-imap::Makefile.in
new file mode 100644
index 00000000000..cbc2f0d0024
--- /dev/null
+++ b/mail/cyrus-imapd24/files/patch-imap::Makefile.in
@@ -0,0 +1,60 @@
+Index: imap/Makefile.in
+diff -u imap/Makefile.in.orig imap/Makefile.in
+--- imap/Makefile.in.orig Fri Nov 18 00:46:14 2005
++++ imap/Makefile.in Sat Dec 10 16:46:31 2005
+@@ -130,10 +130,10 @@
+
+
+ install:
+- $(srcdir)/../install-sh -d ${DESTDIR}$(service_path)
++ $(INSTALL) -d ${DESTDIR}$(service_path)
+ for file in $(PROGS); \
+ do \
+- $(INSTALL) -m 755 $$file $(DESTDIR)$(service_path) || exit 1; \
++ $(INSTALL) -s -m 755 $$file $(DESTDIR)$(service_path) || exit 1; \
+ done
+ ln -f $(DESTDIR)$(service_path)/pop3d $(DESTDIR)$(service_path)/pop3proxyd
+ ln -f $(DESTDIR)$(service_path)/imapd $(DESTDIR)$(service_path)/proxyd
+@@ -219,13 +219,13 @@
+ $(CC) $(LDFLAGS) -o mupdate \
+ $(SERVICETHREAD) mupdate.o mupdate-slave.o mupdate-client.o \
+ mutex_pthread.o tls.o libimap.a \
+- $(DEPLIBS) $(LIBS) $(LIB_WRAP) -lpthread
++ $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(PTHREAD_LIBS)
+
+ mupdate.pure: mupdate.o mupdate-slave.o mupdate-client.o mutex_pthread.o \
+ libimap.a $(DEPLIBS)
+ $(PURIFY) $(PUREOPT) $(CC) $(LDFLAGS) -o mupdate.pure \
+ $(SERVICETHREAD) mupdate.o mupdate-slave.o mupdate-client.o \
+- mutex_pthread.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) -lpthread
++ mutex_pthread.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(PTHREAD_LIBS)
+
+ pop3d: pop3d.o proxy.o backend.o tls.o mutex_fake.o libimap.a \
+ $(DEPLIBS) $(SERVICE)
+@@ -247,10 +247,11 @@
+ $(DEPLIBS) $(LIBS) $(LIB_WRAP)
+
+ sync_server: sync_server.o sync_support.o sync_commit.o \
+- imapparse.o tls.o libimap.a mutex_fake.o $(DEPLIBS) $(SERVICE)
++ imapparse.o tls.o libimap.a mutex_fake.o mboxkey.o \
++ $(DEPLIBS) $(SERVICE)
+ $(CC) $(LDFLAGS) -o \
+ sync_server sync_server.o sync_support.o sync_commit.o \
+- imapparse.o tls.o $(SERVICE) libimap.a mutex_fake.o \
++ imapparse.o tls.o $(SERVICE) libimap.a mutex_fake.o mboxkey.o \
+ $(DEPLIBS) $(LIBS) $(LIB_WRAP)
+
+ ### Command Line Utilities
+@@ -336,10 +337,10 @@
+ backend.o tls.o imapparse.o libimap.a mutex_fake.o $(DEPLIBS) $(LIBS)
+
+ sync_reset: sync_reset.o sync_support.o sync_commit.o \
+- libimap.a mutex_fake.o $(DEPLIBS)
++ libimap.a mutex_fake.o mboxkey.o $(DEPLIBS)
+ $(CC) $(LDFLAGS) -o \
+ sync_reset sync_reset.o sync_support.o sync_commit.o \
+- libimap.a mutex_fake.o $(DEPLIBS) $(LIBS)
++ libimap.a mutex_fake.o mboxkey.o $(DEPLIBS) $(LIBS)
+
+ ### Other Misc Targets
+
diff --git a/mail/cyrus-imapd24/files/patch-man::Makefile.in b/mail/cyrus-imapd24/files/patch-man::Makefile.in
new file mode 100644
index 00000000000..853e6ec5bd3
--- /dev/null
+++ b/mail/cyrus-imapd24/files/patch-man::Makefile.in
@@ -0,0 +1,30 @@
+Index: man/Makefile.in
+diff -u man/Makefile.in.orig man/Makefile.in
+--- man/Makefile.in.orig Wed May 11 00:02:35 2005
++++ man/Makefile.in Sat Dec 10 15:26:05 2005
+@@ -50,6 +50,7 @@
+ SHELL = /bin/sh
+
+ prefix = @prefix@
++cyrus_prefix = @cyrus_prefix@
+
+ mandir = @mandir@
+
+@@ -68,7 +69,7 @@
+ $(srcdir)/notifyd.8 $(srcdir)/chk_cyrus.8 $(srcdir)/mbexamine.8 \
+ $(srcdir)/nntpd.8 $(srcdir)/fetchnews.8 $(srcdir)/smmapd.8 \
+ $(srcdir)/sync_client.8 $(srcdir)/sync_server.8 $(srcdir)/sync_reset.8 \
+- $(srcdir)/unexpunge.8
++ $(srcdir)/unexpunge.8 $(srcdir)/make_md5.8
+
+ all: $(MAN1) $(MAN3) $(MAN5) $(MAN8)
+
+@@ -95,7 +96,7 @@
+ done
+ for file in $(MAN8); \
+ do \
+- $(INSTALL) -m 644 $$file $(DESTDIR)$(mandir)/man8 || exit 1; \
++ $(INSTALL) -m 644 $$file $(DESTDIR)$(cyrus_prefix)/man/man8 || exit 1; \
+ done
+
+ clean:
diff --git a/mail/cyrus-imapd24/files/patch-master::service-thread.c b/mail/cyrus-imapd24/files/patch-master::service-thread.c
deleted file mode 100644
index 9a2016c3c64..00000000000
--- a/mail/cyrus-imapd24/files/patch-master::service-thread.c
+++ /dev/null
@@ -1,14 +0,0 @@
-Index: master/service-thread.c
-diff -u master/service-thread.c.orig master/service-thread.c
---- master/service-thread.c.orig Wed Jan 22 22:52:36 2003
-+++ master/service-thread.c Wed Jan 22 23:09:52 2003
-@@ -99,6 +99,9 @@
- struct sockaddr_storage sin;
- socklen_t len = sizeof(sin);
-
-+ /* XXX: old FreeBSD didn't fill sockaddr correctly against AF_UNIX */
-+ sin.ss_family = AF_UNIX;
-+
- /* is this a connection from the local host? */
- if (getpeername(fd, (struct sockaddr *) &sin, &len) == 0) {
- if (((struct sockaddr *)&sin)->sa_family == AF_UNIX) {
diff --git a/mail/cyrus-imapd24/files/patch-dg b/mail/cyrus-imapd24/files/patch-tools::mkimap
index 80dc928b96d..9ee1539e377 100644
--- a/mail/cyrus-imapd24/files/patch-dg
+++ b/mail/cyrus-imapd24/files/patch-tools::mkimap
@@ -1,18 +1,18 @@
Index: tools/mkimap
diff -u tools/mkimap.orig tools/mkimap
---- tools/mkimap.orig Wed Jun 30 03:16:54 2004
-+++ tools/mkimap Tue Jul 27 04:47:43 2004
-@@ -61,6 +61,9 @@
+--- tools/mkimap.orig Fri Dec 2 07:30:22 2005
++++ tools/mkimap Sat Dec 10 14:08:11 2005
+@@ -90,6 +90,9 @@
$imapdconf = shift || "/etc/imapd.conf";
+$cyrus_user = $ENV{CYRUS_USER} || "%%CYRUS_USER%%";
+$cyrus_group = $ENV{CYRUS_GROUP} || "%%CYRUS_GROUP%%";
+
- open CONF, $imapdconf or die "can't open $imapdconf";
- print "reading configure file...\n";
- while (<CONF>) {
-@@ -86,6 +89,7 @@
+ push @configs, $imapdconf;
+
+ while ($conf = shift @configs) {
+@@ -100,6 +103,7 @@
print "configuring $d...\n";
@@ -20,9 +20,9 @@ diff -u tools/mkimap.orig tools/mkimap
chdir $d or die "couldn't change to $d";
mkdir "proc", 0755 || warn "can't create $d/proc: $!";
-@@ -95,11 +99,14 @@
- mkdir "msg", 0755 || warn "can't create $d/msg: $!";
+@@ -110,12 +114,15 @@
mkdir "ptclient", 0755 || warn "can't create $d/ptclient: $!";
+ mkdir "sync", 0755 || warn "can't create $d/sync: $!";
+system "/usr/sbin/chown -R $cyrus_user:$cyrus_group .";
+
@@ -31,6 +31,7 @@ diff -u tools/mkimap.orig tools/mkimap
mkdir $part, 0755 || warn "can't create $part: $!";
chdir $part or die "couldn't change to partition $part";
mkdir "stage.", 0755 || warn "can't create $part/stage.: $!";
+ mkdir "sync.", 0755 || warn "can't create $part/sync.: $!";
+ system "/usr/sbin/chown -R $cyrus_user:$cyrus_group $part";
}
diff --git a/mail/cyrus-imapd24/pkg-plist b/mail/cyrus-imapd24/pkg-plist
index f62a19ad16e..c66270b2e37 100644
--- a/mail/cyrus-imapd24/pkg-plist
+++ b/mail/cyrus-imapd24/pkg-plist
@@ -8,6 +8,7 @@ bin/pop3test
bin/sieveshell
bin/sivtest
bin/smtptest
+bin/synctest
cyrus/bin/arbitron
cyrus/bin/chk_cyrus
cyrus/bin/ctl_cyrusdb
@@ -23,7 +24,7 @@ cyrus/bin/fud
cyrus/bin/imapd
cyrus/bin/ipurge
cyrus/bin/lmtpd
-%%MURDER%%cyrus/bin/lmtpproxyd
+%%REPLICATION%%cyrus/bin/make_md5
cyrus/bin/masssievec
cyrus/bin/master
cyrus/bin/mbexamine
@@ -34,7 +35,7 @@ cyrus/bin/mkimap
cyrus/bin/notifyd
cyrus/bin/pop3d
cyrus/bin/pop3proxyd
-%%MURDER%%cyrus/bin/proxyd
+cyrus/bin/proxyd
%%LDAP_PTLOADER%%cyrus/bin/ptdump
%%LDAP_PTLOADER%%cyrus/bin/ptexpire
%%LDAP_PTLOADER%%cyrus/bin/ptloader
@@ -43,17 +44,23 @@ cyrus/bin/reconstruct
cyrus/bin/sievec
cyrus/bin/smmapd
cyrus/bin/squatter
+%%REPLICATION%%cyrus/bin/sync_client
+%%REPLICATION%%cyrus/bin/sync_reset
+%%REPLICATION%%cyrus/bin/sync_server
cyrus/bin/timsieved
cyrus/bin/tls_prune
+cyrus/bin/unexpunge
include/cyrus/acl.h
include/cyrus/assert.h
include/cyrus/auth.h
include/cyrus/bsearch.h
+include/cyrus/byteorder64.h
include/cyrus/charset.h
include/cyrus/cyrusdb.h
include/cyrus/glob.h
include/cyrus/gmtoff.h
include/cyrus/hash.h
+include/cyrus/hmac-md5.h
include/cyrus/imapopts.h
include/cyrus/imapurl.h
include/cyrus/imclient.h
@@ -64,6 +71,8 @@ include/cyrus/libcyr_cfg.h
include/cyrus/lock.h
include/cyrus/lsort.h
include/cyrus/map.h
+include/cyrus/md5.h
+include/cyrus/message_uuid.h
include/cyrus/mkgmtime.h
include/cyrus/mpool.h
include/cyrus/nonblock.h