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