diff options
author | ume <ume@FreeBSD.org> | 2003-03-29 22:57:01 +0800 |
---|---|---|
committer | ume <ume@FreeBSD.org> | 2003-03-29 22:57:01 +0800 |
commit | 841103c998686d42202d34b191ef79c6801f9276 (patch) | |
tree | 11a1e15ccaf6d02dd27b58a1a18d737f605f63aa /mail | |
parent | fdd8f94e9ec4d0f04dc0983a5f8daad5ace3e6b3 (diff) | |
download | freebsd-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')
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 |