aboutsummaryrefslogtreecommitdiffstats
path: root/mail
diff options
context:
space:
mode:
authorume <ume@FreeBSD.org>2003-03-29 22:57:01 +0800
committerume <ume@FreeBSD.org>2003-03-29 22:57:01 +0800
commit841103c998686d42202d34b191ef79c6801f9276 (patch)
tree11a1e15ccaf6d02dd27b58a1a18d737f605f63aa /mail
parentfdd8f94e9ec4d0f04dc0983a5f8daad5ace3e6b3 (diff)
downloadfreebsd-ports-gnome-841103c998686d42202d34b191ef79c6801f9276.tar.gz
freebsd-ports-gnome-841103c998686d42202d34b191ef79c6801f9276.tar.zst
freebsd-ports-gnome-841103c998686d42202d34b191ef79c6801f9276.zip
Add Cyrus IMAPd 2.2.0-ALPHA after repo copy.
Diffstat (limited to 'mail')
-rw-r--r--mail/cyrus-imapd22/Makefile105
-rw-r--r--mail/cyrus-imapd22/distinfo3
-rw-r--r--mail/cyrus-imapd22/files/drac_auth.patch308
-rw-r--r--mail/cyrus-imapd22/files/extra-patch-acconfig.h17
-rw-r--r--mail/cyrus-imapd22/files/extra-patch-aclocal.m422
-rw-r--r--mail/cyrus-imapd22/files/imapd.conf22
-rw-r--r--mail/cyrus-imapd22/files/patch-aa17
-rw-r--r--mail/cyrus-imapd22/files/patch-ah13
-rw-r--r--mail/cyrus-imapd22/files/patch-bc32
-rw-r--r--mail/cyrus-imapd22/files/patch-bd14
-rw-r--r--mail/cyrus-imapd22/files/patch-be13
-rw-r--r--mail/cyrus-imapd22/files/patch-config.h.in17
-rw-r--r--mail/cyrus-imapd22/files/patch-dc11
-rw-r--r--mail/cyrus-imapd22/files/patch-dd14
-rw-r--r--mail/cyrus-imapd22/files/patch-dg38
-rw-r--r--mail/cyrus-imapd22/files/patch-di13
-rw-r--r--mail/cyrus-imapd22/files/patch-lib::Makefile.in13
-rw-r--r--mail/cyrus-imapd22/files/patch-lib::imapoptions22
-rw-r--r--mail/cyrus-imapd22/files/patch-sieve::Makefile.in21
-rw-r--r--mail/cyrus-imapd22/pkg-plist21
-rw-r--r--mail/cyrus-imapd23/Makefile105
-rw-r--r--mail/cyrus-imapd23/distinfo3
-rw-r--r--mail/cyrus-imapd23/files/drac_auth.patch308
-rw-r--r--mail/cyrus-imapd23/files/extra-patch-acconfig.h17
-rw-r--r--mail/cyrus-imapd23/files/extra-patch-aclocal.m422
-rw-r--r--mail/cyrus-imapd23/files/imapd.conf22
-rw-r--r--mail/cyrus-imapd23/files/patch-aa17
-rw-r--r--mail/cyrus-imapd23/files/patch-ah13
-rw-r--r--mail/cyrus-imapd23/files/patch-bc32
-rw-r--r--mail/cyrus-imapd23/files/patch-bd14
-rw-r--r--mail/cyrus-imapd23/files/patch-be13
-rw-r--r--mail/cyrus-imapd23/files/patch-config.h.in17
-rw-r--r--mail/cyrus-imapd23/files/patch-dc11
-rw-r--r--mail/cyrus-imapd23/files/patch-dd14
-rw-r--r--mail/cyrus-imapd23/files/patch-dg38
-rw-r--r--mail/cyrus-imapd23/files/patch-di13
-rw-r--r--mail/cyrus-imapd23/files/patch-lib::Makefile.in13
-rw-r--r--mail/cyrus-imapd23/files/patch-lib::imapoptions22
-rw-r--r--mail/cyrus-imapd23/files/patch-sieve::Makefile.in21
-rw-r--r--mail/cyrus-imapd23/pkg-plist21
-rw-r--r--mail/cyrus-imapd24/Makefile105
-rw-r--r--mail/cyrus-imapd24/distinfo3
-rw-r--r--mail/cyrus-imapd24/files/drac_auth.patch308
-rw-r--r--mail/cyrus-imapd24/files/extra-patch-acconfig.h17
-rw-r--r--mail/cyrus-imapd24/files/extra-patch-aclocal.m422
-rw-r--r--mail/cyrus-imapd24/files/imapd.conf22
-rw-r--r--mail/cyrus-imapd24/files/patch-aa17
-rw-r--r--mail/cyrus-imapd24/files/patch-ah13
-rw-r--r--mail/cyrus-imapd24/files/patch-bc32
-rw-r--r--mail/cyrus-imapd24/files/patch-bd14
-rw-r--r--mail/cyrus-imapd24/files/patch-be13
-rw-r--r--mail/cyrus-imapd24/files/patch-config.h.in17
-rw-r--r--mail/cyrus-imapd24/files/patch-dc11
-rw-r--r--mail/cyrus-imapd24/files/patch-dd14
-rw-r--r--mail/cyrus-imapd24/files/patch-dg38
-rw-r--r--mail/cyrus-imapd24/files/patch-di13
-rw-r--r--mail/cyrus-imapd24/files/patch-lib::Makefile.in13
-rw-r--r--mail/cyrus-imapd24/files/patch-lib::imapoptions22
-rw-r--r--mail/cyrus-imapd24/files/patch-sieve::Makefile.in21
-rw-r--r--mail/cyrus-imapd24/pkg-plist21
60 files changed, 1704 insertions, 504 deletions
diff --git a/mail/cyrus-imapd22/Makefile b/mail/cyrus-imapd22/Makefile
index 4b3405e418f3..6aff5810e10b 100644
--- a/mail/cyrus-imapd22/Makefile
+++ b/mail/cyrus-imapd22/Makefile
@@ -6,15 +6,13 @@
#
PORTNAME= cyrus-imapd
-PORTVERSION= 2.1.12
+PORTVERSION= 2.2.0.a
#PORTREVISION= 0
+DISTNAME= ${PORTNAME}-2.2.0-ALPHA
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/
-PATCH_SITES= http://www.imasy.or.jp/~ume/ipv6/
-PATCHFILES= ${DISTNAME}-ipv6-20030204.diff.gz
-
MAINTAINER= ume@FreeBSD.org
COMMENT= The cyrus mail server, supporting POP3 and IMAP4 protocols
@@ -35,8 +33,15 @@ CONFIGURE_ARGS= --with-cyrus-prefix=${PREFIX}/cyrus \
--with-auth=unix \
--with-com_err
-.if defined(WITH_SKIPLIST_MBOX)
-CONFIGURE_ARGS+=--with-mboxlist-db=skiplist
+.if defined(WITHOUT_SKIPLIST)
+CONFIGURE_ARGS+=--with-mboxlist-db=berkeley --with-seen-db=flat
+.endif
+
+.if defined(WITH_NNTP)
+CONFIGURE_ARGS+=--enable-nntp
+PLIST_SUB+= NNTP=""
+.else
+PLIST_SUB+= NNTP="@comment "
.endif
.if defined(WITH_MURDER)
@@ -48,6 +53,30 @@ PLIST_SUB+= MURDER=""
PLIST_SUB+= MURDER="@comment "
.endif
+.if defined(WITH_FULLDIRHASH)
+CONFIGURE_ARGS+=--enable-fulldirhash
+.endif
+
+.if defined(WITH_LISTEXT)
+CONFIGURE_ARGS+=--enable-listext
+.endif
+
+.if defined(WITH_ANNOTATEMORE)
+CONFIGURE_ARGS+=--enable-annotatemore
+.endif
+
+.if defined(WITH_NETSCAPEHACK)
+CONFIGURE_ARGS+=--enable-netscapehack
+.endif
+
+.if defined(WITH_DRAC)
+EXTRA_PATCHES+= ${FILESDIR}/drac_auth.patch \
+ ${FILESDIR}/extra-patch-acconfig.h ${FILESDIR}/extra-patch-aclocal.m4
+USE_AUTOCONF= YES
+CONFIGURE_ARGS+=--with-drac=${LOCALBASE}
+BUILD_DEPENDS+= ${LOCALBASE}/lib/libdrac.a:${PORTSDIR}/mail/drac
+.endif
+
.if defined(WITH_SNMP)
# It seems not compilable due to lack of auto_nlist_value() in libucdagent.
LIB_DEPENDS+= netsnmp.5:${PORTSDIR}/net/net-snmp
@@ -60,21 +89,24 @@ CYRUS_USER?= cyrus
CYRUS_GROUP?= cyrus
MAN1= cyradm.1 imtest.1 installsieve.1 lmtptest.1 mupdatetest.1 \
- pop3test.1 sieveshell.1 sivtest.1 smtptest.1
+ nntptest.1 pop3test.1 sieveshell.1 sivtest.1 smtptest.1
MAN3= imclient.3
MAN5= cyrus.conf.5 imapd.conf.5 krb.equiv.5
-MAN8= arbitron.8 chk_cyrus.8 collectnews.8 ctl_cyrusdb.8 \
- ctl_deliver.8 ctl_mboxlist.8 cvt_cyrusdb.8 cyrquota.8 \
- deliver.8 fud.8 idled.8 imapd.8 ipurge.8 lmtpd.8 master.8 \
- mbpath.8 notifyd.8 pop3d.8 reconstruct.8 rmnews.8 \
- squatter.8 syncnews.8 timsieved.8 tls_prune.8
+MAN8= arbitron.8 chk_cyrus.8 nntpd.8 ctl_cyrusdb.8 ctl_deliver.8 \
+ ctl_mboxlist.8 cvt_cyrusdb.8 cyrquota.8 deliver.8 \
+ expirenews.8 fetchnews.8 fud.8 idled.8 imapd.8 ipurge.8 \
+ lmtpd.8 master.8 mbpath.8 notifyd.8 pop3d.8 reconstruct.8 \
+ rmnews.8 squatter.8 syncnews.8 timsieved.8 tls_prune.8
DOCS= altnamespace anoncvs bugs changes faq feedback index \
install install-admin-mb install-auth install-compile \
- install-configure install-murder install-perf \
- install-prereq install-sieve install-snmpmon install-testing \
- install-upgrade mailing-list man notes os overview questions \
- readme sieve sieve-protocol specs
+ 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
+
+DOCSDIR= ${PREFIX}/share/doc/cyrus-imapd22
PKGDEINSTALL= ${WRKDIR}/pkg-deinstall
PKGINSTALL= ${WRKDIR}/pkg-install
@@ -97,42 +129,49 @@ post-patch:
-e "s|%%CYRUS_USER%%|${CYRUS_USER}|g" \
-e "s|%%CYRUS_GROUP%%|${CYRUS_GROUP}|g" \
${WRKSRC}/tools/mkimap
+ @${REINPLACE_CMD} -e "s|/etc/|${PREFIX}/etc/|g" \
+ -e "s|/usr/sieve|/var/imap/sieve|g" \
+ ${WRKSRC}/tools/masssievec
@${CP} ${WRKSRC}/man/quota.8 ${WRKSRC}/man/cyrquota.8
.if ${PERL_LEVEL} < 500600
@${REINPLACE_CMD} -e "s|exec perl -x|exec perl -I${LOCALBASE}/lib/perl5/site_perl/${PERL_VER} -x|" \
${WRKSRC}/perl/sieve/scripts/sieveshell.pl
.endif
+.if defined(WITH_DRAC)
+pre-configure:
+ cd ${WRKSRC} && ${AUTOHEADER}
+.endif
+
post-install:
@${MV} ${PREFIX}/cyrus/bin/quota ${PREFIX}/cyrus/bin/cyrquota
.if !defined(NOPORTDOCS)
- ${MKDIR} ${PREFIX}/share/doc/cyrus-imapd2/man
- ${MKDIR} ${PREFIX}/share/doc/cyrus-imapd2/text
+ ${MKDIR} ${DOCSDIR}/man
+ ${MKDIR} ${DOCSDIR}/text
.for file in ${DOCS}
- ${INSTALL_DATA} ${WRKSRC}/doc/${file}.html \
- ${PREFIX}/share/doc/cyrus-imapd2
- @${ECHO} share/doc/cyrus-imapd2/${file}.html >>${TMPPLIST}
+ ${INSTALL_DATA} ${WRKSRC}/doc/${file}.html ${DOCSDIR}
+ @${ECHO} share/doc/cyrus-imapd22/${file}.html >>${TMPPLIST}
.endfor
.for file in ${MAN1} ${MAN3} ${MAN5} ${MAN8}
ofile=`echo ${file} | sed s/cyrquota/quota/`; \
if [ -f ${WRKSRC}/doc/man/$${ofile}.html ]; then \
${INSTALL_DATA} ${WRKSRC}/doc/man/$${ofile}.html \
- ${PREFIX}/share/doc/cyrus-imapd2/man/$${ofile}.html; \
- ${ECHO} share/doc/cyrus-imapd2/man/$${ofile}.html \
+ ${DOCSDIR}/man/$${ofile}.html; \
+ ${ECHO} share/doc/cyrus-imapd22/man/$${ofile}.html \
>>${TMPPLIST}; \
fi
.endfor
- ${INSTALL_DATA} ${WRKSRC}/doc/cyrusv2.mc \
- ${PREFIX}/share/doc/cyrus-imapd2
- @${ECHO} share/doc/cyrus-imapd2/cyrusv2.mc >>${TMPPLIST}
+.for file in cyrusv2.mc murder.png netnews.png
+ ${INSTALL_DATA} ${WRKSRC}/doc/${file} ${DOCSDIR}
+ @${ECHO} share/doc/cyrus-imapd22/${file} >>${TMPPLIST}
+.endfor
.for file in ${DOCS}
- ${INSTALL_DATA} ${WRKSRC}/doc/text/${file} \
- ${PREFIX}/share/doc/cyrus-imapd2/text
- @${ECHO} share/doc/cyrus-imapd2/text/${file} >>${TMPPLIST}
+ ${INSTALL_DATA} ${WRKSRC}/doc/text/${file} ${DOCSDIR}/text
+ @${ECHO} share/doc/cyrus-imapd22/text/${file} >>${TMPPLIST}
.endfor
- @${ECHO} "@dirrm share/doc/cyrus-imapd2/text" >>${TMPPLIST}
- @${ECHO} "@dirrm share/doc/cyrus-imapd2/man" >>${TMPPLIST}
- @${ECHO} "@dirrm share/doc/cyrus-imapd2" >>${TMPPLIST}
+ @${ECHO} "@dirrm share/doc/cyrus-imapd22/text" >>${TMPPLIST}
+ @${ECHO} "@dirrm share/doc/cyrus-imapd22/man" >>${TMPPLIST}
+ @${ECHO} "@dirrm share/doc/cyrus-imapd22" >>${TMPPLIST}
.endif
${INSTALL_SCRIPT} ${FILESDIR}/imapd.sh \
${PREFIX}/etc/rc.d/imapd.sh.sample
@@ -142,6 +181,8 @@ post-install:
${PREFIX}/etc/cyrus.conf.dist
${INSTALL_SCRIPT} ${WRKSRC}/tools/mkimap \
${PREFIX}/cyrus/bin/mkimap
+ ${INSTALL_SCRIPT} ${WRKSRC}/tools/masssievec \
+ ${PREFIX}/cyrus/bin/masssievec
@PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} \
POST-INSTALL
@${CAT} ${PKGMESSAGE}
diff --git a/mail/cyrus-imapd22/distinfo b/mail/cyrus-imapd22/distinfo
index b4732e5a5fb6..7df5b3151e0b 100644
--- a/mail/cyrus-imapd22/distinfo
+++ b/mail/cyrus-imapd22/distinfo
@@ -1,2 +1 @@
-MD5 (cyrus-imapd-2.1.12.tar.gz) = dc3355d0170509ccebd9788ed2daad39
-MD5 (cyrus-imapd-2.1.12-ipv6-20030204.diff.gz) = c4913b61d346b9b0422a6e0a5e5d0628
+MD5 (cyrus-imapd-2.2.0-ALPHA.tar.gz) = bf588d15288885602675d90439500e07
diff --git a/mail/cyrus-imapd22/files/drac_auth.patch b/mail/cyrus-imapd22/files/drac_auth.patch
new file mode 100644
index 000000000000..ec1ef5e99696
--- /dev/null
+++ b/mail/cyrus-imapd22/files/drac_auth.patch
@@ -0,0 +1,308 @@
+Index: acconfig.h
+diff -u acconfig.h.orig acconfig.h
+--- acconfig.h.orig Fri Feb 14 05:32:50 2003
++++ acconfig.h Fri Mar 21 20:13:20 2003
+@@ -98,6 +98,9 @@
+ /* do we have SASL support for APOP? */
+ #undef HAVE_APOP
+
++/* the Dynamic Relay Authorization Control package */
++#undef DRAC_AUTH
++
+ /* do we have OpenSSL? */
+ #undef HAVE_SSL
+
+Index: configure.in
+diff -u configure.in.orig configure.in
+--- configure.in.orig Wed Mar 19 04:15:14 2003
++++ configure.in Fri Mar 21 20:20:54 2003
+@@ -981,6 +981,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)
++ 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 Feb 28 03:10:28 2003
++++ imap/Makefile.in Fri Mar 21 20:23:02 2003
+@@ -67,6 +67,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@
+
+@@ -206,17 +207,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)
+
+ proxyd: $(PROXYDOBJS) mutex_fake.o libimap.a $(DEPLIBS) $(SERVICE)
+ $(CC) $(LDFLAGS) -o proxyd \
+@@ -242,7 +243,7 @@
+
+ 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) \
+- mutex_fake.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP)
++ mutex_fake.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(DRAC_LIBS)
+
+ nntpd: nntpd.o backend.o index.o spool.o netnews.o wildmat.o tls.o \
+ mutex_fake.o nntp_err.o libimap.a $(DEPLIBS) $(SERVICE)
+Index: imap/imapd.c
+diff -u imap/imapd.c.orig imap/imapd.c
+--- imap/imapd.c.orig Thu Mar 6 03:32:05 2003
++++ imap/imapd.c Fri Mar 21 23:25:27 2003
+@@ -126,6 +126,18 @@
+ 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;
+@@ -447,6 +459,23 @@
+ /* setup for sending IMAP IDLE notifications */
+ idle_enabled();
+
++#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);
+@@ -533,6 +562,15 @@
+ 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 */
+@@ -575,6 +613,11 @@
+ 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();
+
+@@ -645,6 +688,10 @@
+
+ cyrus_done();
+
++#ifdef DRAC_AUTH
++ if (drac.interval) (void) dracdisc((char **)NULL);
++#endif /* DRAC_AUTH */
++
+ exit(code);
+ }
+
+@@ -667,6 +714,35 @@
+ shut_down(code);
+ }
+
++#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
+ */
+@@ -1664,6 +1740,11 @@
+
+ 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);
+
+@@ -1786,6 +1867,11 @@
+
+ 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);
+Index: imap/pop3d.c
+diff -u imap/pop3d.c.orig imap/pop3d.c
+--- imap/pop3d.c.orig Thu Mar 13 01:38:16 2003
++++ imap/pop3d.c Fri Mar 21 23:37:11 2003
+@@ -101,6 +101,10 @@
+ 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;
+@@ -395,6 +399,10 @@
+ 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
+@@ -1422,6 +1430,21 @@
+ 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 */
+ }
+ else {
+ /* remote mailbox */
+Index: imap/version.c
+diff -u imap/version.c.orig imap/version.c
+--- imap/version.c.orig Fri Feb 14 05:33:02 2003
++++ imap/version.c Fri Mar 21 20:13:21 2003
+@@ -143,6 +143,10 @@
+ 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 Thu Mar 20 04:00:39 2003
++++ lib/imapoptions Fri Mar 21 20:32:15 2003
+@@ -154,6 +154,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. */
++
+ { "duplicatesuppression", 1, SWITCH }
+ /* If enabled, lmtpd will suppress delivery of a message to a mailbox if
+ a message with the same message-id (or resent-message-id) is recorded
diff --git a/mail/cyrus-imapd22/files/extra-patch-acconfig.h b/mail/cyrus-imapd22/files/extra-patch-acconfig.h
new file mode 100644
index 000000000000..05e561b78963
--- /dev/null
+++ b/mail/cyrus-imapd22/files/extra-patch-acconfig.h
@@ -0,0 +1,17 @@
+Index: acconfig.h
+diff -u acconfig.h.orig acconfig.h
+--- acconfig.h.orig Fri Feb 14 05:32:50 2003
++++ acconfig.h Fri Mar 21 21:03:25 2003
+@@ -263,8 +263,12 @@
+ #define FNAME_DOMAINDIR "/domain/"
+ #define FNAME_LOGDIR "/log/"
+ #define FNAME_PTSDB "/ptclient/ptscache.db"
++#if !defined(CONFIG_FILENAME)
+ #define CONFIG_FILENAME "/etc/imapd.conf"
++#endif
++#if !defined(DEFAULT_MASTER_CONFIG_FILENAME)
+ #define DEFAULT_MASTER_CONFIG_FILENAME "/etc/cyrus.conf"
++#endif
+
+ #ifndef HAVE_SHUTDOWN
+ #define shutdown(fd, mode) 0
diff --git a/mail/cyrus-imapd22/files/extra-patch-aclocal.m4 b/mail/cyrus-imapd22/files/extra-patch-aclocal.m4
new file mode 100644
index 000000000000..43342ca5f4d6
--- /dev/null
+++ b/mail/cyrus-imapd22/files/extra-patch-aclocal.m4
@@ -0,0 +1,22 @@
+Index: aclocal.m4
+diff -u aclocal.m4.orig aclocal.m4
+--- aclocal.m4.orig Thu Mar 20 04:04:34 2003
++++ aclocal.m4 Fri Mar 21 20:09:38 2003
+@@ -453,7 +453,7 @@
+ BDB_LIBADD=""
+ fi
+
+- for dbname in db-4.1 db4.1 db-4.0 db4.0 db-4 db4 db-3.3 db3.3 db-3.2 db3.2 db-3.1 db3.1 db-3 db3 db
++ for dbname in db-4.1 db4.1 db-4.0 db4.0 db-4 db-3.3 db3.3 db-3.2 db3.2 db-3.1 db3.1 db-3 db3 db
+ do
+ AC_CHECK_LIB($dbname, db_create, BDB_LIBADD="$BDB_LIBADD -l$dbname";
+ dblib="berkeley"; break, dblib="no")
+@@ -1574,7 +1574,7 @@
+ LIB_UCDSNMP=""
+ if test "$with_ucdsnmp" != no; then
+ AC_DEFINE(HAVE_UCDSNMP)
+- LIB_UCDSNMP="-lucdagent -lucdmibs -lsnmp"
++ LIB_UCDSNMP="-lucdagent -lucdmibs -lsnmp -lkvm"
+ AC_CHECK_LIB(rpm, rpmdbOpen,
+ LIB_UCDSNMP="${LIB_UCDSNMP} -lrpm -lpopt",,-lpopt)
+ fi
diff --git a/mail/cyrus-imapd22/files/imapd.conf b/mail/cyrus-imapd22/files/imapd.conf
index 8384d7892b02..8fbc33c976e4 100644
--- a/mail/cyrus-imapd22/files/imapd.conf
+++ b/mail/cyrus-imapd22/files/imapd.conf
@@ -277,6 +277,12 @@ sasl_pwcheck_method: saslauthd
#
#sasl_auto_transition: no
+# Whitespace separated list of mechanisms to allow (e.g. 'plain otp').
+# Used to restrict the mechanisms to a subset of the installed
+# plugins. The default is all available.
+#
+#sasl_mech_list: cram-md5 digest-md5
+
# Location of the opiekeys file
#
#sasl_opiekeys: /etc/opiekeys
@@ -295,49 +301,49 @@ sasl_pwcheck_method: saslauthd
# specified, the global certificate is used. A value of "disabled"
# will disable SSL/TLS for imap.
#
-#tls_imap_cert_file: <none>
+#imap_tls_cert_file: <none>
# File containing the private key belonging to the imap-specific
# server certificate. If not specified, the global private key is
# used. A value of "disabled" will disable SSL/TLS for imap.
#
-#tls_imap_key_file: <none>
+#imap_tls_key_file: <none>
# File containing the certificate used for pop3 ONLY. If not
# specified, the global certificate is used. A value of "disabled"
# will disable SSL/TLS for pop3.
#
-#tls_pop3_cert_file: <none>
+#pop3_tls_cert_file: <none>
# File containing the private key belonging to the pop3-specific
# server certificate. If not specified, the global private key is
# used. A value of "disabled" will disable SSL/TLS for pop3.
#
-#tls_pop3_key_file: <none>
+#pop3_tls_key_file: <none>
# File containing the certificate used for lmtp ONLY. If not
# specified, the global certificate is used. A value of "disabled"
# will disable TLS for lmtp.
#
-#tls_lmtp_cert_file: <none>
+#lmtp_tls_cert_file: <none>
# File containing the private key belonging to the lmtp-specific
# server certificate. If not specified, the global private key is
# used. A value of "disabled" will disable TLS for lmtp.
#
-#tls_lmtp_key_file: <none>
+#lmtp_tls_key_file: <none>
# File containing the certificate used for sieve ONLY. If not
# specified, the global certificate is used. A value of "disabled"
# will disable TLS for sieve.
#
-#tls_sieve_cert_file: <none>
+#sieve_tls_cert_file: <none>
# File containing the private key belonging to the sieve-specific
# server certificate. If not specified, the global private key is
# used. A value of "disabled" will disable TLS for sieve.
#
-#tls_sieve_key_file: <none>
+#sieve_tls_key_file: <none>
# File containing one or more Certificate Authority (CA) certificates.
#
diff --git a/mail/cyrus-imapd22/files/patch-aa b/mail/cyrus-imapd22/files/patch-aa
index 34dc4a7d4d9b..fccb317f9515 100644
--- a/mail/cyrus-imapd22/files/patch-aa
+++ b/mail/cyrus-imapd22/files/patch-aa
@@ -1,12 +1,13 @@
---- man/Makefile.in.orig Tue Sep 1 03:49:14 1998
-+++ man/Makefile.in Mon May 10 02:27:39 1999
-@@ -52,7 +52,7 @@
+Index: man/Makefile.in
+diff -u man/Makefile.in.orig man/Makefile.in
+--- man/Makefile.in.orig Fri Feb 28 03:12:33 2003
++++ man/Makefile.in Fri Mar 21 14:14:24 2003
+@@ -69,7 +69,7 @@
MAN3 = $(srcdir)/imclient.3
- MAN5 = $(srcdir)/imapd.conf.5 $(srcdir)/krb.equiv.5
- MAN8 = $(srcdir)/arbitron.8 $(srcdir)/collectnews.8 $(srcdir)/deliver.8 \
+ MAN5 = imapd.conf.5 $(srcdir)/krb.equiv.5 $(srcdir)/cyrus.conf.5
+ MAN8 = $(srcdir)/arbitron.8 $(srcdir)/deliver.8 \
- $(srcdir)/fud.8 $(srcdir)/imapd.8 $(srcdir)/pop3d.8 $(srcdir)/quota.8 \
+ $(srcdir)/fud.8 $(srcdir)/imapd.8 $(srcdir)/pop3d.8 $(srcdir)/cyrquota.8 \
$(srcdir)/reconstruct.8 $(srcdir)/rmnews.8 $(srcdir)/syncnews.8 \
- $(srcdir)/mbpath.8 $(srcdir)/timsieved.8
-
-
+ $(srcdir)/mbpath.8 $(srcdir)/timsieved.8 $(srcdir)/master.8 \
+ $(srcdir)/lmtpd.8 $(srcdir)/idled.8 $(srcdir)/ctl_mboxlist.8 \
diff --git a/mail/cyrus-imapd22/files/patch-ah b/mail/cyrus-imapd22/files/patch-ah
deleted file mode 100644
index 52c44e1c25db..000000000000
--- a/mail/cyrus-imapd22/files/patch-ah
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: imap/lmtpengine.h
-diff -u imap/lmtpengine.h.orig imap/lmtpengine.h
---- imap/lmtpengine.h.orig Sun Feb 10 10:53:58 2002
-+++ imap/lmtpengine.h Thu Feb 21 14:16:52 2002
-@@ -44,7 +44,7 @@
- #define LMTPENGINE_H
-
- /* configuration parameters */
--#define DEFAULT_SENDMAIL ("/usr/lib/sendmail")
-+#define DEFAULT_SENDMAIL ("/usr/sbin/sendmail")
- #define DEFAULT_POSTMASTER ("postmaster")
-
- #define SENDMAIL (config_getstring("sendmail", DEFAULT_SENDMAIL))
diff --git a/mail/cyrus-imapd22/files/patch-bc b/mail/cyrus-imapd22/files/patch-bc
index 158b0dda9aad..089a879af595 100644
--- a/mail/cyrus-imapd22/files/patch-bc
+++ b/mail/cyrus-imapd22/files/patch-bc
@@ -1,28 +1,20 @@
Index: imap/Makefile.in
diff -u imap/Makefile.in.orig imap/Makefile.in
---- imap/Makefile.in.orig Tue Dec 10 09:52:43 2002
-+++ imap/Makefile.in Tue Feb 4 20:28:12 2003
-@@ -61,7 +61,7 @@
- CYRUS_USER=@cyrus_user@
- CYRUS_GROUP=@cyrus_group@
-
--DEFS = @DEFS@ @LOCALDEFS@
-+DEFS = @DEFS@ @LOCALDEFS@ -DCONFIG_FILENAME=\"$(prefix)/etc/imapd.conf\"
- CPPFLAGS = -I. -I.. -I$(srcdir) -I$(srcdir)/../lib -I$(srcdir)/../sieve -I$(srcdir)/../acap @COM_ERR_CPPFLAGS@ @SIEVE_CPPFLAGS@ @CPPFLAGS@ @SASLFLAGS@
- IMAP_LIBS = @IMAP_LIBS@
- SIEVE_LIBS = @SIEVE_LIBS@
-@@ -243,12 +243,12 @@
- mupdate: mupdate.o mupdate-slave.o mupdate-client.o libimap.a $(DEPLIBS)
+--- imap/Makefile.in.orig Fri Feb 28 03:10:28 2003
++++ imap/Makefile.in Fri Mar 21 14:28:10 2003
+@@ -232,13 +232,13 @@
+ libimap.a $(DEPLIBS)
$(CC) $(LDFLAGS) -o mupdate \
$(SERVICETHREAD) mupdate.o mupdate-slave.o mupdate-client.o \
-- libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) -lpthread
-+ libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(PTHREAD_LIBS)
+- mutex_pthread.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) -lpthread
++ mutex_pthread.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(PTHREAD_LIBS)
- mupdate.pure: mupdate.o mupdate-slave.o mupdate-client.o libimap.a $(DEPLIBS)
+ 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 \
-- libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) -lpthread
-+ libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(PTHREAD_LIBS)
+- mutex_pthread.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) -lpthread
++ mutex_pthread.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(PTHREAD_LIBS)
- pop3d: pop3d.o tls.o libimap.a $(DEPLIBS) $(SERVICE)
- $(CC) $(LDFLAGS) -o pop3d pop3d.o tls.o $(SERVICE) \
+ 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-imapd22/files/patch-bd b/mail/cyrus-imapd22/files/patch-bd
deleted file mode 100644
index 83a7d53f4c40..000000000000
--- a/mail/cyrus-imapd22/files/patch-bd
+++ /dev/null
@@ -1,14 +0,0 @@
-*** imap/config.c.orig Thu Mar 9 19:07:14 2000
---- imap/config.c Thu Mar 9 19:06:48 2000
-***************
-*** 39,45 ****
---- 39,47 ----
-
- extern int errno;
-
-+ #if !defined(CONFIG_FILENAME)
- #define CONFIG_FILENAME "/etc/imapd.conf"
-+ #endif
-
- struct configlist {
- char *key;
diff --git a/mail/cyrus-imapd22/files/patch-be b/mail/cyrus-imapd22/files/patch-be
deleted file mode 100644
index 707298b92662..000000000000
--- a/mail/cyrus-imapd22/files/patch-be
+++ /dev/null
@@ -1,13 +0,0 @@
---- imap/krbck.c.orig Sat Dec 21 02:08:21 1996
-+++ imap/krbck.c Wed Oct 8 13:56:58 1997
-@@ -29,7 +29,9 @@
-
- #define EXIT_CHOKE (int) 10
-
--#define CONFIG_FILENAME "/etc/imapd.conf"
-+#if !defined(CONFIG_FILENAME)
-+ #define CONFIG_FILENAME "/etc/imapd.conf"
-+#endif
- #define MAX_FILENAME_LEN 255
-
- int errno;
diff --git a/mail/cyrus-imapd22/files/patch-config.h.in b/mail/cyrus-imapd22/files/patch-config.h.in
new file mode 100644
index 000000000000..f49e1e525f4b
--- /dev/null
+++ b/mail/cyrus-imapd22/files/patch-config.h.in
@@ -0,0 +1,17 @@
+Index: config.h.in
+diff -u config.h.in.orig config.h.in
+--- config.h.in.orig Thu Mar 20 04:04:36 2003
++++ config.h.in Fri Mar 21 14:33:39 2003
+@@ -360,8 +360,12 @@
+ #define FNAME_DOMAINDIR "/domain/"
+ #define FNAME_LOGDIR "/log/"
+ #define FNAME_PTSDB "/ptclient/ptscache.db"
++#if !defined(CONFIG_FILENAME)
+ #define CONFIG_FILENAME "/etc/imapd.conf"
++#endif
++#if !defined(DEFAULT_MASTER_CONFIG_FILENAME)
+ #define DEFAULT_MASTER_CONFIG_FILENAME "/etc/cyrus.conf"
++#endif
+
+ #ifndef HAVE_SHUTDOWN
+ #define shutdown(fd, mode) 0
diff --git a/mail/cyrus-imapd22/files/patch-dc b/mail/cyrus-imapd22/files/patch-dc
index 10bec3adc883..f2f5f074e332 100644
--- a/mail/cyrus-imapd22/files/patch-dc
+++ b/mail/cyrus-imapd22/files/patch-dc
@@ -1,13 +1,14 @@
Index: master/Makefile.in
diff -u master/Makefile.in.orig master/Makefile.in
---- master/Makefile.in.orig Tue Feb 4 20:30:08 2003
-+++ master/Makefile.in Tue Feb 4 20:31:00 2003
-@@ -52,7 +52,7 @@
+--- master/Makefile.in.orig Fri Feb 7 07:41:03 2003
++++ master/Makefile.in Fri Mar 21 18:02:28 2003
+@@ -52,7 +52,8 @@
CYRUS_USER=@cyrus_user@
CYRUS_GROUP=@cyrus_group@
-DEFS = @DEFS@ @LOCALDEFS@
-+DEFS = @DEFS@ @LOCALDEFS@ -DCONFIG_FILENAME=\"$(prefix)/etc/cyrus.conf\"
++DEFS = @DEFS@ @LOCALDEFS@ -DCONFIG_FILENAME=\"$(prefix)/etc/imapd.conf\" \
++ -DDEFAULT_MASTER_CONFIG_FILENAME=\"$(prefix)/etc/cyrus.conf\"
CPPFLAGS = -I. -I.. -I$(srcdir) -I$(srcdir)/../lib @CPPFLAGS@ @COM_ERR_CPPFLAGS@
- DEPLIBS = ../lib/libcyrus.a @DEPLIBS@
+ DEPLIBS = ../lib/libcyrus_min.a @DEPLIBS@
diff --git a/mail/cyrus-imapd22/files/patch-dd b/mail/cyrus-imapd22/files/patch-dd
deleted file mode 100644
index 94c0d694fa90..000000000000
--- a/mail/cyrus-imapd22/files/patch-dd
+++ /dev/null
@@ -1,14 +0,0 @@
-Index: master/masterconf.c
-diff -u master/masterconf.c.orig master/masterconf.c
---- master/masterconf.c.orig Wed May 24 05:56:30 2000
-+++ master/masterconf.c Sat Jan 6 06:07:22 2001
-@@ -60,7 +60,9 @@
-
- extern int errno;
-
-+#if !defined(CONFIG_FILENAME)
- #define CONFIG_FILENAME "/etc/cyrus.conf"
-+#endif
-
- struct configlist {
- char *key;
diff --git a/mail/cyrus-imapd22/files/patch-dg b/mail/cyrus-imapd22/files/patch-dg
index b413044ffd6c..5c54d21287d8 100644
--- a/mail/cyrus-imapd22/files/patch-dg
+++ b/mail/cyrus-imapd22/files/patch-dg
@@ -1,10 +1,10 @@
Index: tools/mkimap
diff -u tools/mkimap.orig tools/mkimap
---- tools/mkimap.orig Fri Sep 28 01:02:34 2001
-+++ tools/mkimap Tue Jan 28 18:00:32 2003
-@@ -64,6 +64,9 @@
- $nosievedir = 0;
- $hashispool = 0;
+--- tools/mkimap.orig Mon Mar 10 03:39:36 2003
++++ tools/mkimap Fri Mar 21 17:24:10 2003
+@@ -61,6 +61,9 @@
+
+ $imapdconf = shift || "/etc/imapd.conf";
+$cyrus_user = $ENV{CYRUS_USER} || "%%CYRUS_USER%%";
+$cyrus_group = $ENV{CYRUS_GROUP} || "%%CYRUS_GROUP%%";
@@ -12,27 +12,25 @@ diff -u tools/mkimap.orig tools/mkimap
open CONF, $imapdconf or die "can't open $imapdconf";
print "reading configure file...\n";
while (<CONF>) {
-@@ -117,6 +120,8 @@
- mkdir "log", 0755;
+@@ -86,6 +89,7 @@
+
+ print "configuring $d...\n";
+
++mkdir $d, 0755;
+ chdir $d or die "couldn't change to $d";
+
+ mkdir "proc", 0755;
+@@ -95,11 +99,14 @@
mkdir "msg", 0755;
+ mkdir "ptclient", 0755;
+system "/usr/sbin/chown -R $cyrus_user:$cyrus_group .";
+
- # create the sieve stuff
- if (!$nosievedir) {
- print "creating $sievedir...\n";
-@@ -125,6 +130,7 @@
- if (chdir $sievedir) {
- foreach $i ("a".."z") { mkdir "$i", 0755; }
- }
-+ system "/usr/sbin/chown -R $cyrus_user:$cyrus_group $sievedir";
- }
-
- $flag = 0;
-@@ -136,6 +142,7 @@
+ while ($part = shift @parts) {
+ print "creating $part...\n";
+ mkdir $part, 0755;
chdir $part or die "couldn't change to partition $part";
mkdir "stage.", 0755;
- if ($hashispool) { foreach $i ("a".."z") { mkdir $i, 0755; } }
+ system "/usr/sbin/chown -R $cyrus_user:$cyrus_group $part";
}
diff --git a/mail/cyrus-imapd22/files/patch-di b/mail/cyrus-imapd22/files/patch-di
deleted file mode 100644
index ba35e969ab60..000000000000
--- a/mail/cyrus-imapd22/files/patch-di
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: notifyd/notify_mailto.c
-diff -u notifyd/notify_mailto.c.orig notifyd/notify_mailto.c
---- notifyd/notify_mailto.c.orig Tue Mar 19 00:14:17 2002
-+++ notifyd/notify_mailto.c Thu May 2 03:51:15 2002
-@@ -56,7 +56,7 @@
- #include "rfc822date.h"
- #include <sieve_interface.h>
-
--#define DEFAULT_SENDMAIL ("/usr/lib/sendmail")
-+#define DEFAULT_SENDMAIL ("/usr/sbin/sendmail")
- #define DEFAULT_POSTMASTER ("postmaster")
-
- #define SENDMAIL (config_getstring("sendmail", DEFAULT_SENDMAIL))
diff --git a/mail/cyrus-imapd22/files/patch-lib::Makefile.in b/mail/cyrus-imapd22/files/patch-lib::Makefile.in
new file mode 100644
index 000000000000..b85111fb7723
--- /dev/null
+++ b/mail/cyrus-imapd22/files/patch-lib::Makefile.in
@@ -0,0 +1,13 @@
+Index: lib/Makefile.in
+diff -u lib/Makefile.in.orig lib/Makefile.in
+--- lib/Makefile.in.orig Thu Feb 13 04:12:42 2003
++++ lib/Makefile.in Fri Mar 21 15:11:50 2003
+@@ -56,7 +56,7 @@
+ INSTALL = @INSTALL@
+ RANLIB = @RANLIB@
+
+-DEFS = @DEFS@
++DEFS = @DEFS@ -DCONFIG_FILENAME=\"$(prefix)/etc/imapd.conf\"
+ CPPFLAGS = -I.. @CPPFLAGS@ @COM_ERR_CPPFLAGS@ @SASLFLAGS@
+ LIBS = @LIBS@
+
diff --git a/mail/cyrus-imapd22/files/patch-lib::imapoptions b/mail/cyrus-imapd22/files/patch-lib::imapoptions
new file mode 100644
index 000000000000..c46c80a342a0
--- /dev/null
+++ b/mail/cyrus-imapd22/files/patch-lib::imapoptions
@@ -0,0 +1,22 @@
+Index: lib/imapoptions
+diff -u lib/imapoptions.orig lib/imapoptions
+--- lib/imapoptions.orig Thu Mar 20 04:00:39 2003
++++ lib/imapoptions Fri Mar 21 15:27:44 2003
+@@ -454,7 +454,7 @@
+ /* The mechanism used by the server to verify plaintext passwords.
+ Possible values include "auxprop", "saslauthd", and "pwcheck". */
+
+-{ "sendmail", "/usr/lib/sendmail", STRING }
++{ "sendmail", "/usr/sbin/sendmail", STRING }
+ /* The pathname of the sendmail executable. Sieve invokes sendmail
+ for sending rejections, redirects and vacation responses. */
+
+@@ -475,7 +475,7 @@
+ /* Maximum number of sieve scripts any user may have, enforced at
+ submission by timsieved(8). */
+
+-{ "sievedir", "/usr/sieve", STRING }
++{ "sievedir", "/var/imap/sieve", STRING }
+ /* If sieveusehomedir is false, this directory is searched for Sieve
+ scripts. */
+
diff --git a/mail/cyrus-imapd22/files/patch-sieve::Makefile.in b/mail/cyrus-imapd22/files/patch-sieve::Makefile.in
new file mode 100644
index 000000000000..cbc212929f04
--- /dev/null
+++ b/mail/cyrus-imapd22/files/patch-sieve::Makefile.in
@@ -0,0 +1,21 @@
+Index: sieve/Makefile.in
+diff -u sieve/Makefile.in.orig sieve/Makefile.in
+--- sieve/Makefile.in.orig Fri Feb 28 03:13:50 2003
++++ sieve/Makefile.in Mon Mar 24 02:26:24 2003
+@@ -32,6 +32,7 @@
+ YACC = @YACC@
+ YFLAGS = -d
+ LEX = @LEX@
++INSTALL = @INSTALL@
+ RANLIB = @RANLIB@
+ COMPILE_ET = @COMPILE_ET@
+
+@@ -58,7 +59,7 @@
+
+ install: sievec
+ $(srcdir)/../install-sh -d ${DESTDIR}$(cyrus_prefix)/bin
+- $(srcdir)/../install-sh -m 755 sievec $(DESTDIR)$(cyrus_prefix)/bin || exit
++ $(INSTALL) -m 755 sievec $(DESTDIR)$(cyrus_prefix)/bin || exit
+
+ test: $(DEPLIBS) libsieve.a test.o
+ $(CC) $(LDFLAGS) -o test test.o libsieve.a $(DEPLIBS) $(LIBS)
diff --git a/mail/cyrus-imapd22/pkg-plist b/mail/cyrus-imapd22/pkg-plist
index 6e279025d1e3..768303910393 100644
--- a/mail/cyrus-imapd22/pkg-plist
+++ b/mail/cyrus-imapd22/pkg-plist
@@ -3,6 +3,7 @@ bin/imtest
bin/installsieve
bin/lmtptest
bin/mupdatetest
+bin/nntptest
bin/pop3test
bin/sieveshell
bin/sivtest
@@ -15,24 +16,28 @@ cyrus/bin/cvt_cyrusdb
cyrus/bin/cyrdump
cyrus/bin/cyrquota
cyrus/bin/deliver
+%%NNTP%%cyrus/bin/expirenews
cyrus/bin/feedcyrus
+%%NNTP%%cyrus/bin/fetchnews
cyrus/bin/fud
cyrus/bin/imapd
cyrus/bin/ipurge
cyrus/bin/lmtpd
+%%MURDER%%cyrus/bin/lmtpproxyd
+cyrus/bin/masssievec
cyrus/bin/master
cyrus/bin/mbpath
cyrus/bin/mkimap
+%%MURDER%%cyrus/bin/mupdate
+%%NNTP%%cyrus/bin/nntpd
cyrus/bin/notifyd
cyrus/bin/pop3d
+%%MURDER%%cyrus/bin/proxyd
cyrus/bin/reconstruct
+cyrus/bin/sievec
cyrus/bin/squatter
cyrus/bin/timsieved
cyrus/bin/tls_prune
-%%MURDER%%cyrus/bin/lmtpproxyd
-%%MURDER%%cyrus/bin/mupdate
-%%MURDER%%cyrus/bin/pop3proxyd
-%%MURDER%%cyrus/bin/proxyd
@unexec if cmp -s %D/etc/cyrus.conf %D/etc/cyrus.conf.dist; then rm -f %D/etc/cyrus.conf; fi
etc/cyrus.conf.dist
@exec [ -f %B/cyrus.conf ] || cp %B/%f %B/cyrus.conf
@@ -40,7 +45,6 @@ etc/cyrus.conf.dist
etc/imapd.conf.dist
@exec [ -f %B/imapd.conf ] || cp %B/%f %B/imapd.conf
etc/rc.d/imapd.sh.sample
-include/cyrus/acap.h
include/cyrus/acl.h
include/cyrus/assert.h
include/cyrus/auth.h
@@ -50,10 +54,13 @@ include/cyrus/cyrusdb.h
include/cyrus/glob.h
include/cyrus/gmtoff.h
include/cyrus/hash.h
+include/cyrus/imapopts.h
include/cyrus/imapurl.h
include/cyrus/imclient.h
include/cyrus/imparse.h
include/cyrus/iptostring.h
+include/cyrus/libconfig.h
+include/cyrus/libcyr_cfg.h
include/cyrus/lock.h
include/cyrus/lsort.h
include/cyrus/map.h
@@ -64,11 +71,13 @@ include/cyrus/parseaddr.h
include/cyrus/prot.h
include/cyrus/retry.h
include/cyrus/rfc822date.h
+include/cyrus/strhash.h
+include/cyrus/strhash.o
include/cyrus/stristr.h
include/cyrus/sysexits.h
include/cyrus/util.h
include/cyrus/xmalloc.h
-lib/libacap.a
+lib/libcyrus_min.a
lib/libcyrus.a
lib/perl5/%%PERL_VERSION%%/man/man3/Cyrus::IMAP.3
lib/perl5/%%PERL_VERSION%%/man/man3/Cyrus::IMAP::Admin.3
diff --git a/mail/cyrus-imapd23/Makefile b/mail/cyrus-imapd23/Makefile
index 4b3405e418f3..6aff5810e10b 100644
--- a/mail/cyrus-imapd23/Makefile
+++ b/mail/cyrus-imapd23/Makefile
@@ -6,15 +6,13 @@
#
PORTNAME= cyrus-imapd
-PORTVERSION= 2.1.12
+PORTVERSION= 2.2.0.a
#PORTREVISION= 0
+DISTNAME= ${PORTNAME}-2.2.0-ALPHA
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/
-PATCH_SITES= http://www.imasy.or.jp/~ume/ipv6/
-PATCHFILES= ${DISTNAME}-ipv6-20030204.diff.gz
-
MAINTAINER= ume@FreeBSD.org
COMMENT= The cyrus mail server, supporting POP3 and IMAP4 protocols
@@ -35,8 +33,15 @@ CONFIGURE_ARGS= --with-cyrus-prefix=${PREFIX}/cyrus \
--with-auth=unix \
--with-com_err
-.if defined(WITH_SKIPLIST_MBOX)
-CONFIGURE_ARGS+=--with-mboxlist-db=skiplist
+.if defined(WITHOUT_SKIPLIST)
+CONFIGURE_ARGS+=--with-mboxlist-db=berkeley --with-seen-db=flat
+.endif
+
+.if defined(WITH_NNTP)
+CONFIGURE_ARGS+=--enable-nntp
+PLIST_SUB+= NNTP=""
+.else
+PLIST_SUB+= NNTP="@comment "
.endif
.if defined(WITH_MURDER)
@@ -48,6 +53,30 @@ PLIST_SUB+= MURDER=""
PLIST_SUB+= MURDER="@comment "
.endif
+.if defined(WITH_FULLDIRHASH)
+CONFIGURE_ARGS+=--enable-fulldirhash
+.endif
+
+.if defined(WITH_LISTEXT)
+CONFIGURE_ARGS+=--enable-listext
+.endif
+
+.if defined(WITH_ANNOTATEMORE)
+CONFIGURE_ARGS+=--enable-annotatemore
+.endif
+
+.if defined(WITH_NETSCAPEHACK)
+CONFIGURE_ARGS+=--enable-netscapehack
+.endif
+
+.if defined(WITH_DRAC)
+EXTRA_PATCHES+= ${FILESDIR}/drac_auth.patch \
+ ${FILESDIR}/extra-patch-acconfig.h ${FILESDIR}/extra-patch-aclocal.m4
+USE_AUTOCONF= YES
+CONFIGURE_ARGS+=--with-drac=${LOCALBASE}
+BUILD_DEPENDS+= ${LOCALBASE}/lib/libdrac.a:${PORTSDIR}/mail/drac
+.endif
+
.if defined(WITH_SNMP)
# It seems not compilable due to lack of auto_nlist_value() in libucdagent.
LIB_DEPENDS+= netsnmp.5:${PORTSDIR}/net/net-snmp
@@ -60,21 +89,24 @@ CYRUS_USER?= cyrus
CYRUS_GROUP?= cyrus
MAN1= cyradm.1 imtest.1 installsieve.1 lmtptest.1 mupdatetest.1 \
- pop3test.1 sieveshell.1 sivtest.1 smtptest.1
+ nntptest.1 pop3test.1 sieveshell.1 sivtest.1 smtptest.1
MAN3= imclient.3
MAN5= cyrus.conf.5 imapd.conf.5 krb.equiv.5
-MAN8= arbitron.8 chk_cyrus.8 collectnews.8 ctl_cyrusdb.8 \
- ctl_deliver.8 ctl_mboxlist.8 cvt_cyrusdb.8 cyrquota.8 \
- deliver.8 fud.8 idled.8 imapd.8 ipurge.8 lmtpd.8 master.8 \
- mbpath.8 notifyd.8 pop3d.8 reconstruct.8 rmnews.8 \
- squatter.8 syncnews.8 timsieved.8 tls_prune.8
+MAN8= arbitron.8 chk_cyrus.8 nntpd.8 ctl_cyrusdb.8 ctl_deliver.8 \
+ ctl_mboxlist.8 cvt_cyrusdb.8 cyrquota.8 deliver.8 \
+ expirenews.8 fetchnews.8 fud.8 idled.8 imapd.8 ipurge.8 \
+ lmtpd.8 master.8 mbpath.8 notifyd.8 pop3d.8 reconstruct.8 \
+ rmnews.8 squatter.8 syncnews.8 timsieved.8 tls_prune.8
DOCS= altnamespace anoncvs bugs changes faq feedback index \
install install-admin-mb install-auth install-compile \
- install-configure install-murder install-perf \
- install-prereq install-sieve install-snmpmon install-testing \
- install-upgrade mailing-list man notes os overview questions \
- readme sieve sieve-protocol specs
+ 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
+
+DOCSDIR= ${PREFIX}/share/doc/cyrus-imapd22
PKGDEINSTALL= ${WRKDIR}/pkg-deinstall
PKGINSTALL= ${WRKDIR}/pkg-install
@@ -97,42 +129,49 @@ post-patch:
-e "s|%%CYRUS_USER%%|${CYRUS_USER}|g" \
-e "s|%%CYRUS_GROUP%%|${CYRUS_GROUP}|g" \
${WRKSRC}/tools/mkimap
+ @${REINPLACE_CMD} -e "s|/etc/|${PREFIX}/etc/|g" \
+ -e "s|/usr/sieve|/var/imap/sieve|g" \
+ ${WRKSRC}/tools/masssievec
@${CP} ${WRKSRC}/man/quota.8 ${WRKSRC}/man/cyrquota.8
.if ${PERL_LEVEL} < 500600
@${REINPLACE_CMD} -e "s|exec perl -x|exec perl -I${LOCALBASE}/lib/perl5/site_perl/${PERL_VER} -x|" \
${WRKSRC}/perl/sieve/scripts/sieveshell.pl
.endif
+.if defined(WITH_DRAC)
+pre-configure:
+ cd ${WRKSRC} && ${AUTOHEADER}
+.endif
+
post-install:
@${MV} ${PREFIX}/cyrus/bin/quota ${PREFIX}/cyrus/bin/cyrquota
.if !defined(NOPORTDOCS)
- ${MKDIR} ${PREFIX}/share/doc/cyrus-imapd2/man
- ${MKDIR} ${PREFIX}/share/doc/cyrus-imapd2/text
+ ${MKDIR} ${DOCSDIR}/man
+ ${MKDIR} ${DOCSDIR}/text
.for file in ${DOCS}
- ${INSTALL_DATA} ${WRKSRC}/doc/${file}.html \
- ${PREFIX}/share/doc/cyrus-imapd2
- @${ECHO} share/doc/cyrus-imapd2/${file}.html >>${TMPPLIST}
+ ${INSTALL_DATA} ${WRKSRC}/doc/${file}.html ${DOCSDIR}
+ @${ECHO} share/doc/cyrus-imapd22/${file}.html >>${TMPPLIST}
.endfor
.for file in ${MAN1} ${MAN3} ${MAN5} ${MAN8}
ofile=`echo ${file} | sed s/cyrquota/quota/`; \
if [ -f ${WRKSRC}/doc/man/$${ofile}.html ]; then \
${INSTALL_DATA} ${WRKSRC}/doc/man/$${ofile}.html \
- ${PREFIX}/share/doc/cyrus-imapd2/man/$${ofile}.html; \
- ${ECHO} share/doc/cyrus-imapd2/man/$${ofile}.html \
+ ${DOCSDIR}/man/$${ofile}.html; \
+ ${ECHO} share/doc/cyrus-imapd22/man/$${ofile}.html \
>>${TMPPLIST}; \
fi
.endfor
- ${INSTALL_DATA} ${WRKSRC}/doc/cyrusv2.mc \
- ${PREFIX}/share/doc/cyrus-imapd2
- @${ECHO} share/doc/cyrus-imapd2/cyrusv2.mc >>${TMPPLIST}
+.for file in cyrusv2.mc murder.png netnews.png
+ ${INSTALL_DATA} ${WRKSRC}/doc/${file} ${DOCSDIR}
+ @${ECHO} share/doc/cyrus-imapd22/${file} >>${TMPPLIST}
+.endfor
.for file in ${DOCS}
- ${INSTALL_DATA} ${WRKSRC}/doc/text/${file} \
- ${PREFIX}/share/doc/cyrus-imapd2/text
- @${ECHO} share/doc/cyrus-imapd2/text/${file} >>${TMPPLIST}
+ ${INSTALL_DATA} ${WRKSRC}/doc/text/${file} ${DOCSDIR}/text
+ @${ECHO} share/doc/cyrus-imapd22/text/${file} >>${TMPPLIST}
.endfor
- @${ECHO} "@dirrm share/doc/cyrus-imapd2/text" >>${TMPPLIST}
- @${ECHO} "@dirrm share/doc/cyrus-imapd2/man" >>${TMPPLIST}
- @${ECHO} "@dirrm share/doc/cyrus-imapd2" >>${TMPPLIST}
+ @${ECHO} "@dirrm share/doc/cyrus-imapd22/text" >>${TMPPLIST}
+ @${ECHO} "@dirrm share/doc/cyrus-imapd22/man" >>${TMPPLIST}
+ @${ECHO} "@dirrm share/doc/cyrus-imapd22" >>${TMPPLIST}
.endif
${INSTALL_SCRIPT} ${FILESDIR}/imapd.sh \
${PREFIX}/etc/rc.d/imapd.sh.sample
@@ -142,6 +181,8 @@ post-install:
${PREFIX}/etc/cyrus.conf.dist
${INSTALL_SCRIPT} ${WRKSRC}/tools/mkimap \
${PREFIX}/cyrus/bin/mkimap
+ ${INSTALL_SCRIPT} ${WRKSRC}/tools/masssievec \
+ ${PREFIX}/cyrus/bin/masssievec
@PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} \
POST-INSTALL
@${CAT} ${PKGMESSAGE}
diff --git a/mail/cyrus-imapd23/distinfo b/mail/cyrus-imapd23/distinfo
index b4732e5a5fb6..7df5b3151e0b 100644
--- a/mail/cyrus-imapd23/distinfo
+++ b/mail/cyrus-imapd23/distinfo
@@ -1,2 +1 @@
-MD5 (cyrus-imapd-2.1.12.tar.gz) = dc3355d0170509ccebd9788ed2daad39
-MD5 (cyrus-imapd-2.1.12-ipv6-20030204.diff.gz) = c4913b61d346b9b0422a6e0a5e5d0628
+MD5 (cyrus-imapd-2.2.0-ALPHA.tar.gz) = bf588d15288885602675d90439500e07
diff --git a/mail/cyrus-imapd23/files/drac_auth.patch b/mail/cyrus-imapd23/files/drac_auth.patch
new file mode 100644
index 000000000000..ec1ef5e99696
--- /dev/null
+++ b/mail/cyrus-imapd23/files/drac_auth.patch
@@ -0,0 +1,308 @@
+Index: acconfig.h
+diff -u acconfig.h.orig acconfig.h
+--- acconfig.h.orig Fri Feb 14 05:32:50 2003
++++ acconfig.h Fri Mar 21 20:13:20 2003
+@@ -98,6 +98,9 @@
+ /* do we have SASL support for APOP? */
+ #undef HAVE_APOP
+
++/* the Dynamic Relay Authorization Control package */
++#undef DRAC_AUTH
++
+ /* do we have OpenSSL? */
+ #undef HAVE_SSL
+
+Index: configure.in
+diff -u configure.in.orig configure.in
+--- configure.in.orig Wed Mar 19 04:15:14 2003
++++ configure.in Fri Mar 21 20:20:54 2003
+@@ -981,6 +981,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)
++ 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 Feb 28 03:10:28 2003
++++ imap/Makefile.in Fri Mar 21 20:23:02 2003
+@@ -67,6 +67,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@
+
+@@ -206,17 +207,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)
+
+ proxyd: $(PROXYDOBJS) mutex_fake.o libimap.a $(DEPLIBS) $(SERVICE)
+ $(CC) $(LDFLAGS) -o proxyd \
+@@ -242,7 +243,7 @@
+
+ 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) \
+- mutex_fake.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP)
++ mutex_fake.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(DRAC_LIBS)
+
+ nntpd: nntpd.o backend.o index.o spool.o netnews.o wildmat.o tls.o \
+ mutex_fake.o nntp_err.o libimap.a $(DEPLIBS) $(SERVICE)
+Index: imap/imapd.c
+diff -u imap/imapd.c.orig imap/imapd.c
+--- imap/imapd.c.orig Thu Mar 6 03:32:05 2003
++++ imap/imapd.c Fri Mar 21 23:25:27 2003
+@@ -126,6 +126,18 @@
+ 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;
+@@ -447,6 +459,23 @@
+ /* setup for sending IMAP IDLE notifications */
+ idle_enabled();
+
++#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);
+@@ -533,6 +562,15 @@
+ 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 */
+@@ -575,6 +613,11 @@
+ 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();
+
+@@ -645,6 +688,10 @@
+
+ cyrus_done();
+
++#ifdef DRAC_AUTH
++ if (drac.interval) (void) dracdisc((char **)NULL);
++#endif /* DRAC_AUTH */
++
+ exit(code);
+ }
+
+@@ -667,6 +714,35 @@
+ shut_down(code);
+ }
+
++#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
+ */
+@@ -1664,6 +1740,11 @@
+
+ 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);
+
+@@ -1786,6 +1867,11 @@
+
+ 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);
+Index: imap/pop3d.c
+diff -u imap/pop3d.c.orig imap/pop3d.c
+--- imap/pop3d.c.orig Thu Mar 13 01:38:16 2003
++++ imap/pop3d.c Fri Mar 21 23:37:11 2003
+@@ -101,6 +101,10 @@
+ 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;
+@@ -395,6 +399,10 @@
+ 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
+@@ -1422,6 +1430,21 @@
+ 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 */
+ }
+ else {
+ /* remote mailbox */
+Index: imap/version.c
+diff -u imap/version.c.orig imap/version.c
+--- imap/version.c.orig Fri Feb 14 05:33:02 2003
++++ imap/version.c Fri Mar 21 20:13:21 2003
+@@ -143,6 +143,10 @@
+ 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 Thu Mar 20 04:00:39 2003
++++ lib/imapoptions Fri Mar 21 20:32:15 2003
+@@ -154,6 +154,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. */
++
+ { "duplicatesuppression", 1, SWITCH }
+ /* If enabled, lmtpd will suppress delivery of a message to a mailbox if
+ a message with the same message-id (or resent-message-id) is recorded
diff --git a/mail/cyrus-imapd23/files/extra-patch-acconfig.h b/mail/cyrus-imapd23/files/extra-patch-acconfig.h
new file mode 100644
index 000000000000..05e561b78963
--- /dev/null
+++ b/mail/cyrus-imapd23/files/extra-patch-acconfig.h
@@ -0,0 +1,17 @@
+Index: acconfig.h
+diff -u acconfig.h.orig acconfig.h
+--- acconfig.h.orig Fri Feb 14 05:32:50 2003
++++ acconfig.h Fri Mar 21 21:03:25 2003
+@@ -263,8 +263,12 @@
+ #define FNAME_DOMAINDIR "/domain/"
+ #define FNAME_LOGDIR "/log/"
+ #define FNAME_PTSDB "/ptclient/ptscache.db"
++#if !defined(CONFIG_FILENAME)
+ #define CONFIG_FILENAME "/etc/imapd.conf"
++#endif
++#if !defined(DEFAULT_MASTER_CONFIG_FILENAME)
+ #define DEFAULT_MASTER_CONFIG_FILENAME "/etc/cyrus.conf"
++#endif
+
+ #ifndef HAVE_SHUTDOWN
+ #define shutdown(fd, mode) 0
diff --git a/mail/cyrus-imapd23/files/extra-patch-aclocal.m4 b/mail/cyrus-imapd23/files/extra-patch-aclocal.m4
new file mode 100644
index 000000000000..43342ca5f4d6
--- /dev/null
+++ b/mail/cyrus-imapd23/files/extra-patch-aclocal.m4
@@ -0,0 +1,22 @@
+Index: aclocal.m4
+diff -u aclocal.m4.orig aclocal.m4
+--- aclocal.m4.orig Thu Mar 20 04:04:34 2003
++++ aclocal.m4 Fri Mar 21 20:09:38 2003
+@@ -453,7 +453,7 @@
+ BDB_LIBADD=""
+ fi
+
+- for dbname in db-4.1 db4.1 db-4.0 db4.0 db-4 db4 db-3.3 db3.3 db-3.2 db3.2 db-3.1 db3.1 db-3 db3 db
++ for dbname in db-4.1 db4.1 db-4.0 db4.0 db-4 db-3.3 db3.3 db-3.2 db3.2 db-3.1 db3.1 db-3 db3 db
+ do
+ AC_CHECK_LIB($dbname, db_create, BDB_LIBADD="$BDB_LIBADD -l$dbname";
+ dblib="berkeley"; break, dblib="no")
+@@ -1574,7 +1574,7 @@
+ LIB_UCDSNMP=""
+ if test "$with_ucdsnmp" != no; then
+ AC_DEFINE(HAVE_UCDSNMP)
+- LIB_UCDSNMP="-lucdagent -lucdmibs -lsnmp"
++ LIB_UCDSNMP="-lucdagent -lucdmibs -lsnmp -lkvm"
+ AC_CHECK_LIB(rpm, rpmdbOpen,
+ LIB_UCDSNMP="${LIB_UCDSNMP} -lrpm -lpopt",,-lpopt)
+ fi
diff --git a/mail/cyrus-imapd23/files/imapd.conf b/mail/cyrus-imapd23/files/imapd.conf
index 8384d7892b02..8fbc33c976e4 100644
--- a/mail/cyrus-imapd23/files/imapd.conf
+++ b/mail/cyrus-imapd23/files/imapd.conf
@@ -277,6 +277,12 @@ sasl_pwcheck_method: saslauthd
#
#sasl_auto_transition: no
+# Whitespace separated list of mechanisms to allow (e.g. 'plain otp').
+# Used to restrict the mechanisms to a subset of the installed
+# plugins. The default is all available.
+#
+#sasl_mech_list: cram-md5 digest-md5
+
# Location of the opiekeys file
#
#sasl_opiekeys: /etc/opiekeys
@@ -295,49 +301,49 @@ sasl_pwcheck_method: saslauthd
# specified, the global certificate is used. A value of "disabled"
# will disable SSL/TLS for imap.
#
-#tls_imap_cert_file: <none>
+#imap_tls_cert_file: <none>
# File containing the private key belonging to the imap-specific
# server certificate. If not specified, the global private key is
# used. A value of "disabled" will disable SSL/TLS for imap.
#
-#tls_imap_key_file: <none>
+#imap_tls_key_file: <none>
# File containing the certificate used for pop3 ONLY. If not
# specified, the global certificate is used. A value of "disabled"
# will disable SSL/TLS for pop3.
#
-#tls_pop3_cert_file: <none>
+#pop3_tls_cert_file: <none>
# File containing the private key belonging to the pop3-specific
# server certificate. If not specified, the global private key is
# used. A value of "disabled" will disable SSL/TLS for pop3.
#
-#tls_pop3_key_file: <none>
+#pop3_tls_key_file: <none>
# File containing the certificate used for lmtp ONLY. If not
# specified, the global certificate is used. A value of "disabled"
# will disable TLS for lmtp.
#
-#tls_lmtp_cert_file: <none>
+#lmtp_tls_cert_file: <none>
# File containing the private key belonging to the lmtp-specific
# server certificate. If not specified, the global private key is
# used. A value of "disabled" will disable TLS for lmtp.
#
-#tls_lmtp_key_file: <none>
+#lmtp_tls_key_file: <none>
# File containing the certificate used for sieve ONLY. If not
# specified, the global certificate is used. A value of "disabled"
# will disable TLS for sieve.
#
-#tls_sieve_cert_file: <none>
+#sieve_tls_cert_file: <none>
# File containing the private key belonging to the sieve-specific
# server certificate. If not specified, the global private key is
# used. A value of "disabled" will disable TLS for sieve.
#
-#tls_sieve_key_file: <none>
+#sieve_tls_key_file: <none>
# File containing one or more Certificate Authority (CA) certificates.
#
diff --git a/mail/cyrus-imapd23/files/patch-aa b/mail/cyrus-imapd23/files/patch-aa
index 34dc4a7d4d9b..fccb317f9515 100644
--- a/mail/cyrus-imapd23/files/patch-aa
+++ b/mail/cyrus-imapd23/files/patch-aa
@@ -1,12 +1,13 @@
---- man/Makefile.in.orig Tue Sep 1 03:49:14 1998
-+++ man/Makefile.in Mon May 10 02:27:39 1999
-@@ -52,7 +52,7 @@
+Index: man/Makefile.in
+diff -u man/Makefile.in.orig man/Makefile.in
+--- man/Makefile.in.orig Fri Feb 28 03:12:33 2003
++++ man/Makefile.in Fri Mar 21 14:14:24 2003
+@@ -69,7 +69,7 @@
MAN3 = $(srcdir)/imclient.3
- MAN5 = $(srcdir)/imapd.conf.5 $(srcdir)/krb.equiv.5
- MAN8 = $(srcdir)/arbitron.8 $(srcdir)/collectnews.8 $(srcdir)/deliver.8 \
+ MAN5 = imapd.conf.5 $(srcdir)/krb.equiv.5 $(srcdir)/cyrus.conf.5
+ MAN8 = $(srcdir)/arbitron.8 $(srcdir)/deliver.8 \
- $(srcdir)/fud.8 $(srcdir)/imapd.8 $(srcdir)/pop3d.8 $(srcdir)/quota.8 \
+ $(srcdir)/fud.8 $(srcdir)/imapd.8 $(srcdir)/pop3d.8 $(srcdir)/cyrquota.8 \
$(srcdir)/reconstruct.8 $(srcdir)/rmnews.8 $(srcdir)/syncnews.8 \
- $(srcdir)/mbpath.8 $(srcdir)/timsieved.8
-
-
+ $(srcdir)/mbpath.8 $(srcdir)/timsieved.8 $(srcdir)/master.8 \
+ $(srcdir)/lmtpd.8 $(srcdir)/idled.8 $(srcdir)/ctl_mboxlist.8 \
diff --git a/mail/cyrus-imapd23/files/patch-ah b/mail/cyrus-imapd23/files/patch-ah
deleted file mode 100644
index 52c44e1c25db..000000000000
--- a/mail/cyrus-imapd23/files/patch-ah
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: imap/lmtpengine.h
-diff -u imap/lmtpengine.h.orig imap/lmtpengine.h
---- imap/lmtpengine.h.orig Sun Feb 10 10:53:58 2002
-+++ imap/lmtpengine.h Thu Feb 21 14:16:52 2002
-@@ -44,7 +44,7 @@
- #define LMTPENGINE_H
-
- /* configuration parameters */
--#define DEFAULT_SENDMAIL ("/usr/lib/sendmail")
-+#define DEFAULT_SENDMAIL ("/usr/sbin/sendmail")
- #define DEFAULT_POSTMASTER ("postmaster")
-
- #define SENDMAIL (config_getstring("sendmail", DEFAULT_SENDMAIL))
diff --git a/mail/cyrus-imapd23/files/patch-bc b/mail/cyrus-imapd23/files/patch-bc
index 158b0dda9aad..089a879af595 100644
--- a/mail/cyrus-imapd23/files/patch-bc
+++ b/mail/cyrus-imapd23/files/patch-bc
@@ -1,28 +1,20 @@
Index: imap/Makefile.in
diff -u imap/Makefile.in.orig imap/Makefile.in
---- imap/Makefile.in.orig Tue Dec 10 09:52:43 2002
-+++ imap/Makefile.in Tue Feb 4 20:28:12 2003
-@@ -61,7 +61,7 @@
- CYRUS_USER=@cyrus_user@
- CYRUS_GROUP=@cyrus_group@
-
--DEFS = @DEFS@ @LOCALDEFS@
-+DEFS = @DEFS@ @LOCALDEFS@ -DCONFIG_FILENAME=\"$(prefix)/etc/imapd.conf\"
- CPPFLAGS = -I. -I.. -I$(srcdir) -I$(srcdir)/../lib -I$(srcdir)/../sieve -I$(srcdir)/../acap @COM_ERR_CPPFLAGS@ @SIEVE_CPPFLAGS@ @CPPFLAGS@ @SASLFLAGS@
- IMAP_LIBS = @IMAP_LIBS@
- SIEVE_LIBS = @SIEVE_LIBS@
-@@ -243,12 +243,12 @@
- mupdate: mupdate.o mupdate-slave.o mupdate-client.o libimap.a $(DEPLIBS)
+--- imap/Makefile.in.orig Fri Feb 28 03:10:28 2003
++++ imap/Makefile.in Fri Mar 21 14:28:10 2003
+@@ -232,13 +232,13 @@
+ libimap.a $(DEPLIBS)
$(CC) $(LDFLAGS) -o mupdate \
$(SERVICETHREAD) mupdate.o mupdate-slave.o mupdate-client.o \
-- libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) -lpthread
-+ libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(PTHREAD_LIBS)
+- mutex_pthread.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) -lpthread
++ mutex_pthread.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(PTHREAD_LIBS)
- mupdate.pure: mupdate.o mupdate-slave.o mupdate-client.o libimap.a $(DEPLIBS)
+ 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 \
-- libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) -lpthread
-+ libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(PTHREAD_LIBS)
+- mutex_pthread.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) -lpthread
++ mutex_pthread.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(PTHREAD_LIBS)
- pop3d: pop3d.o tls.o libimap.a $(DEPLIBS) $(SERVICE)
- $(CC) $(LDFLAGS) -o pop3d pop3d.o tls.o $(SERVICE) \
+ 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-imapd23/files/patch-bd b/mail/cyrus-imapd23/files/patch-bd
deleted file mode 100644
index 83a7d53f4c40..000000000000
--- a/mail/cyrus-imapd23/files/patch-bd
+++ /dev/null
@@ -1,14 +0,0 @@
-*** imap/config.c.orig Thu Mar 9 19:07:14 2000
---- imap/config.c Thu Mar 9 19:06:48 2000
-***************
-*** 39,45 ****
---- 39,47 ----
-
- extern int errno;
-
-+ #if !defined(CONFIG_FILENAME)
- #define CONFIG_FILENAME "/etc/imapd.conf"
-+ #endif
-
- struct configlist {
- char *key;
diff --git a/mail/cyrus-imapd23/files/patch-be b/mail/cyrus-imapd23/files/patch-be
deleted file mode 100644
index 707298b92662..000000000000
--- a/mail/cyrus-imapd23/files/patch-be
+++ /dev/null
@@ -1,13 +0,0 @@
---- imap/krbck.c.orig Sat Dec 21 02:08:21 1996
-+++ imap/krbck.c Wed Oct 8 13:56:58 1997
-@@ -29,7 +29,9 @@
-
- #define EXIT_CHOKE (int) 10
-
--#define CONFIG_FILENAME "/etc/imapd.conf"
-+#if !defined(CONFIG_FILENAME)
-+ #define CONFIG_FILENAME "/etc/imapd.conf"
-+#endif
- #define MAX_FILENAME_LEN 255
-
- int errno;
diff --git a/mail/cyrus-imapd23/files/patch-config.h.in b/mail/cyrus-imapd23/files/patch-config.h.in
new file mode 100644
index 000000000000..f49e1e525f4b
--- /dev/null
+++ b/mail/cyrus-imapd23/files/patch-config.h.in
@@ -0,0 +1,17 @@
+Index: config.h.in
+diff -u config.h.in.orig config.h.in
+--- config.h.in.orig Thu Mar 20 04:04:36 2003
++++ config.h.in Fri Mar 21 14:33:39 2003
+@@ -360,8 +360,12 @@
+ #define FNAME_DOMAINDIR "/domain/"
+ #define FNAME_LOGDIR "/log/"
+ #define FNAME_PTSDB "/ptclient/ptscache.db"
++#if !defined(CONFIG_FILENAME)
+ #define CONFIG_FILENAME "/etc/imapd.conf"
++#endif
++#if !defined(DEFAULT_MASTER_CONFIG_FILENAME)
+ #define DEFAULT_MASTER_CONFIG_FILENAME "/etc/cyrus.conf"
++#endif
+
+ #ifndef HAVE_SHUTDOWN
+ #define shutdown(fd, mode) 0
diff --git a/mail/cyrus-imapd23/files/patch-dc b/mail/cyrus-imapd23/files/patch-dc
index 10bec3adc883..f2f5f074e332 100644
--- a/mail/cyrus-imapd23/files/patch-dc
+++ b/mail/cyrus-imapd23/files/patch-dc
@@ -1,13 +1,14 @@
Index: master/Makefile.in
diff -u master/Makefile.in.orig master/Makefile.in
---- master/Makefile.in.orig Tue Feb 4 20:30:08 2003
-+++ master/Makefile.in Tue Feb 4 20:31:00 2003
-@@ -52,7 +52,7 @@
+--- master/Makefile.in.orig Fri Feb 7 07:41:03 2003
++++ master/Makefile.in Fri Mar 21 18:02:28 2003
+@@ -52,7 +52,8 @@
CYRUS_USER=@cyrus_user@
CYRUS_GROUP=@cyrus_group@
-DEFS = @DEFS@ @LOCALDEFS@
-+DEFS = @DEFS@ @LOCALDEFS@ -DCONFIG_FILENAME=\"$(prefix)/etc/cyrus.conf\"
++DEFS = @DEFS@ @LOCALDEFS@ -DCONFIG_FILENAME=\"$(prefix)/etc/imapd.conf\" \
++ -DDEFAULT_MASTER_CONFIG_FILENAME=\"$(prefix)/etc/cyrus.conf\"
CPPFLAGS = -I. -I.. -I$(srcdir) -I$(srcdir)/../lib @CPPFLAGS@ @COM_ERR_CPPFLAGS@
- DEPLIBS = ../lib/libcyrus.a @DEPLIBS@
+ DEPLIBS = ../lib/libcyrus_min.a @DEPLIBS@
diff --git a/mail/cyrus-imapd23/files/patch-dd b/mail/cyrus-imapd23/files/patch-dd
deleted file mode 100644
index 94c0d694fa90..000000000000
--- a/mail/cyrus-imapd23/files/patch-dd
+++ /dev/null
@@ -1,14 +0,0 @@
-Index: master/masterconf.c
-diff -u master/masterconf.c.orig master/masterconf.c
---- master/masterconf.c.orig Wed May 24 05:56:30 2000
-+++ master/masterconf.c Sat Jan 6 06:07:22 2001
-@@ -60,7 +60,9 @@
-
- extern int errno;
-
-+#if !defined(CONFIG_FILENAME)
- #define CONFIG_FILENAME "/etc/cyrus.conf"
-+#endif
-
- struct configlist {
- char *key;
diff --git a/mail/cyrus-imapd23/files/patch-dg b/mail/cyrus-imapd23/files/patch-dg
index b413044ffd6c..5c54d21287d8 100644
--- a/mail/cyrus-imapd23/files/patch-dg
+++ b/mail/cyrus-imapd23/files/patch-dg
@@ -1,10 +1,10 @@
Index: tools/mkimap
diff -u tools/mkimap.orig tools/mkimap
---- tools/mkimap.orig Fri Sep 28 01:02:34 2001
-+++ tools/mkimap Tue Jan 28 18:00:32 2003
-@@ -64,6 +64,9 @@
- $nosievedir = 0;
- $hashispool = 0;
+--- tools/mkimap.orig Mon Mar 10 03:39:36 2003
++++ tools/mkimap Fri Mar 21 17:24:10 2003
+@@ -61,6 +61,9 @@
+
+ $imapdconf = shift || "/etc/imapd.conf";
+$cyrus_user = $ENV{CYRUS_USER} || "%%CYRUS_USER%%";
+$cyrus_group = $ENV{CYRUS_GROUP} || "%%CYRUS_GROUP%%";
@@ -12,27 +12,25 @@ diff -u tools/mkimap.orig tools/mkimap
open CONF, $imapdconf or die "can't open $imapdconf";
print "reading configure file...\n";
while (<CONF>) {
-@@ -117,6 +120,8 @@
- mkdir "log", 0755;
+@@ -86,6 +89,7 @@
+
+ print "configuring $d...\n";
+
++mkdir $d, 0755;
+ chdir $d or die "couldn't change to $d";
+
+ mkdir "proc", 0755;
+@@ -95,11 +99,14 @@
mkdir "msg", 0755;
+ mkdir "ptclient", 0755;
+system "/usr/sbin/chown -R $cyrus_user:$cyrus_group .";
+
- # create the sieve stuff
- if (!$nosievedir) {
- print "creating $sievedir...\n";
-@@ -125,6 +130,7 @@
- if (chdir $sievedir) {
- foreach $i ("a".."z") { mkdir "$i", 0755; }
- }
-+ system "/usr/sbin/chown -R $cyrus_user:$cyrus_group $sievedir";
- }
-
- $flag = 0;
-@@ -136,6 +142,7 @@
+ while ($part = shift @parts) {
+ print "creating $part...\n";
+ mkdir $part, 0755;
chdir $part or die "couldn't change to partition $part";
mkdir "stage.", 0755;
- if ($hashispool) { foreach $i ("a".."z") { mkdir $i, 0755; } }
+ system "/usr/sbin/chown -R $cyrus_user:$cyrus_group $part";
}
diff --git a/mail/cyrus-imapd23/files/patch-di b/mail/cyrus-imapd23/files/patch-di
deleted file mode 100644
index ba35e969ab60..000000000000
--- a/mail/cyrus-imapd23/files/patch-di
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: notifyd/notify_mailto.c
-diff -u notifyd/notify_mailto.c.orig notifyd/notify_mailto.c
---- notifyd/notify_mailto.c.orig Tue Mar 19 00:14:17 2002
-+++ notifyd/notify_mailto.c Thu May 2 03:51:15 2002
-@@ -56,7 +56,7 @@
- #include "rfc822date.h"
- #include <sieve_interface.h>
-
--#define DEFAULT_SENDMAIL ("/usr/lib/sendmail")
-+#define DEFAULT_SENDMAIL ("/usr/sbin/sendmail")
- #define DEFAULT_POSTMASTER ("postmaster")
-
- #define SENDMAIL (config_getstring("sendmail", DEFAULT_SENDMAIL))
diff --git a/mail/cyrus-imapd23/files/patch-lib::Makefile.in b/mail/cyrus-imapd23/files/patch-lib::Makefile.in
new file mode 100644
index 000000000000..b85111fb7723
--- /dev/null
+++ b/mail/cyrus-imapd23/files/patch-lib::Makefile.in
@@ -0,0 +1,13 @@
+Index: lib/Makefile.in
+diff -u lib/Makefile.in.orig lib/Makefile.in
+--- lib/Makefile.in.orig Thu Feb 13 04:12:42 2003
++++ lib/Makefile.in Fri Mar 21 15:11:50 2003
+@@ -56,7 +56,7 @@
+ INSTALL = @INSTALL@
+ RANLIB = @RANLIB@
+
+-DEFS = @DEFS@
++DEFS = @DEFS@ -DCONFIG_FILENAME=\"$(prefix)/etc/imapd.conf\"
+ CPPFLAGS = -I.. @CPPFLAGS@ @COM_ERR_CPPFLAGS@ @SASLFLAGS@
+ LIBS = @LIBS@
+
diff --git a/mail/cyrus-imapd23/files/patch-lib::imapoptions b/mail/cyrus-imapd23/files/patch-lib::imapoptions
new file mode 100644
index 000000000000..c46c80a342a0
--- /dev/null
+++ b/mail/cyrus-imapd23/files/patch-lib::imapoptions
@@ -0,0 +1,22 @@
+Index: lib/imapoptions
+diff -u lib/imapoptions.orig lib/imapoptions
+--- lib/imapoptions.orig Thu Mar 20 04:00:39 2003
++++ lib/imapoptions Fri Mar 21 15:27:44 2003
+@@ -454,7 +454,7 @@
+ /* The mechanism used by the server to verify plaintext passwords.
+ Possible values include "auxprop", "saslauthd", and "pwcheck". */
+
+-{ "sendmail", "/usr/lib/sendmail", STRING }
++{ "sendmail", "/usr/sbin/sendmail", STRING }
+ /* The pathname of the sendmail executable. Sieve invokes sendmail
+ for sending rejections, redirects and vacation responses. */
+
+@@ -475,7 +475,7 @@
+ /* Maximum number of sieve scripts any user may have, enforced at
+ submission by timsieved(8). */
+
+-{ "sievedir", "/usr/sieve", STRING }
++{ "sievedir", "/var/imap/sieve", STRING }
+ /* If sieveusehomedir is false, this directory is searched for Sieve
+ scripts. */
+
diff --git a/mail/cyrus-imapd23/files/patch-sieve::Makefile.in b/mail/cyrus-imapd23/files/patch-sieve::Makefile.in
new file mode 100644
index 000000000000..cbc212929f04
--- /dev/null
+++ b/mail/cyrus-imapd23/files/patch-sieve::Makefile.in
@@ -0,0 +1,21 @@
+Index: sieve/Makefile.in
+diff -u sieve/Makefile.in.orig sieve/Makefile.in
+--- sieve/Makefile.in.orig Fri Feb 28 03:13:50 2003
++++ sieve/Makefile.in Mon Mar 24 02:26:24 2003
+@@ -32,6 +32,7 @@
+ YACC = @YACC@
+ YFLAGS = -d
+ LEX = @LEX@
++INSTALL = @INSTALL@
+ RANLIB = @RANLIB@
+ COMPILE_ET = @COMPILE_ET@
+
+@@ -58,7 +59,7 @@
+
+ install: sievec
+ $(srcdir)/../install-sh -d ${DESTDIR}$(cyrus_prefix)/bin
+- $(srcdir)/../install-sh -m 755 sievec $(DESTDIR)$(cyrus_prefix)/bin || exit
++ $(INSTALL) -m 755 sievec $(DESTDIR)$(cyrus_prefix)/bin || exit
+
+ test: $(DEPLIBS) libsieve.a test.o
+ $(CC) $(LDFLAGS) -o test test.o libsieve.a $(DEPLIBS) $(LIBS)
diff --git a/mail/cyrus-imapd23/pkg-plist b/mail/cyrus-imapd23/pkg-plist
index 6e279025d1e3..768303910393 100644
--- a/mail/cyrus-imapd23/pkg-plist
+++ b/mail/cyrus-imapd23/pkg-plist
@@ -3,6 +3,7 @@ bin/imtest
bin/installsieve
bin/lmtptest
bin/mupdatetest
+bin/nntptest
bin/pop3test
bin/sieveshell
bin/sivtest
@@ -15,24 +16,28 @@ cyrus/bin/cvt_cyrusdb
cyrus/bin/cyrdump
cyrus/bin/cyrquota
cyrus/bin/deliver
+%%NNTP%%cyrus/bin/expirenews
cyrus/bin/feedcyrus
+%%NNTP%%cyrus/bin/fetchnews
cyrus/bin/fud
cyrus/bin/imapd
cyrus/bin/ipurge
cyrus/bin/lmtpd
+%%MURDER%%cyrus/bin/lmtpproxyd
+cyrus/bin/masssievec
cyrus/bin/master
cyrus/bin/mbpath
cyrus/bin/mkimap
+%%MURDER%%cyrus/bin/mupdate
+%%NNTP%%cyrus/bin/nntpd
cyrus/bin/notifyd
cyrus/bin/pop3d
+%%MURDER%%cyrus/bin/proxyd
cyrus/bin/reconstruct
+cyrus/bin/sievec
cyrus/bin/squatter
cyrus/bin/timsieved
cyrus/bin/tls_prune
-%%MURDER%%cyrus/bin/lmtpproxyd
-%%MURDER%%cyrus/bin/mupdate
-%%MURDER%%cyrus/bin/pop3proxyd
-%%MURDER%%cyrus/bin/proxyd
@unexec if cmp -s %D/etc/cyrus.conf %D/etc/cyrus.conf.dist; then rm -f %D/etc/cyrus.conf; fi
etc/cyrus.conf.dist
@exec [ -f %B/cyrus.conf ] || cp %B/%f %B/cyrus.conf
@@ -40,7 +45,6 @@ etc/cyrus.conf.dist
etc/imapd.conf.dist
@exec [ -f %B/imapd.conf ] || cp %B/%f %B/imapd.conf
etc/rc.d/imapd.sh.sample
-include/cyrus/acap.h
include/cyrus/acl.h
include/cyrus/assert.h
include/cyrus/auth.h
@@ -50,10 +54,13 @@ include/cyrus/cyrusdb.h
include/cyrus/glob.h
include/cyrus/gmtoff.h
include/cyrus/hash.h
+include/cyrus/imapopts.h
include/cyrus/imapurl.h
include/cyrus/imclient.h
include/cyrus/imparse.h
include/cyrus/iptostring.h
+include/cyrus/libconfig.h
+include/cyrus/libcyr_cfg.h
include/cyrus/lock.h
include/cyrus/lsort.h
include/cyrus/map.h
@@ -64,11 +71,13 @@ include/cyrus/parseaddr.h
include/cyrus/prot.h
include/cyrus/retry.h
include/cyrus/rfc822date.h
+include/cyrus/strhash.h
+include/cyrus/strhash.o
include/cyrus/stristr.h
include/cyrus/sysexits.h
include/cyrus/util.h
include/cyrus/xmalloc.h
-lib/libacap.a
+lib/libcyrus_min.a
lib/libcyrus.a
lib/perl5/%%PERL_VERSION%%/man/man3/Cyrus::IMAP.3
lib/perl5/%%PERL_VERSION%%/man/man3/Cyrus::IMAP::Admin.3
diff --git a/mail/cyrus-imapd24/Makefile b/mail/cyrus-imapd24/Makefile
index 4b3405e418f3..6aff5810e10b 100644
--- a/mail/cyrus-imapd24/Makefile
+++ b/mail/cyrus-imapd24/Makefile
@@ -6,15 +6,13 @@
#
PORTNAME= cyrus-imapd
-PORTVERSION= 2.1.12
+PORTVERSION= 2.2.0.a
#PORTREVISION= 0
+DISTNAME= ${PORTNAME}-2.2.0-ALPHA
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/
-PATCH_SITES= http://www.imasy.or.jp/~ume/ipv6/
-PATCHFILES= ${DISTNAME}-ipv6-20030204.diff.gz
-
MAINTAINER= ume@FreeBSD.org
COMMENT= The cyrus mail server, supporting POP3 and IMAP4 protocols
@@ -35,8 +33,15 @@ CONFIGURE_ARGS= --with-cyrus-prefix=${PREFIX}/cyrus \
--with-auth=unix \
--with-com_err
-.if defined(WITH_SKIPLIST_MBOX)
-CONFIGURE_ARGS+=--with-mboxlist-db=skiplist
+.if defined(WITHOUT_SKIPLIST)
+CONFIGURE_ARGS+=--with-mboxlist-db=berkeley --with-seen-db=flat
+.endif
+
+.if defined(WITH_NNTP)
+CONFIGURE_ARGS+=--enable-nntp
+PLIST_SUB+= NNTP=""
+.else
+PLIST_SUB+= NNTP="@comment "
.endif
.if defined(WITH_MURDER)
@@ -48,6 +53,30 @@ PLIST_SUB+= MURDER=""
PLIST_SUB+= MURDER="@comment "
.endif
+.if defined(WITH_FULLDIRHASH)
+CONFIGURE_ARGS+=--enable-fulldirhash
+.endif
+
+.if defined(WITH_LISTEXT)
+CONFIGURE_ARGS+=--enable-listext
+.endif
+
+.if defined(WITH_ANNOTATEMORE)
+CONFIGURE_ARGS+=--enable-annotatemore
+.endif
+
+.if defined(WITH_NETSCAPEHACK)
+CONFIGURE_ARGS+=--enable-netscapehack
+.endif
+
+.if defined(WITH_DRAC)
+EXTRA_PATCHES+= ${FILESDIR}/drac_auth.patch \
+ ${FILESDIR}/extra-patch-acconfig.h ${FILESDIR}/extra-patch-aclocal.m4
+USE_AUTOCONF= YES
+CONFIGURE_ARGS+=--with-drac=${LOCALBASE}
+BUILD_DEPENDS+= ${LOCALBASE}/lib/libdrac.a:${PORTSDIR}/mail/drac
+.endif
+
.if defined(WITH_SNMP)
# It seems not compilable due to lack of auto_nlist_value() in libucdagent.
LIB_DEPENDS+= netsnmp.5:${PORTSDIR}/net/net-snmp
@@ -60,21 +89,24 @@ CYRUS_USER?= cyrus
CYRUS_GROUP?= cyrus
MAN1= cyradm.1 imtest.1 installsieve.1 lmtptest.1 mupdatetest.1 \
- pop3test.1 sieveshell.1 sivtest.1 smtptest.1
+ nntptest.1 pop3test.1 sieveshell.1 sivtest.1 smtptest.1
MAN3= imclient.3
MAN5= cyrus.conf.5 imapd.conf.5 krb.equiv.5
-MAN8= arbitron.8 chk_cyrus.8 collectnews.8 ctl_cyrusdb.8 \
- ctl_deliver.8 ctl_mboxlist.8 cvt_cyrusdb.8 cyrquota.8 \
- deliver.8 fud.8 idled.8 imapd.8 ipurge.8 lmtpd.8 master.8 \
- mbpath.8 notifyd.8 pop3d.8 reconstruct.8 rmnews.8 \
- squatter.8 syncnews.8 timsieved.8 tls_prune.8
+MAN8= arbitron.8 chk_cyrus.8 nntpd.8 ctl_cyrusdb.8 ctl_deliver.8 \
+ ctl_mboxlist.8 cvt_cyrusdb.8 cyrquota.8 deliver.8 \
+ expirenews.8 fetchnews.8 fud.8 idled.8 imapd.8 ipurge.8 \
+ lmtpd.8 master.8 mbpath.8 notifyd.8 pop3d.8 reconstruct.8 \
+ rmnews.8 squatter.8 syncnews.8 timsieved.8 tls_prune.8
DOCS= altnamespace anoncvs bugs changes faq feedback index \
install install-admin-mb install-auth install-compile \
- install-configure install-murder install-perf \
- install-prereq install-sieve install-snmpmon install-testing \
- install-upgrade mailing-list man notes os overview questions \
- readme sieve sieve-protocol specs
+ 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
+
+DOCSDIR= ${PREFIX}/share/doc/cyrus-imapd22
PKGDEINSTALL= ${WRKDIR}/pkg-deinstall
PKGINSTALL= ${WRKDIR}/pkg-install
@@ -97,42 +129,49 @@ post-patch:
-e "s|%%CYRUS_USER%%|${CYRUS_USER}|g" \
-e "s|%%CYRUS_GROUP%%|${CYRUS_GROUP}|g" \
${WRKSRC}/tools/mkimap
+ @${REINPLACE_CMD} -e "s|/etc/|${PREFIX}/etc/|g" \
+ -e "s|/usr/sieve|/var/imap/sieve|g" \
+ ${WRKSRC}/tools/masssievec
@${CP} ${WRKSRC}/man/quota.8 ${WRKSRC}/man/cyrquota.8
.if ${PERL_LEVEL} < 500600
@${REINPLACE_CMD} -e "s|exec perl -x|exec perl -I${LOCALBASE}/lib/perl5/site_perl/${PERL_VER} -x|" \
${WRKSRC}/perl/sieve/scripts/sieveshell.pl
.endif
+.if defined(WITH_DRAC)
+pre-configure:
+ cd ${WRKSRC} && ${AUTOHEADER}
+.endif
+
post-install:
@${MV} ${PREFIX}/cyrus/bin/quota ${PREFIX}/cyrus/bin/cyrquota
.if !defined(NOPORTDOCS)
- ${MKDIR} ${PREFIX}/share/doc/cyrus-imapd2/man
- ${MKDIR} ${PREFIX}/share/doc/cyrus-imapd2/text
+ ${MKDIR} ${DOCSDIR}/man
+ ${MKDIR} ${DOCSDIR}/text
.for file in ${DOCS}
- ${INSTALL_DATA} ${WRKSRC}/doc/${file}.html \
- ${PREFIX}/share/doc/cyrus-imapd2
- @${ECHO} share/doc/cyrus-imapd2/${file}.html >>${TMPPLIST}
+ ${INSTALL_DATA} ${WRKSRC}/doc/${file}.html ${DOCSDIR}
+ @${ECHO} share/doc/cyrus-imapd22/${file}.html >>${TMPPLIST}
.endfor
.for file in ${MAN1} ${MAN3} ${MAN5} ${MAN8}
ofile=`echo ${file} | sed s/cyrquota/quota/`; \
if [ -f ${WRKSRC}/doc/man/$${ofile}.html ]; then \
${INSTALL_DATA} ${WRKSRC}/doc/man/$${ofile}.html \
- ${PREFIX}/share/doc/cyrus-imapd2/man/$${ofile}.html; \
- ${ECHO} share/doc/cyrus-imapd2/man/$${ofile}.html \
+ ${DOCSDIR}/man/$${ofile}.html; \
+ ${ECHO} share/doc/cyrus-imapd22/man/$${ofile}.html \
>>${TMPPLIST}; \
fi
.endfor
- ${INSTALL_DATA} ${WRKSRC}/doc/cyrusv2.mc \
- ${PREFIX}/share/doc/cyrus-imapd2
- @${ECHO} share/doc/cyrus-imapd2/cyrusv2.mc >>${TMPPLIST}
+.for file in cyrusv2.mc murder.png netnews.png
+ ${INSTALL_DATA} ${WRKSRC}/doc/${file} ${DOCSDIR}
+ @${ECHO} share/doc/cyrus-imapd22/${file} >>${TMPPLIST}
+.endfor
.for file in ${DOCS}
- ${INSTALL_DATA} ${WRKSRC}/doc/text/${file} \
- ${PREFIX}/share/doc/cyrus-imapd2/text
- @${ECHO} share/doc/cyrus-imapd2/text/${file} >>${TMPPLIST}
+ ${INSTALL_DATA} ${WRKSRC}/doc/text/${file} ${DOCSDIR}/text
+ @${ECHO} share/doc/cyrus-imapd22/text/${file} >>${TMPPLIST}
.endfor
- @${ECHO} "@dirrm share/doc/cyrus-imapd2/text" >>${TMPPLIST}
- @${ECHO} "@dirrm share/doc/cyrus-imapd2/man" >>${TMPPLIST}
- @${ECHO} "@dirrm share/doc/cyrus-imapd2" >>${TMPPLIST}
+ @${ECHO} "@dirrm share/doc/cyrus-imapd22/text" >>${TMPPLIST}
+ @${ECHO} "@dirrm share/doc/cyrus-imapd22/man" >>${TMPPLIST}
+ @${ECHO} "@dirrm share/doc/cyrus-imapd22" >>${TMPPLIST}
.endif
${INSTALL_SCRIPT} ${FILESDIR}/imapd.sh \
${PREFIX}/etc/rc.d/imapd.sh.sample
@@ -142,6 +181,8 @@ post-install:
${PREFIX}/etc/cyrus.conf.dist
${INSTALL_SCRIPT} ${WRKSRC}/tools/mkimap \
${PREFIX}/cyrus/bin/mkimap
+ ${INSTALL_SCRIPT} ${WRKSRC}/tools/masssievec \
+ ${PREFIX}/cyrus/bin/masssievec
@PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} \
POST-INSTALL
@${CAT} ${PKGMESSAGE}
diff --git a/mail/cyrus-imapd24/distinfo b/mail/cyrus-imapd24/distinfo
index b4732e5a5fb6..7df5b3151e0b 100644
--- a/mail/cyrus-imapd24/distinfo
+++ b/mail/cyrus-imapd24/distinfo
@@ -1,2 +1 @@
-MD5 (cyrus-imapd-2.1.12.tar.gz) = dc3355d0170509ccebd9788ed2daad39
-MD5 (cyrus-imapd-2.1.12-ipv6-20030204.diff.gz) = c4913b61d346b9b0422a6e0a5e5d0628
+MD5 (cyrus-imapd-2.2.0-ALPHA.tar.gz) = bf588d15288885602675d90439500e07
diff --git a/mail/cyrus-imapd24/files/drac_auth.patch b/mail/cyrus-imapd24/files/drac_auth.patch
new file mode 100644
index 000000000000..ec1ef5e99696
--- /dev/null
+++ b/mail/cyrus-imapd24/files/drac_auth.patch
@@ -0,0 +1,308 @@
+Index: acconfig.h
+diff -u acconfig.h.orig acconfig.h
+--- acconfig.h.orig Fri Feb 14 05:32:50 2003
++++ acconfig.h Fri Mar 21 20:13:20 2003
+@@ -98,6 +98,9 @@
+ /* do we have SASL support for APOP? */
+ #undef HAVE_APOP
+
++/* the Dynamic Relay Authorization Control package */
++#undef DRAC_AUTH
++
+ /* do we have OpenSSL? */
+ #undef HAVE_SSL
+
+Index: configure.in
+diff -u configure.in.orig configure.in
+--- configure.in.orig Wed Mar 19 04:15:14 2003
++++ configure.in Fri Mar 21 20:20:54 2003
+@@ -981,6 +981,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)
++ 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 Feb 28 03:10:28 2003
++++ imap/Makefile.in Fri Mar 21 20:23:02 2003
+@@ -67,6 +67,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@
+
+@@ -206,17 +207,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)
+
+ proxyd: $(PROXYDOBJS) mutex_fake.o libimap.a $(DEPLIBS) $(SERVICE)
+ $(CC) $(LDFLAGS) -o proxyd \
+@@ -242,7 +243,7 @@
+
+ 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) \
+- mutex_fake.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP)
++ mutex_fake.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(DRAC_LIBS)
+
+ nntpd: nntpd.o backend.o index.o spool.o netnews.o wildmat.o tls.o \
+ mutex_fake.o nntp_err.o libimap.a $(DEPLIBS) $(SERVICE)
+Index: imap/imapd.c
+diff -u imap/imapd.c.orig imap/imapd.c
+--- imap/imapd.c.orig Thu Mar 6 03:32:05 2003
++++ imap/imapd.c Fri Mar 21 23:25:27 2003
+@@ -126,6 +126,18 @@
+ 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;
+@@ -447,6 +459,23 @@
+ /* setup for sending IMAP IDLE notifications */
+ idle_enabled();
+
++#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);
+@@ -533,6 +562,15 @@
+ 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 */
+@@ -575,6 +613,11 @@
+ 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();
+
+@@ -645,6 +688,10 @@
+
+ cyrus_done();
+
++#ifdef DRAC_AUTH
++ if (drac.interval) (void) dracdisc((char **)NULL);
++#endif /* DRAC_AUTH */
++
+ exit(code);
+ }
+
+@@ -667,6 +714,35 @@
+ shut_down(code);
+ }
+
++#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
+ */
+@@ -1664,6 +1740,11 @@
+
+ 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);
+
+@@ -1786,6 +1867,11 @@
+
+ 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);
+Index: imap/pop3d.c
+diff -u imap/pop3d.c.orig imap/pop3d.c
+--- imap/pop3d.c.orig Thu Mar 13 01:38:16 2003
++++ imap/pop3d.c Fri Mar 21 23:37:11 2003
+@@ -101,6 +101,10 @@
+ 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;
+@@ -395,6 +399,10 @@
+ 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
+@@ -1422,6 +1430,21 @@
+ 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 */
+ }
+ else {
+ /* remote mailbox */
+Index: imap/version.c
+diff -u imap/version.c.orig imap/version.c
+--- imap/version.c.orig Fri Feb 14 05:33:02 2003
++++ imap/version.c Fri Mar 21 20:13:21 2003
+@@ -143,6 +143,10 @@
+ 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 Thu Mar 20 04:00:39 2003
++++ lib/imapoptions Fri Mar 21 20:32:15 2003
+@@ -154,6 +154,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. */
++
+ { "duplicatesuppression", 1, SWITCH }
+ /* If enabled, lmtpd will suppress delivery of a message to a mailbox if
+ a message with the same message-id (or resent-message-id) is recorded
diff --git a/mail/cyrus-imapd24/files/extra-patch-acconfig.h b/mail/cyrus-imapd24/files/extra-patch-acconfig.h
new file mode 100644
index 000000000000..05e561b78963
--- /dev/null
+++ b/mail/cyrus-imapd24/files/extra-patch-acconfig.h
@@ -0,0 +1,17 @@
+Index: acconfig.h
+diff -u acconfig.h.orig acconfig.h
+--- acconfig.h.orig Fri Feb 14 05:32:50 2003
++++ acconfig.h Fri Mar 21 21:03:25 2003
+@@ -263,8 +263,12 @@
+ #define FNAME_DOMAINDIR "/domain/"
+ #define FNAME_LOGDIR "/log/"
+ #define FNAME_PTSDB "/ptclient/ptscache.db"
++#if !defined(CONFIG_FILENAME)
+ #define CONFIG_FILENAME "/etc/imapd.conf"
++#endif
++#if !defined(DEFAULT_MASTER_CONFIG_FILENAME)
+ #define DEFAULT_MASTER_CONFIG_FILENAME "/etc/cyrus.conf"
++#endif
+
+ #ifndef HAVE_SHUTDOWN
+ #define shutdown(fd, mode) 0
diff --git a/mail/cyrus-imapd24/files/extra-patch-aclocal.m4 b/mail/cyrus-imapd24/files/extra-patch-aclocal.m4
new file mode 100644
index 000000000000..43342ca5f4d6
--- /dev/null
+++ b/mail/cyrus-imapd24/files/extra-patch-aclocal.m4
@@ -0,0 +1,22 @@
+Index: aclocal.m4
+diff -u aclocal.m4.orig aclocal.m4
+--- aclocal.m4.orig Thu Mar 20 04:04:34 2003
++++ aclocal.m4 Fri Mar 21 20:09:38 2003
+@@ -453,7 +453,7 @@
+ BDB_LIBADD=""
+ fi
+
+- for dbname in db-4.1 db4.1 db-4.0 db4.0 db-4 db4 db-3.3 db3.3 db-3.2 db3.2 db-3.1 db3.1 db-3 db3 db
++ for dbname in db-4.1 db4.1 db-4.0 db4.0 db-4 db-3.3 db3.3 db-3.2 db3.2 db-3.1 db3.1 db-3 db3 db
+ do
+ AC_CHECK_LIB($dbname, db_create, BDB_LIBADD="$BDB_LIBADD -l$dbname";
+ dblib="berkeley"; break, dblib="no")
+@@ -1574,7 +1574,7 @@
+ LIB_UCDSNMP=""
+ if test "$with_ucdsnmp" != no; then
+ AC_DEFINE(HAVE_UCDSNMP)
+- LIB_UCDSNMP="-lucdagent -lucdmibs -lsnmp"
++ LIB_UCDSNMP="-lucdagent -lucdmibs -lsnmp -lkvm"
+ AC_CHECK_LIB(rpm, rpmdbOpen,
+ LIB_UCDSNMP="${LIB_UCDSNMP} -lrpm -lpopt",,-lpopt)
+ fi
diff --git a/mail/cyrus-imapd24/files/imapd.conf b/mail/cyrus-imapd24/files/imapd.conf
index 8384d7892b02..8fbc33c976e4 100644
--- a/mail/cyrus-imapd24/files/imapd.conf
+++ b/mail/cyrus-imapd24/files/imapd.conf
@@ -277,6 +277,12 @@ sasl_pwcheck_method: saslauthd
#
#sasl_auto_transition: no
+# Whitespace separated list of mechanisms to allow (e.g. 'plain otp').
+# Used to restrict the mechanisms to a subset of the installed
+# plugins. The default is all available.
+#
+#sasl_mech_list: cram-md5 digest-md5
+
# Location of the opiekeys file
#
#sasl_opiekeys: /etc/opiekeys
@@ -295,49 +301,49 @@ sasl_pwcheck_method: saslauthd
# specified, the global certificate is used. A value of "disabled"
# will disable SSL/TLS for imap.
#
-#tls_imap_cert_file: <none>
+#imap_tls_cert_file: <none>
# File containing the private key belonging to the imap-specific
# server certificate. If not specified, the global private key is
# used. A value of "disabled" will disable SSL/TLS for imap.
#
-#tls_imap_key_file: <none>
+#imap_tls_key_file: <none>
# File containing the certificate used for pop3 ONLY. If not
# specified, the global certificate is used. A value of "disabled"
# will disable SSL/TLS for pop3.
#
-#tls_pop3_cert_file: <none>
+#pop3_tls_cert_file: <none>
# File containing the private key belonging to the pop3-specific
# server certificate. If not specified, the global private key is
# used. A value of "disabled" will disable SSL/TLS for pop3.
#
-#tls_pop3_key_file: <none>
+#pop3_tls_key_file: <none>
# File containing the certificate used for lmtp ONLY. If not
# specified, the global certificate is used. A value of "disabled"
# will disable TLS for lmtp.
#
-#tls_lmtp_cert_file: <none>
+#lmtp_tls_cert_file: <none>
# File containing the private key belonging to the lmtp-specific
# server certificate. If not specified, the global private key is
# used. A value of "disabled" will disable TLS for lmtp.
#
-#tls_lmtp_key_file: <none>
+#lmtp_tls_key_file: <none>
# File containing the certificate used for sieve ONLY. If not
# specified, the global certificate is used. A value of "disabled"
# will disable TLS for sieve.
#
-#tls_sieve_cert_file: <none>
+#sieve_tls_cert_file: <none>
# File containing the private key belonging to the sieve-specific
# server certificate. If not specified, the global private key is
# used. A value of "disabled" will disable TLS for sieve.
#
-#tls_sieve_key_file: <none>
+#sieve_tls_key_file: <none>
# File containing one or more Certificate Authority (CA) certificates.
#
diff --git a/mail/cyrus-imapd24/files/patch-aa b/mail/cyrus-imapd24/files/patch-aa
index 34dc4a7d4d9b..fccb317f9515 100644
--- a/mail/cyrus-imapd24/files/patch-aa
+++ b/mail/cyrus-imapd24/files/patch-aa
@@ -1,12 +1,13 @@
---- man/Makefile.in.orig Tue Sep 1 03:49:14 1998
-+++ man/Makefile.in Mon May 10 02:27:39 1999
-@@ -52,7 +52,7 @@
+Index: man/Makefile.in
+diff -u man/Makefile.in.orig man/Makefile.in
+--- man/Makefile.in.orig Fri Feb 28 03:12:33 2003
++++ man/Makefile.in Fri Mar 21 14:14:24 2003
+@@ -69,7 +69,7 @@
MAN3 = $(srcdir)/imclient.3
- MAN5 = $(srcdir)/imapd.conf.5 $(srcdir)/krb.equiv.5
- MAN8 = $(srcdir)/arbitron.8 $(srcdir)/collectnews.8 $(srcdir)/deliver.8 \
+ MAN5 = imapd.conf.5 $(srcdir)/krb.equiv.5 $(srcdir)/cyrus.conf.5
+ MAN8 = $(srcdir)/arbitron.8 $(srcdir)/deliver.8 \
- $(srcdir)/fud.8 $(srcdir)/imapd.8 $(srcdir)/pop3d.8 $(srcdir)/quota.8 \
+ $(srcdir)/fud.8 $(srcdir)/imapd.8 $(srcdir)/pop3d.8 $(srcdir)/cyrquota.8 \
$(srcdir)/reconstruct.8 $(srcdir)/rmnews.8 $(srcdir)/syncnews.8 \
- $(srcdir)/mbpath.8 $(srcdir)/timsieved.8
-
-
+ $(srcdir)/mbpath.8 $(srcdir)/timsieved.8 $(srcdir)/master.8 \
+ $(srcdir)/lmtpd.8 $(srcdir)/idled.8 $(srcdir)/ctl_mboxlist.8 \
diff --git a/mail/cyrus-imapd24/files/patch-ah b/mail/cyrus-imapd24/files/patch-ah
deleted file mode 100644
index 52c44e1c25db..000000000000
--- a/mail/cyrus-imapd24/files/patch-ah
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: imap/lmtpengine.h
-diff -u imap/lmtpengine.h.orig imap/lmtpengine.h
---- imap/lmtpengine.h.orig Sun Feb 10 10:53:58 2002
-+++ imap/lmtpengine.h Thu Feb 21 14:16:52 2002
-@@ -44,7 +44,7 @@
- #define LMTPENGINE_H
-
- /* configuration parameters */
--#define DEFAULT_SENDMAIL ("/usr/lib/sendmail")
-+#define DEFAULT_SENDMAIL ("/usr/sbin/sendmail")
- #define DEFAULT_POSTMASTER ("postmaster")
-
- #define SENDMAIL (config_getstring("sendmail", DEFAULT_SENDMAIL))
diff --git a/mail/cyrus-imapd24/files/patch-bc b/mail/cyrus-imapd24/files/patch-bc
index 158b0dda9aad..089a879af595 100644
--- a/mail/cyrus-imapd24/files/patch-bc
+++ b/mail/cyrus-imapd24/files/patch-bc
@@ -1,28 +1,20 @@
Index: imap/Makefile.in
diff -u imap/Makefile.in.orig imap/Makefile.in
---- imap/Makefile.in.orig Tue Dec 10 09:52:43 2002
-+++ imap/Makefile.in Tue Feb 4 20:28:12 2003
-@@ -61,7 +61,7 @@
- CYRUS_USER=@cyrus_user@
- CYRUS_GROUP=@cyrus_group@
-
--DEFS = @DEFS@ @LOCALDEFS@
-+DEFS = @DEFS@ @LOCALDEFS@ -DCONFIG_FILENAME=\"$(prefix)/etc/imapd.conf\"
- CPPFLAGS = -I. -I.. -I$(srcdir) -I$(srcdir)/../lib -I$(srcdir)/../sieve -I$(srcdir)/../acap @COM_ERR_CPPFLAGS@ @SIEVE_CPPFLAGS@ @CPPFLAGS@ @SASLFLAGS@
- IMAP_LIBS = @IMAP_LIBS@
- SIEVE_LIBS = @SIEVE_LIBS@
-@@ -243,12 +243,12 @@
- mupdate: mupdate.o mupdate-slave.o mupdate-client.o libimap.a $(DEPLIBS)
+--- imap/Makefile.in.orig Fri Feb 28 03:10:28 2003
++++ imap/Makefile.in Fri Mar 21 14:28:10 2003
+@@ -232,13 +232,13 @@
+ libimap.a $(DEPLIBS)
$(CC) $(LDFLAGS) -o mupdate \
$(SERVICETHREAD) mupdate.o mupdate-slave.o mupdate-client.o \
-- libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) -lpthread
-+ libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(PTHREAD_LIBS)
+- mutex_pthread.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) -lpthread
++ mutex_pthread.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(PTHREAD_LIBS)
- mupdate.pure: mupdate.o mupdate-slave.o mupdate-client.o libimap.a $(DEPLIBS)
+ 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 \
-- libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) -lpthread
-+ libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(PTHREAD_LIBS)
+- mutex_pthread.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) -lpthread
++ mutex_pthread.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(PTHREAD_LIBS)
- pop3d: pop3d.o tls.o libimap.a $(DEPLIBS) $(SERVICE)
- $(CC) $(LDFLAGS) -o pop3d pop3d.o tls.o $(SERVICE) \
+ 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-bd b/mail/cyrus-imapd24/files/patch-bd
deleted file mode 100644
index 83a7d53f4c40..000000000000
--- a/mail/cyrus-imapd24/files/patch-bd
+++ /dev/null
@@ -1,14 +0,0 @@
-*** imap/config.c.orig Thu Mar 9 19:07:14 2000
---- imap/config.c Thu Mar 9 19:06:48 2000
-***************
-*** 39,45 ****
---- 39,47 ----
-
- extern int errno;
-
-+ #if !defined(CONFIG_FILENAME)
- #define CONFIG_FILENAME "/etc/imapd.conf"
-+ #endif
-
- struct configlist {
- char *key;
diff --git a/mail/cyrus-imapd24/files/patch-be b/mail/cyrus-imapd24/files/patch-be
deleted file mode 100644
index 707298b92662..000000000000
--- a/mail/cyrus-imapd24/files/patch-be
+++ /dev/null
@@ -1,13 +0,0 @@
---- imap/krbck.c.orig Sat Dec 21 02:08:21 1996
-+++ imap/krbck.c Wed Oct 8 13:56:58 1997
-@@ -29,7 +29,9 @@
-
- #define EXIT_CHOKE (int) 10
-
--#define CONFIG_FILENAME "/etc/imapd.conf"
-+#if !defined(CONFIG_FILENAME)
-+ #define CONFIG_FILENAME "/etc/imapd.conf"
-+#endif
- #define MAX_FILENAME_LEN 255
-
- int errno;
diff --git a/mail/cyrus-imapd24/files/patch-config.h.in b/mail/cyrus-imapd24/files/patch-config.h.in
new file mode 100644
index 000000000000..f49e1e525f4b
--- /dev/null
+++ b/mail/cyrus-imapd24/files/patch-config.h.in
@@ -0,0 +1,17 @@
+Index: config.h.in
+diff -u config.h.in.orig config.h.in
+--- config.h.in.orig Thu Mar 20 04:04:36 2003
++++ config.h.in Fri Mar 21 14:33:39 2003
+@@ -360,8 +360,12 @@
+ #define FNAME_DOMAINDIR "/domain/"
+ #define FNAME_LOGDIR "/log/"
+ #define FNAME_PTSDB "/ptclient/ptscache.db"
++#if !defined(CONFIG_FILENAME)
+ #define CONFIG_FILENAME "/etc/imapd.conf"
++#endif
++#if !defined(DEFAULT_MASTER_CONFIG_FILENAME)
+ #define DEFAULT_MASTER_CONFIG_FILENAME "/etc/cyrus.conf"
++#endif
+
+ #ifndef HAVE_SHUTDOWN
+ #define shutdown(fd, mode) 0
diff --git a/mail/cyrus-imapd24/files/patch-dc b/mail/cyrus-imapd24/files/patch-dc
index 10bec3adc883..f2f5f074e332 100644
--- a/mail/cyrus-imapd24/files/patch-dc
+++ b/mail/cyrus-imapd24/files/patch-dc
@@ -1,13 +1,14 @@
Index: master/Makefile.in
diff -u master/Makefile.in.orig master/Makefile.in
---- master/Makefile.in.orig Tue Feb 4 20:30:08 2003
-+++ master/Makefile.in Tue Feb 4 20:31:00 2003
-@@ -52,7 +52,7 @@
+--- master/Makefile.in.orig Fri Feb 7 07:41:03 2003
++++ master/Makefile.in Fri Mar 21 18:02:28 2003
+@@ -52,7 +52,8 @@
CYRUS_USER=@cyrus_user@
CYRUS_GROUP=@cyrus_group@
-DEFS = @DEFS@ @LOCALDEFS@
-+DEFS = @DEFS@ @LOCALDEFS@ -DCONFIG_FILENAME=\"$(prefix)/etc/cyrus.conf\"
++DEFS = @DEFS@ @LOCALDEFS@ -DCONFIG_FILENAME=\"$(prefix)/etc/imapd.conf\" \
++ -DDEFAULT_MASTER_CONFIG_FILENAME=\"$(prefix)/etc/cyrus.conf\"
CPPFLAGS = -I. -I.. -I$(srcdir) -I$(srcdir)/../lib @CPPFLAGS@ @COM_ERR_CPPFLAGS@
- DEPLIBS = ../lib/libcyrus.a @DEPLIBS@
+ DEPLIBS = ../lib/libcyrus_min.a @DEPLIBS@
diff --git a/mail/cyrus-imapd24/files/patch-dd b/mail/cyrus-imapd24/files/patch-dd
deleted file mode 100644
index 94c0d694fa90..000000000000
--- a/mail/cyrus-imapd24/files/patch-dd
+++ /dev/null
@@ -1,14 +0,0 @@
-Index: master/masterconf.c
-diff -u master/masterconf.c.orig master/masterconf.c
---- master/masterconf.c.orig Wed May 24 05:56:30 2000
-+++ master/masterconf.c Sat Jan 6 06:07:22 2001
-@@ -60,7 +60,9 @@
-
- extern int errno;
-
-+#if !defined(CONFIG_FILENAME)
- #define CONFIG_FILENAME "/etc/cyrus.conf"
-+#endif
-
- struct configlist {
- char *key;
diff --git a/mail/cyrus-imapd24/files/patch-dg b/mail/cyrus-imapd24/files/patch-dg
index b413044ffd6c..5c54d21287d8 100644
--- a/mail/cyrus-imapd24/files/patch-dg
+++ b/mail/cyrus-imapd24/files/patch-dg
@@ -1,10 +1,10 @@
Index: tools/mkimap
diff -u tools/mkimap.orig tools/mkimap
---- tools/mkimap.orig Fri Sep 28 01:02:34 2001
-+++ tools/mkimap Tue Jan 28 18:00:32 2003
-@@ -64,6 +64,9 @@
- $nosievedir = 0;
- $hashispool = 0;
+--- tools/mkimap.orig Mon Mar 10 03:39:36 2003
++++ tools/mkimap Fri Mar 21 17:24:10 2003
+@@ -61,6 +61,9 @@
+
+ $imapdconf = shift || "/etc/imapd.conf";
+$cyrus_user = $ENV{CYRUS_USER} || "%%CYRUS_USER%%";
+$cyrus_group = $ENV{CYRUS_GROUP} || "%%CYRUS_GROUP%%";
@@ -12,27 +12,25 @@ diff -u tools/mkimap.orig tools/mkimap
open CONF, $imapdconf or die "can't open $imapdconf";
print "reading configure file...\n";
while (<CONF>) {
-@@ -117,6 +120,8 @@
- mkdir "log", 0755;
+@@ -86,6 +89,7 @@
+
+ print "configuring $d...\n";
+
++mkdir $d, 0755;
+ chdir $d or die "couldn't change to $d";
+
+ mkdir "proc", 0755;
+@@ -95,11 +99,14 @@
mkdir "msg", 0755;
+ mkdir "ptclient", 0755;
+system "/usr/sbin/chown -R $cyrus_user:$cyrus_group .";
+
- # create the sieve stuff
- if (!$nosievedir) {
- print "creating $sievedir...\n";
-@@ -125,6 +130,7 @@
- if (chdir $sievedir) {
- foreach $i ("a".."z") { mkdir "$i", 0755; }
- }
-+ system "/usr/sbin/chown -R $cyrus_user:$cyrus_group $sievedir";
- }
-
- $flag = 0;
-@@ -136,6 +142,7 @@
+ while ($part = shift @parts) {
+ print "creating $part...\n";
+ mkdir $part, 0755;
chdir $part or die "couldn't change to partition $part";
mkdir "stage.", 0755;
- if ($hashispool) { foreach $i ("a".."z") { mkdir $i, 0755; } }
+ system "/usr/sbin/chown -R $cyrus_user:$cyrus_group $part";
}
diff --git a/mail/cyrus-imapd24/files/patch-di b/mail/cyrus-imapd24/files/patch-di
deleted file mode 100644
index ba35e969ab60..000000000000
--- a/mail/cyrus-imapd24/files/patch-di
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: notifyd/notify_mailto.c
-diff -u notifyd/notify_mailto.c.orig notifyd/notify_mailto.c
---- notifyd/notify_mailto.c.orig Tue Mar 19 00:14:17 2002
-+++ notifyd/notify_mailto.c Thu May 2 03:51:15 2002
-@@ -56,7 +56,7 @@
- #include "rfc822date.h"
- #include <sieve_interface.h>
-
--#define DEFAULT_SENDMAIL ("/usr/lib/sendmail")
-+#define DEFAULT_SENDMAIL ("/usr/sbin/sendmail")
- #define DEFAULT_POSTMASTER ("postmaster")
-
- #define SENDMAIL (config_getstring("sendmail", DEFAULT_SENDMAIL))
diff --git a/mail/cyrus-imapd24/files/patch-lib::Makefile.in b/mail/cyrus-imapd24/files/patch-lib::Makefile.in
new file mode 100644
index 000000000000..b85111fb7723
--- /dev/null
+++ b/mail/cyrus-imapd24/files/patch-lib::Makefile.in
@@ -0,0 +1,13 @@
+Index: lib/Makefile.in
+diff -u lib/Makefile.in.orig lib/Makefile.in
+--- lib/Makefile.in.orig Thu Feb 13 04:12:42 2003
++++ lib/Makefile.in Fri Mar 21 15:11:50 2003
+@@ -56,7 +56,7 @@
+ INSTALL = @INSTALL@
+ RANLIB = @RANLIB@
+
+-DEFS = @DEFS@
++DEFS = @DEFS@ -DCONFIG_FILENAME=\"$(prefix)/etc/imapd.conf\"
+ CPPFLAGS = -I.. @CPPFLAGS@ @COM_ERR_CPPFLAGS@ @SASLFLAGS@
+ LIBS = @LIBS@
+
diff --git a/mail/cyrus-imapd24/files/patch-lib::imapoptions b/mail/cyrus-imapd24/files/patch-lib::imapoptions
new file mode 100644
index 000000000000..c46c80a342a0
--- /dev/null
+++ b/mail/cyrus-imapd24/files/patch-lib::imapoptions
@@ -0,0 +1,22 @@
+Index: lib/imapoptions
+diff -u lib/imapoptions.orig lib/imapoptions
+--- lib/imapoptions.orig Thu Mar 20 04:00:39 2003
++++ lib/imapoptions Fri Mar 21 15:27:44 2003
+@@ -454,7 +454,7 @@
+ /* The mechanism used by the server to verify plaintext passwords.
+ Possible values include "auxprop", "saslauthd", and "pwcheck". */
+
+-{ "sendmail", "/usr/lib/sendmail", STRING }
++{ "sendmail", "/usr/sbin/sendmail", STRING }
+ /* The pathname of the sendmail executable. Sieve invokes sendmail
+ for sending rejections, redirects and vacation responses. */
+
+@@ -475,7 +475,7 @@
+ /* Maximum number of sieve scripts any user may have, enforced at
+ submission by timsieved(8). */
+
+-{ "sievedir", "/usr/sieve", STRING }
++{ "sievedir", "/var/imap/sieve", STRING }
+ /* If sieveusehomedir is false, this directory is searched for Sieve
+ scripts. */
+
diff --git a/mail/cyrus-imapd24/files/patch-sieve::Makefile.in b/mail/cyrus-imapd24/files/patch-sieve::Makefile.in
new file mode 100644
index 000000000000..cbc212929f04
--- /dev/null
+++ b/mail/cyrus-imapd24/files/patch-sieve::Makefile.in
@@ -0,0 +1,21 @@
+Index: sieve/Makefile.in
+diff -u sieve/Makefile.in.orig sieve/Makefile.in
+--- sieve/Makefile.in.orig Fri Feb 28 03:13:50 2003
++++ sieve/Makefile.in Mon Mar 24 02:26:24 2003
+@@ -32,6 +32,7 @@
+ YACC = @YACC@
+ YFLAGS = -d
+ LEX = @LEX@
++INSTALL = @INSTALL@
+ RANLIB = @RANLIB@
+ COMPILE_ET = @COMPILE_ET@
+
+@@ -58,7 +59,7 @@
+
+ install: sievec
+ $(srcdir)/../install-sh -d ${DESTDIR}$(cyrus_prefix)/bin
+- $(srcdir)/../install-sh -m 755 sievec $(DESTDIR)$(cyrus_prefix)/bin || exit
++ $(INSTALL) -m 755 sievec $(DESTDIR)$(cyrus_prefix)/bin || exit
+
+ test: $(DEPLIBS) libsieve.a test.o
+ $(CC) $(LDFLAGS) -o test test.o libsieve.a $(DEPLIBS) $(LIBS)
diff --git a/mail/cyrus-imapd24/pkg-plist b/mail/cyrus-imapd24/pkg-plist
index 6e279025d1e3..768303910393 100644
--- a/mail/cyrus-imapd24/pkg-plist
+++ b/mail/cyrus-imapd24/pkg-plist
@@ -3,6 +3,7 @@ bin/imtest
bin/installsieve
bin/lmtptest
bin/mupdatetest
+bin/nntptest
bin/pop3test
bin/sieveshell
bin/sivtest
@@ -15,24 +16,28 @@ cyrus/bin/cvt_cyrusdb
cyrus/bin/cyrdump
cyrus/bin/cyrquota
cyrus/bin/deliver
+%%NNTP%%cyrus/bin/expirenews
cyrus/bin/feedcyrus
+%%NNTP%%cyrus/bin/fetchnews
cyrus/bin/fud
cyrus/bin/imapd
cyrus/bin/ipurge
cyrus/bin/lmtpd
+%%MURDER%%cyrus/bin/lmtpproxyd
+cyrus/bin/masssievec
cyrus/bin/master
cyrus/bin/mbpath
cyrus/bin/mkimap
+%%MURDER%%cyrus/bin/mupdate
+%%NNTP%%cyrus/bin/nntpd
cyrus/bin/notifyd
cyrus/bin/pop3d
+%%MURDER%%cyrus/bin/proxyd
cyrus/bin/reconstruct
+cyrus/bin/sievec
cyrus/bin/squatter
cyrus/bin/timsieved
cyrus/bin/tls_prune
-%%MURDER%%cyrus/bin/lmtpproxyd
-%%MURDER%%cyrus/bin/mupdate
-%%MURDER%%cyrus/bin/pop3proxyd
-%%MURDER%%cyrus/bin/proxyd
@unexec if cmp -s %D/etc/cyrus.conf %D/etc/cyrus.conf.dist; then rm -f %D/etc/cyrus.conf; fi
etc/cyrus.conf.dist
@exec [ -f %B/cyrus.conf ] || cp %B/%f %B/cyrus.conf
@@ -40,7 +45,6 @@ etc/cyrus.conf.dist
etc/imapd.conf.dist
@exec [ -f %B/imapd.conf ] || cp %B/%f %B/imapd.conf
etc/rc.d/imapd.sh.sample
-include/cyrus/acap.h
include/cyrus/acl.h
include/cyrus/assert.h
include/cyrus/auth.h
@@ -50,10 +54,13 @@ include/cyrus/cyrusdb.h
include/cyrus/glob.h
include/cyrus/gmtoff.h
include/cyrus/hash.h
+include/cyrus/imapopts.h
include/cyrus/imapurl.h
include/cyrus/imclient.h
include/cyrus/imparse.h
include/cyrus/iptostring.h
+include/cyrus/libconfig.h
+include/cyrus/libcyr_cfg.h
include/cyrus/lock.h
include/cyrus/lsort.h
include/cyrus/map.h
@@ -64,11 +71,13 @@ include/cyrus/parseaddr.h
include/cyrus/prot.h
include/cyrus/retry.h
include/cyrus/rfc822date.h
+include/cyrus/strhash.h
+include/cyrus/strhash.o
include/cyrus/stristr.h
include/cyrus/sysexits.h
include/cyrus/util.h
include/cyrus/xmalloc.h
-lib/libacap.a
+lib/libcyrus_min.a
lib/libcyrus.a
lib/perl5/%%PERL_VERSION%%/man/man3/Cyrus::IMAP.3
lib/perl5/%%PERL_VERSION%%/man/man3/Cyrus::IMAP::Admin.3