- update to latest upstream

This commit is contained in:
Tomas Janousek 2007-03-12 16:22:52 +00:00
parent 190a85a76b
commit 7515ec7ff6
7 changed files with 355 additions and 339 deletions

View File

@ -1,4 +1,2 @@
cyrus-imapd-2.3.1.tar.gz
cyrus_sharedbackup-0.1.tar.gz cyrus_sharedbackup-0.1.tar.gz
autoconf-2.59.tar.gz cyrus-imapd-2.3.8.tar.gz
cyrus-imapd-2.3.7.tar.gz

View File

@ -1,7 +1,7 @@
diff -Naur cyrus-imapd-2.2.12.orig/doc/man/imapd.conf.5.html cyrus-imapd-2.2.12/doc/man/imapd.conf.5.html diff -Naur cyrus-imapd-2.3.7.orig/doc/man/imapd.conf.5.html cyrus-imapd-2.3.7/doc/man/imapd.conf.5.html
--- cyrus-imapd-2.2.12.orig/doc/man/imapd.conf.5.html 2005-02-14 19:02:18.000000000 +0100 --- cyrus-imapd-2.3.7.orig/doc/man/imapd.conf.5.html 2006-07-10 16:31:53.000000000 +0200
+++ cyrus-imapd-2.2.12/doc/man/imapd.conf.5.html 2005-08-16 13:32:36.000000000 +0200 +++ cyrus-imapd-2.3.7/doc/man/imapd.conf.5.html 2006-07-14 10:27:29.000000000 +0200
@@ -2751,6 +2751,24 @@ @@ -3130,6 +3130,24 @@
<tr valign="top" align="left"> <tr valign="top" align="left">
<td width="10%"></td> <td width="10%"></td>
<td width="89%"> <td width="89%">
@ -24,11 +24,11 @@ diff -Naur cyrus-imapd-2.2.12.orig/doc/man/imapd.conf.5.html cyrus-imapd-2.2.12/
+<td width="10%"></td> +<td width="10%"></td>
+<td width="89%"> +<td width="89%">
<p><b>servername:</b> &lt;none&gt;</p></td> <p><b>servername:</b> &lt;none&gt;</p></td>
</table></p> </table>
<!-- INDENTATION --> <!-- INDENTATION -->
diff -Naur cyrus-imapd-2.2.12.orig/doc/man/notifyd.8.html cyrus-imapd-2.2.12/doc/man/notifyd.8.html diff -Naur cyrus-imapd-2.3.7.orig/doc/man/notifyd.8.html cyrus-imapd-2.3.7/doc/man/notifyd.8.html
--- cyrus-imapd-2.2.12.orig/doc/man/notifyd.8.html 2005-02-14 19:02:19.000000000 +0100 --- cyrus-imapd-2.3.7.orig/doc/man/notifyd.8.html 2006-07-10 16:31:54.000000000 +0200
+++ cyrus-imapd-2.2.12/doc/man/notifyd.8.html 2005-08-16 13:17:33.000000000 +0200 +++ cyrus-imapd-2.3.7/doc/man/notifyd.8.html 2006-07-14 10:27:29.000000000 +0200
@@ -181,6 +181,18 @@ @@ -181,6 +181,18 @@
<td width="11%"></td> <td width="11%"></td>
<td width="10%"> <td width="10%">
@ -48,10 +48,10 @@ diff -Naur cyrus-imapd-2.2.12.orig/doc/man/notifyd.8.html cyrus-imapd-2.2.12/doc
<p><b>zephyr</b></p> <p><b>zephyr</b></p>
</td> </td>
<td width="77%"> <td width="77%">
diff -Naur cyrus-imapd-2.2.12.orig/lib/imapoptions cyrus-imapd-2.2.12/lib/imapoptions diff -Naur cyrus-imapd-2.3.7.orig/lib/imapoptions cyrus-imapd-2.3.7/lib/imapoptions
--- cyrus-imapd-2.2.12.orig/lib/imapoptions 2004-07-21 21:07:45.000000000 +0200 --- cyrus-imapd-2.3.7.orig/lib/imapoptions 2006-06-27 17:58:42.000000000 +0200
+++ cyrus-imapd-2.2.12/lib/imapoptions 2005-08-16 13:27:08.000000000 +0200 +++ cyrus-imapd-2.3.7/lib/imapoptions 2006-07-14 10:27:29.000000000 +0200
@@ -721,6 +721,10 @@ @@ -829,6 +829,10 @@
/* The pathname of the sendmail executable. Sieve invokes sendmail /* The pathname of the sendmail executable. Sieve invokes sendmail
for sending rejections, redirects and vacation responses. */ for sending rejections, redirects and vacation responses. */
@ -62,10 +62,10 @@ diff -Naur cyrus-imapd-2.2.12.orig/lib/imapoptions cyrus-imapd-2.2.12/lib/imapop
{ "servername", NULL, STRING } { "servername", NULL, STRING }
/* This is the hostname visible in the greeting messages of the POP, /* This is the hostname visible in the greeting messages of the POP,
IMAP and LMTP daemons. If it is unset, then the result returned IMAP and LMTP daemons. If it is unset, then the result returned
diff -Naur cyrus-imapd-2.2.12.orig/man/imapd.conf.5 cyrus-imapd-2.2.12/man/imapd.conf.5 diff -Naur cyrus-imapd-2.3.7.orig/man/imapd.conf.5 cyrus-imapd-2.3.7/man/imapd.conf.5
--- cyrus-imapd-2.2.12.orig/man/imapd.conf.5 2005-02-14 19:02:16.000000000 +0100 --- cyrus-imapd-2.3.7.orig/man/imapd.conf.5 2006-07-10 16:31:52.000000000 +0200
+++ cyrus-imapd-2.2.12/man/imapd.conf.5 2005-08-16 13:35:40.000000000 +0200 +++ cyrus-imapd-2.3.7/man/imapd.conf.5 2006-07-14 10:27:29.000000000 +0200
@@ -590,6 +590,9 @@ @@ -691,6 +691,9 @@
.IP "\fBsendmail:\fR /usr/lib/sendmail" 5 .IP "\fBsendmail:\fR /usr/lib/sendmail" 5
The pathname of the sendmail executable. Sieve invokes sendmail The pathname of the sendmail executable. Sieve invokes sendmail
for sending rejections, redirects and vacation responses. for sending rejections, redirects and vacation responses.
@ -75,9 +75,9 @@ diff -Naur cyrus-imapd-2.2.12.orig/man/imapd.conf.5 cyrus-imapd-2.2.12/man/imapd
.IP "\fBservername:\fR <none>" 5 .IP "\fBservername:\fR <none>" 5
This is the hostname visible in the greeting messages of the POP, This is the hostname visible in the greeting messages of the POP,
IMAP and LMTP daemons. If it is unset, then the result returned IMAP and LMTP daemons. If it is unset, then the result returned
diff -Naur cyrus-imapd-2.2.12.orig/man/notifyd.8 cyrus-imapd-2.2.12/man/notifyd.8 diff -Naur cyrus-imapd-2.3.7.orig/man/notifyd.8 cyrus-imapd-2.3.7/man/notifyd.8
--- cyrus-imapd-2.2.12.orig/man/notifyd.8 2003-08-10 01:43:14.000000000 +0200 --- cyrus-imapd-2.3.7.orig/man/notifyd.8 2003-08-10 01:43:14.000000000 +0200
+++ cyrus-imapd-2.2.12/man/notifyd.8 2005-08-16 13:18:03.000000000 +0200 +++ cyrus-imapd-2.3.7/man/notifyd.8 2006-07-14 10:27:29.000000000 +0200
@@ -110,6 +110,11 @@ @@ -110,6 +110,11 @@
Sieve 'notify' action as it requires a \fImailto:\fR URL to be Sieve 'notify' action as it requires a \fImailto:\fR URL to be
specified as an \fI:option\fR. specified as an \fI:option\fR.
@ -90,9 +90,9 @@ diff -Naur cyrus-imapd-2.2.12.orig/man/notifyd.8 cyrus-imapd-2.2.12/man/notifyd.
.B zephyr .B zephyr
Send the notification as a zephyrgram. If used in a Sieve 'notify' Send the notification as a zephyrgram. If used in a Sieve 'notify'
action, additional recipients can be specified as \fI:options\fR. action, additional recipients can be specified as \fI:options\fR.
diff -Naur cyrus-imapd-2.2.12.orig/notifyd/Makefile.in cyrus-imapd-2.2.12/notifyd/Makefile.in diff -Naur cyrus-imapd-2.3.7.orig/notifyd/Makefile.in cyrus-imapd-2.3.7/notifyd/Makefile.in
--- cyrus-imapd-2.2.12.orig/notifyd/Makefile.in 2004-05-28 20:03:06.000000000 +0200 --- cyrus-imapd-2.3.7.orig/notifyd/Makefile.in 2004-05-31 20:22:59.000000000 +0200
+++ cyrus-imapd-2.2.12/notifyd/Makefile.in 2005-08-16 15:18:45.000000000 +0200 +++ cyrus-imapd-2.3.7/notifyd/Makefile.in 2006-07-14 10:27:29.000000000 +0200
@@ -82,7 +82,7 @@ @@ -82,7 +82,7 @@
install: install:
$(INSTALL) -m 755 notifyd $(DESTDIR)$(service_path) $(INSTALL) -m 755 notifyd $(DESTDIR)$(service_path)
@ -102,9 +102,9 @@ diff -Naur cyrus-imapd-2.2.12.orig/notifyd/Makefile.in cyrus-imapd-2.2.12/notify
notifytest: notifytest.o notifytest: notifytest.o
$(CC) $(LDFLAGS) -o notifytest \ $(CC) $(LDFLAGS) -o notifytest \
diff -Naur cyrus-imapd-2.2.12.orig/notifyd/notifyd.h cyrus-imapd-2.2.12/notifyd/notifyd.h diff -Naur cyrus-imapd-2.3.7.orig/notifyd/notifyd.h cyrus-imapd-2.3.7/notifyd/notifyd.h
--- cyrus-imapd-2.2.12.orig/notifyd/notifyd.h 2003-02-13 21:15:48.000000000 +0100 --- cyrus-imapd-2.3.7.orig/notifyd/notifyd.h 2003-02-13 21:15:48.000000000 +0100
+++ cyrus-imapd-2.2.12/notifyd/notifyd.h 2005-08-16 12:58:17.000000000 +0200 +++ cyrus-imapd-2.3.7/notifyd/notifyd.h 2006-07-14 10:27:29.000000000 +0200
@@ -48,6 +48,7 @@ @@ -48,6 +48,7 @@
#include "notify_null.h" #include "notify_null.h"
#include "notify_log.h" #include "notify_log.h"
@ -121,10 +121,10 @@ diff -Naur cyrus-imapd-2.2.12.orig/notifyd/notifyd.h cyrus-imapd-2.2.12/notifyd/
#ifdef HAVE_ZEPHYR #ifdef HAVE_ZEPHYR
{ "zephyr", notify_zephyr }, /* send a zephyrgram */ { "zephyr", notify_zephyr }, /* send a zephyrgram */
#endif #endif
diff -Naur cyrus-imapd-2.2.12.orig/notifyd/notify_sms.c cyrus-imapd-2.2.12/notifyd/notify_sms.c diff -Naur cyrus-imapd-2.3.7.orig/notifyd/notify_sms.c cyrus-imapd-2.3.7/notifyd/notify_sms.c
--- cyrus-imapd-2.2.12.orig/notifyd/notify_sms.c 1970-01-01 01:00:00.000000000 +0100 --- cyrus-imapd-2.3.7.orig/notifyd/notify_sms.c 1970-01-01 01:00:00.000000000 +0100
+++ cyrus-imapd-2.2.12/notifyd/notify_sms.c 2005-08-16 18:43:56.000000000 +0200 +++ cyrus-imapd-2.3.7/notifyd/notify_sms.c 2006-07-14 10:29:10.000000000 +0200
@@ -0,0 +1,111 @@ @@ -0,0 +1,116 @@
+/* notify_sms.c -- SMS notification method +/* notify_sms.c -- SMS notification method
+ * Simon Matter + * Simon Matter
+ */ + */
@ -168,8 +168,8 @@ diff -Naur cyrus-imapd-2.2.12.orig/notifyd/notify_sms.c cyrus-imapd-2.2.12/notif
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * + *
+ * notify_sms is based on code from notify_mailto by Ken Murchison. + * notify_sms is based on code from notify_mailto by Ken Murchison.
+ * Copyright (c) 2005 Simon Matter, Invoca Systems. + * Copyright (c) 2005-2006 Simon Matter, Invoca Systems.
+ * Release 2005081600/2.2.12 + * Release 2006071300/2.3.7
+*/ +*/
+ +
+#include <config.h> +#include <config.h>
@ -189,8 +189,8 @@ diff -Naur cyrus-imapd-2.2.12.orig/notifyd/notify_sms.c cyrus-imapd-2.2.12/notif
+static int global_outgoing_count = 0; +static int global_outgoing_count = 0;
+ +
+char* notify_sms(const char *class __attribute__((unused)), +char* notify_sms(const char *class __attribute__((unused)),
+ const char *priority __attribute__((unused)), + const char *priority,
+ const char *user __attribute__((unused)), + const char *user,
+ const char *mailbox __attribute__((unused)), + const char *mailbox __attribute__((unused)),
+ int nopt, char **options, + int nopt, char **options,
+ const char *message) + const char *message)
@ -206,8 +206,13 @@ diff -Naur cyrus-imapd-2.2.12.orig/notifyd/notify_sms.c cyrus-imapd-2.2.12/notif
+ return strdup("NO sms URI not specified"); + return strdup("NO sms URI not specified");
+ +
+ smbuf[0] = "sendsms"; + smbuf[0] = "sendsms";
+ smbuf[1] = options[0]; + smbuf[1] = "-u";
+ smbuf[2] = NULL; + smbuf[2] = user;
+ smbuf[3] = "-p";
+ smbuf[4] = priority;
+ smbuf[5] = "-o";
+ smbuf[6] = options[0];
+ smbuf[7] = NULL;
+ +
+ pipe(fds); + pipe(fds);
+ if ((sm_pid = fork()) == 0) { + if ((sm_pid = fork()) == 0) {
@ -236,10 +241,10 @@ diff -Naur cyrus-imapd-2.2.12.orig/notifyd/notify_sms.c cyrus-imapd-2.2.12/notif
+ +
+ return strdup("OK sms notification successful"); + return strdup("OK sms notification successful");
+} +}
diff -Naur cyrus-imapd-2.2.12.orig/notifyd/notify_sms.h cyrus-imapd-2.2.12/notifyd/notify_sms.h diff -Naur cyrus-imapd-2.3.7.orig/notifyd/notify_sms.h cyrus-imapd-2.3.7/notifyd/notify_sms.h
--- cyrus-imapd-2.2.12.orig/notifyd/notify_sms.h 1970-01-01 01:00:00.000000000 +0100 --- cyrus-imapd-2.3.7.orig/notifyd/notify_sms.h 1970-01-01 01:00:00.000000000 +0100
+++ cyrus-imapd-2.2.12/notifyd/notify_sms.h 2005-08-16 14:57:16.000000000 +0200 +++ cyrus-imapd-2.3.7/notifyd/notify_sms.h 2006-07-14 10:29:10.000000000 +0200
@@ -0,0 +1,62 @@ @@ -0,0 +1,61 @@
+/* notify_sms.h -- SMS notification method +/* notify_sms.h -- SMS notification method
+ * Simon Matter + * Simon Matter
+ */ + */
@ -283,8 +288,8 @@ diff -Naur cyrus-imapd-2.2.12.orig/notifyd/notify_sms.h cyrus-imapd-2.2.12/notif
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * + *
+ * notify_sms is based on code from notify_mailto by Ken Murchison. + * notify_sms is based on code from notify_mailto by Ken Murchison.
+ * Copyright (c) 2005 Simon Matter, Invoca Systems. + * Copyright (c) 2005-2006 Simon Matter, Invoca Systems.
+ * Release 2005081600/2.2.12 + * Release 2006071300/2.3.7
+ * + *
+ */ + */
+ +
@ -293,10 +298,9 @@ diff -Naur cyrus-imapd-2.2.12.orig/notifyd/notify_sms.h cyrus-imapd-2.2.12/notif
+ +
+#include <config.h> +#include <config.h>
+ +
+/* the only option should be a sms URI */
+char* notify_sms(const char *class __attribute__((unused)), +char* notify_sms(const char *class __attribute__((unused)),
+ const char *priority __attribute__((unused)), + const char *priority,
+ const char *user __attribute__((unused)), + const char *user,
+ const char *mailbox __attribute__((unused)), + const char *mailbox __attribute__((unused)),
+ int nopt, char **options, + int nopt, char **options,
+ const char *message); + const char *message);

View File

@ -1,6 +1,6 @@
diff -Naur cyrus-imapd-2.3.1/README.autocreate cyrus-imapd-2.3.1-autocreate/README.autocreate diff -Naur cyrus-imapd-2.3.8/README.autocreate cyrus-imapd-2.3.8-autocreate.uncompiled/README.autocreate
--- cyrus-imapd-2.3.1/README.autocreate 1970-01-01 02:00:00 +0200 --- cyrus-imapd-2.3.8/README.autocreate 1970-01-01 02:00:00.000000000 +0200
+++ cyrus-imapd-2.3.1-autocreate/README.autocreate 2006-01-19 03:53:40 +0200 +++ cyrus-imapd-2.3.8-autocreate.uncompiled/README.autocreate 2007-02-13 14:05:07.000000000 +0200
@@ -0,0 +1,211 @@ @@ -0,0 +1,211 @@
+Cyrus IMAP autocreate Inbox patch +Cyrus IMAP autocreate Inbox patch
+---------------------------------- +----------------------------------
@ -213,20 +213,20 @@ diff -Naur cyrus-imapd-2.3.1/README.autocreate cyrus-imapd-2.3.1-autocreate/READ
+ +
+For more information and updates please visit http://email.uoa.gr/projects/cyrus/autocreate +For more information and updates please visit http://email.uoa.gr/projects/cyrus/autocreate
+ +
diff -Naur cyrus-imapd-2.3.1/imap/Makefile.in cyrus-imapd-2.3.1-autocreate/imap/Makefile.in diff -Naur cyrus-imapd-2.3.8/imap/Makefile.in cyrus-imapd-2.3.8-autocreate.uncompiled/imap/Makefile.in
--- cyrus-imapd-2.3.1/imap/Makefile.in 2005-12-13 17:28:43 +0200 --- cyrus-imapd-2.3.8/imap/Makefile.in 2007-01-09 19:41:35.000000000 +0200
+++ cyrus-imapd-2.3.1-autocreate/imap/Makefile.in 2006-01-19 03:53:41 +0200 +++ cyrus-imapd-2.3.8-autocreate.uncompiled/imap/Makefile.in 2007-02-14 10:16:04.000000000 +0200
@@ -101,7 +101,7 @@ @@ -101,7 +101,7 @@
convert_code.o duplicate.o saslclient.o saslserver.o signals.o \ convert_code.o duplicate.o saslclient.o saslserver.o signals.o \
annotate.o search_engines.o squat.o squat_internal.o mbdump.o \ annotate.o search_engines.o squat.o squat_internal.o mbdump.o \
imapparse.o telemetry.o user.o notify.o protocol.o idle.o quota_db.o \ imapparse.o telemetry.o user.o notify.o protocol.o idle.o quota_db.o \
- sync_log.o $(SEEN) mboxkey.o - sync_log.o $(SEEN) mboxkey.o backend.o tls.o
+ sync_log.o autosieve.o $(SEEN) mboxkey.o + sync_log.o autosieve.o $(SEEN) mboxkey.o backend.o tls.o
IMAPDOBJS=pushstats.o backend.o imapd.o proxy.o imap_proxy.o index.o \ IMAPDOBJS=pushstats.o imapd.o proxy.o imap_proxy.o index.o version.o
tls.o version.o
@@ -118,7 +118,7 @@ @@ -117,7 +117,7 @@
fud smmapd reconstruct quota mbpath ipurge \ fud smmapd reconstruct quota mbpath ipurge cyr_dbtool \
cyrdump chk_cyrus cvt_cyrusdb deliver ctl_mboxlist \ cyrdump chk_cyrus cvt_cyrusdb deliver ctl_mboxlist \
ctl_deliver ctl_cyrusdb squatter mbexamine cyr_expire arbitron \ ctl_deliver ctl_cyrusdb squatter mbexamine cyr_expire arbitron \
- unexpunge @IMAP_PROGS@ - unexpunge @IMAP_PROGS@
@ -234,16 +234,19 @@ diff -Naur cyrus-imapd-2.3.1/imap/Makefile.in cyrus-imapd-2.3.1-autocreate/imap/
BUILTSOURCES = imap_err.c imap_err.h pushstats.c pushstats.h \ BUILTSOURCES = imap_err.c imap_err.h pushstats.c pushstats.h \
lmtpstats.c lmtpstats.h xversion.h mupdate_err.c mupdate_err.h \ lmtpstats.c lmtpstats.h xversion.h mupdate_err.c mupdate_err.h \
@@ -185,7 +185,7 @@ @@ -183,9 +183,9 @@
mupdate_err.h: mupdate_err.c
### Services ### Services
idled: idled.o mutex_fake.o libimap.a $(DEPLIBS) -idled: idled.o mutex_fake.o libimap.a $(DEPLIBS)
+idled: idled.o mutex_fake.o libimap.a $(SIEVE_LIBS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o idled \ $(CC) $(LDFLAGS) -o idled \
- idled.o mutex_fake.o libimap.a $(DEPLIBS) $(LIBS) - idled.o mutex_fake.o libimap.a $(DEPLIBS) $(LIBS)
+ idled.o mutex_fake.o libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) + idled.o mutex_fake.o libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS)
lmtpd: lmtpd.o proxy.o $(LMTPOBJS) $(SIEVE_OBJS) mutex_fake.o \ lmtpd: lmtpd.o proxy.o $(LMTPOBJS) $(SIEVE_OBJS) mutex_fake.o \
libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(SERVICE) libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(SERVICE)
@@ -199,10 +199,10 @@ @@ -199,151 +199,156 @@
$(SERVICE) lmtpd.o proxy.o $(LMTPOBJS) $(SIEVE_OBJS) \ $(SERVICE) lmtpd.o proxy.o $(LMTPOBJS) $(SIEVE_OBJS) \
mutex_fake.o libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP) mutex_fake.o libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP)
@ -254,9 +257,23 @@ diff -Naur cyrus-imapd-2.3.1/imap/Makefile.in cyrus-imapd-2.3.1-autocreate/imap/
- libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) - libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP)
+ libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP) + libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP)
imapd.pure: $(IMAPDOBJS) mutex_fake.o libimap.a $(DEPLIBS) $(SERVICE) -imapd.pure: $(IMAPDOBJS) mutex_fake.o libimap.a $(DEPLIBS) $(SERVICE)
+imapd.pure: $(IMAPDOBJS) mutex_fake.o libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(SERVICE)
$(PURIFY) $(PUREOPT) $(CC) $(LDFLAGS) -o imapd.pure \ $(PURIFY) $(PUREOPT) $(CC) $(LDFLAGS) -o imapd.pure \
@@ -219,7 +219,7 @@ $(SERVICE) $(IMAPDOBJS) mutex_fake.o libimap.a \
- $(DEPLIBS) $(LIBS) $(LIB_WRAP)
+ $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP)
-imapd.quant: $(IMAPDOBJS) mutex_fake.o libimap.a $(DEPLIBS) $(SERVICE)
+imapd.quant: $(IMAPDOBJS) mutex_fake.o libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(SERVICE)
$(QUANTIFY) $(QUANTOPT) $(CC) $(LDFLAGS) -o imapd.quant \
$(SERVICE) $(IMAPDOBJS) mutex_fake.o libimap.a \
- $(DEPLIBS) $(LIBS) $(LIB_WRAP)
+ $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP)
mupdate: mupdate.o mupdate-slave.o mupdate-client.o mutex_pthread.o tls.o \
- libimap.a $(DEPLIBS)
+ libimap.a $(SIEVE_LIBS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o mupdate \ $(CC) $(LDFLAGS) -o mupdate \
$(SERVICETHREAD) mupdate.o mupdate-slave.o mupdate-client.o \ $(SERVICETHREAD) mupdate.o mupdate-slave.o mupdate-client.o \
mutex_pthread.o tls.o libimap.a \ mutex_pthread.o tls.o libimap.a \
@ -264,40 +281,43 @@ diff -Naur cyrus-imapd-2.3.1/imap/Makefile.in cyrus-imapd-2.3.1-autocreate/imap/
+ $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP) -lpthread + $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP) -lpthread
mupdate.pure: mupdate.o mupdate-slave.o mupdate-client.o mutex_pthread.o \ mupdate.pure: mupdate.o mupdate-slave.o mupdate-client.o mutex_pthread.o \
libimap.a $(DEPLIBS) - libimap.a $(DEPLIBS)
@@ -228,118 +228,122 @@ + libimap.a $(SIEVE_LIBS) $(DEPLIBS)
mutex_pthread.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) -lpthread $(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 $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP) -lpthread
pop3d: pop3d.o proxy.o backend.o tls.o mutex_fake.o libimap.a \ pop3d: pop3d.o proxy.o backend.o tls.o mutex_fake.o libimap.a \
- $(DEPLIBS) $(SERVICE) - $(DEPLIBS) $(SERVICE)
+ $(SIEVE_LIBS) $(DEPLIBS) $(SERVICE) + $(DEPLIBS) $(SIEVE_LIBS) $(SERVICE)
$(CC) $(LDFLAGS) -o pop3d pop3d.o proxy.o backend.o tls.o $(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)
+ mutex_fake.o libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP) + mutex_fake.o libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP)
nntpd: nntpd.o proxy.o backend.o index.o smtpclient.o spool.o tls.o \ 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) - mutex_fake.o nntp_err.o libimap.a $(DEPLIBS) $(SERVICE)
+ mutex_fake.o nntp_err.o libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(SERVICE) + mutex_fake.o nntp_err.o libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(SERVICE)
$(CC) $(LDFLAGS) -o nntpd nntpd.o proxy.o backend.o index.o spool.o \ $(CC) $(LDFLAGS) -o nntpd nntpd.o proxy.o backend.o index.o spool.o \
smtpclient.o tls.o $(SERVICE) mutex_fake.o nntp_err.o \ smtpclient.o tls.o $(SERVICE) mutex_fake.o nntp_err.o \
- libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) - libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP)
+ libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP) + libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP)
-fud: fud.o libimap.a mutex_fake.o $(DEPLIBS) $(SERVICE) -fud: fud.o libimap.a mutex_fake.o $(DEPLIBS) $(SERVICE)
+fud: fud.o libimap.a mutex_fake.o $(DEPLIBS) $(SERVICE) $(SIEVE_LIBS) +fud: fud.o libimap.a mutex_fake.o $(SIEVE_LIBS) $(DEPLIBS) $(SERVICE)
$(CC) $(LDFLAGS) -o fud $(SERVICE) fud.o mutex_fake.o libimap.a \ $(CC) $(LDFLAGS) -o fud $(SERVICE) fud.o mutex_fake.o libimap.a \
- $(DEPLIBS) $(LIBS) $(LIB_WRAP) - $(DEPLIBS) $(LIBS) $(LIB_WRAP)
+ $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP) + $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP)
-smmapd: smmapd.o libimap.a mutex_fake.o $(DEPLIBS) $(SERVICE) -smmapd: smmapd.o libimap.a mutex_fake.o $(DEPLIBS) $(SERVICE)
+smmapd: smmapd.o libimap.a mutex_fake.o $(DEPLIBS) $(SERVICE) $(SIEVE_LIBS) +smmapd: smmapd.o libimap.a mutex_fake.o $(SIEVE_LIBS) $(DEPLIBS) $(SERVICE)
$(CC) $(LDFLAGS) -o smmapd $(SERVICE) smmapd.o mutex_fake.o libimap.a \ $(CC) $(LDFLAGS) -o smmapd $(SERVICE) smmapd.o mutex_fake.o libimap.a \
- $(DEPLIBS) $(LIBS) $(LIB_WRAP) - $(DEPLIBS) $(LIBS) $(LIB_WRAP)
+ $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP) + $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP)
sync_server: sync_server.o sync_support.o sync_commit.o \ 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 $(DEPLIBS) $(SERVICE)
+ imapparse.o tls.o libimap.a mutex_fake.o $(DEPLIBS) $(SERVICE) $(SIEVE_LIBS) + imapparse.o tls.o libimap.a mutex_fake.o $(SIEVE_LIBS) $(DEPLIBS) $(SERVICE)
$(CC) $(LDFLAGS) -o \ $(CC) $(LDFLAGS) -o \
sync_server sync_server.o sync_support.o sync_commit.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 \
@ -306,122 +326,127 @@ diff -Naur cyrus-imapd-2.3.1/imap/Makefile.in cyrus-imapd-2.3.1-autocreate/imap/
### Command Line Utilities ### Command Line Utilities
-arbitron: arbitron.o $(CLIOBJS) libimap.a $(DEPLIBS) -arbitron: arbitron.o $(CLIOBJS) libimap.a $(DEPLIBS)
+arbitron: arbitron.o $(CLIOBJS) libimap.a $(DEPLIBS) $(SIEVE_LIBS) +arbitron: arbitron.o $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o arbitron arbitron.o $(CLIOBJS) \ $(CC) $(LDFLAGS) -o arbitron arbitron.o $(CLIOBJS) \
- libimap.a $(DEPLIBS) $(LIBS) - libimap.a $(DEPLIBS) $(LIBS)
+ libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) + libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS)
-cyr_dbtool: cyr_dbtool.o mutex_fake.o libimap.a $(DEPLIBS)
+cyr_dbtool: cyr_dbtool.o mutex_fake.o libimap.a $(SIEVE_LIBS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o cyr_dbtool cyr_dbtool.o $(CLIOBJS) \
- libimap.a $(DEPLIBS) $(LIBS)
+ libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS)
-cvt_cyrusdb: cvt_cyrusdb.o mutex_fake.o libimap.a $(DEPLIBS) -cvt_cyrusdb: cvt_cyrusdb.o mutex_fake.o libimap.a $(DEPLIBS)
+cvt_cyrusdb: cvt_cyrusdb.o mutex_fake.o libimap.a $(DEPLIBS) $(SIEVE_LIBS) +cvt_cyrusdb: cvt_cyrusdb.o mutex_fake.o libimap.a $(SIEVE_LIBS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o cvt_cyrusdb cvt_cyrusdb.o $(CLIOBJS) \ $(CC) $(LDFLAGS) -o cvt_cyrusdb cvt_cyrusdb.o $(CLIOBJS) \
- libimap.a $(DEPLIBS) $(LIBS) - libimap.a $(DEPLIBS) $(LIBS)
+ libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) + libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS)
-chk_cyrus: chk_cyrus.o mutex_fake.o libimap.a $(DEPLIBS) -chk_cyrus: chk_cyrus.o mutex_fake.o libimap.a $(DEPLIBS)
+chk_cyrus: chk_cyrus.o mutex_fake.o libimap.a $(DEPLIBS) $(SIEVE_LIBS) +chk_cyrus: chk_cyrus.o mutex_fake.o libimap.a $(SIEVE_LIBS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o chk_cyrus chk_cyrus.o $(CLIOBJS) \ $(CC) $(LDFLAGS) -o chk_cyrus chk_cyrus.o $(CLIOBJS) \
- libimap.a $(DEPLIBS) $(LIBS) - libimap.a $(DEPLIBS) $(LIBS)
+ libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) + libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS)
-deliver: deliver.o $(LMTPOBJS) proxy.o mutex_fake.o libimap.a $(DEPLIBS) -deliver: deliver.o $(LMTPOBJS) proxy.o mutex_fake.o libimap.a $(DEPLIBS)
+deliver: deliver.o $(LMTPOBJS) proxy.o mutex_fake.o libimap.a $(DEPLIBS) $(SIEVE_LIBS) +deliver: deliver.o $(LMTPOBJS) proxy.o mutex_fake.o libimap.a $(SIEVE_LIBS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o deliver deliver.o $(LMTPOBJS) proxy.o \ $(CC) $(LDFLAGS) -o deliver deliver.o $(LMTPOBJS) proxy.o \
- mutex_fake.o libimap.a $(DEPLIBS) $(LIBS) - mutex_fake.o libimap.a $(DEPLIBS) $(LIBS)
+ mutex_fake.o libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) + mutex_fake.o libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS)
-ctl_deliver: ctl_deliver.o $(CLIOBJS) libimap.a $(DEPLIBS) -ctl_deliver: ctl_deliver.o $(CLIOBJS) libimap.a $(DEPLIBS)
+ctl_deliver: ctl_deliver.o $(CLIOBJS) libimap.a $(DEPLIBS) $(SIEVE_LIBS) +ctl_deliver: ctl_deliver.o $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o \ $(CC) $(LDFLAGS) -o \
- $@ ctl_deliver.o $(CLIOBJS) libimap.a $(DEPLIBS) $(LIBS) - $@ ctl_deliver.o $(CLIOBJS) libimap.a $(DEPLIBS) $(LIBS)
+ $@ ctl_deliver.o $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) + $@ ctl_deliver.o $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS)
-ctl_mboxlist: ctl_mboxlist.o mupdate-client.o $(CLIOBJS) libimap.a $(DEPLIBS) -ctl_mboxlist: ctl_mboxlist.o mupdate-client.o $(CLIOBJS) libimap.a $(DEPLIBS)
+ctl_mboxlist: ctl_mboxlist.o mupdate-client.o $(CLIOBJS) libimap.a $(DEPLIBS) $(SIEVE_LIBS) +ctl_mboxlist: ctl_mboxlist.o mupdate-client.o $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o $@ ctl_mboxlist.o mupdate-client.o $(CLIOBJS) \ $(CC) $(LDFLAGS) -o $@ ctl_mboxlist.o mupdate-client.o $(CLIOBJS) \
- libimap.a $(DEPLIBS) $(LIBS) - libimap.a $(DEPLIBS) $(LIBS)
+ libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) + libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS)
-ctl_cyrusdb: ctl_cyrusdb.o $(CLIOBJS) libimap.a $(DEPLIBS) -ctl_cyrusdb: ctl_cyrusdb.o $(CLIOBJS) libimap.a $(DEPLIBS)
+ctl_cyrusdb: ctl_cyrusdb.o $(CLIOBJS) libimap.a $(DEPLIBS) $(SIEVE_LIBS) +ctl_cyrusdb: ctl_cyrusdb.o $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o \ $(CC) $(LDFLAGS) -o \
- $@ ctl_cyrusdb.o $(CLIOBJS) libimap.a $(DEPLIBS) $(LIBS) - $@ ctl_cyrusdb.o $(CLIOBJS) libimap.a $(DEPLIBS) $(LIBS)
+ $@ ctl_cyrusdb.o $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) + $@ ctl_cyrusdb.o $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS)
-cyr_expire: cyr_expire.o $(CLIOBJS) libimap.a $(DEPLIBS) -cyr_expire: cyr_expire.o $(CLIOBJS) libimap.a $(DEPLIBS)
+cyr_expire: cyr_expire.o $(CLIOBJS) libimap.a $(DEPLIBS) $(SIEVE_LIBS) +cyr_expire: cyr_expire.o $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o $@ cyr_expire.o $(CLIOBJS) \ $(CC) $(LDFLAGS) -o $@ cyr_expire.o $(CLIOBJS) \
- libimap.a $(DEPLIBS) $(LIBS) - libimap.a $(DEPLIBS) $(LIBS)
+ libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) + libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS)
-fetchnews: fetchnews.o $(CLIOBJS) libimap.a $(DEPLIBS) -fetchnews: fetchnews.o $(CLIOBJS) libimap.a $(DEPLIBS)
+fetchnews: fetchnews.o $(CLIOBJS) libimap.a $(DEPLIBS) $(SIEVE_LIBS) +fetchnews: fetchnews.o $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o \ $(CC) $(LDFLAGS) -o \
- $@ fetchnews.o $(CLIOBJS) libimap.a $(DEPLIBS) $(LIBS) - $@ fetchnews.o $(CLIOBJS) libimap.a $(DEPLIBS) $(LIBS)
+ $@ fetchnews.o $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) + $@ fetchnews.o $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS)
-squatter: squatter.o index.o squat_build.o $(CLIOBJS) libimap.a $(DEPLIBS) -squatter: squatter.o index.o squat_build.o $(CLIOBJS) libimap.a $(DEPLIBS)
+squatter: squatter.o index.o squat_build.o $(CLIOBJS) libimap.a $(DEPLIBS) $(SIEVE_LIBS) +squatter: squatter.o index.o squat_build.o $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o squatter squatter.o index.o squat_build.o \ $(CC) $(LDFLAGS) -o squatter squatter.o index.o squat_build.o \
- $(CLIOBJS) libimap.a $(DEPLIBS) $(LIBS) - $(CLIOBJS) libimap.a $(DEPLIBS) $(LIBS)
+ $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) + $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS)
-mbpath: mbpath.o $(CLIOBJS) libimap.a $(DEPLIBS) -mbpath: mbpath.o $(CLIOBJS) libimap.a $(DEPLIBS)
+mbpath: mbpath.o $(CLIOBJS) libimap.a $(DEPLIBS) $(SIEVE_LIBS) +mbpath: mbpath.o $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o mbpath mbpath.o $(CLIOBJS) libimap.a \ $(CC) $(LDFLAGS) -o mbpath mbpath.o $(CLIOBJS) libimap.a \
- $(DEPLIBS) $(LIBS) - $(DEPLIBS) $(LIBS)
-
-ipurge: ipurge.o $(CLIOBJS) libimap.a $(DEPLIBS)
+ $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) + $(SIEVE_LIBS) $(DEPLIBS) $(LIBS)
+
+ipurge: ipurge.o $(CLIOBJS) libimap.a $(DEPLIBS) $(SIEVE_LIBS) -ipurge: ipurge.o $(CLIOBJS) libimap.a $(DEPLIBS)
+ipurge: ipurge.o $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o ipurge ipurge.o $(CLIOBJS) \ $(CC) $(LDFLAGS) -o ipurge ipurge.o $(CLIOBJS) \
- libimap.a $(DEPLIBS) $(LIBS) - libimap.a $(DEPLIBS) $(LIBS)
+ libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) + libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS)
-cyrdump: cyrdump.o index.o $(CLIOBJS) libimap.a $(DEPLIBS) -cyrdump: cyrdump.o index.o $(CLIOBJS) libimap.a $(DEPLIBS)
+cyrdump: cyrdump.o index.o $(CLIOBJS) libimap.a $(DEPLIBS) $(SIEVE_LIBS) +cyrdump: cyrdump.o index.o $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o cyrdump cyrdump.o index.o $(CLIOBJS) \ $(CC) $(LDFLAGS) -o cyrdump cyrdump.o index.o $(CLIOBJS) \
- libimap.a $(DEPLIBS) $(LIBS) - libimap.a $(DEPLIBS) $(LIBS)
+ libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) + libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS)
-mbexamine: mbexamine.o $(CLIOBJS) libimap.a $(DEPLIBS) -mbexamine: mbexamine.o $(CLIOBJS) libimap.a $(DEPLIBS)
+mbexamine: mbexamine.o $(CLIOBJS) libimap.a $(DEPLIBS) $(SIEVE_LIBS) +mbexamine: mbexamine.o $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o \ $(CC) $(LDFLAGS) -o \
- mbexamine mbexamine.o $(CLIOBJS) libimap.a $(DEPLIBS) $(LIBS) - mbexamine mbexamine.o $(CLIOBJS) libimap.a $(DEPLIBS) $(LIBS)
+ mbexamine mbexamine.o $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) + mbexamine mbexamine.o $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS)
-reconstruct: reconstruct.o $(CLIOBJS) libimap.a $(DEPLIBS) -reconstruct: reconstruct.o $(CLIOBJS) libimap.a $(DEPLIBS)
+reconstruct: reconstruct.o $(CLIOBJS) libimap.a $(DEPLIBS) $(SIEVE_LIBS) +reconstruct: reconstruct.o $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o \ $(CC) $(LDFLAGS) -o \
- reconstruct reconstruct.o $(CLIOBJS) libimap.a $(DEPLIBS) $(LIBS) - reconstruct reconstruct.o $(CLIOBJS) libimap.a $(DEPLIBS) $(LIBS)
+ reconstruct reconstruct.o $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) + reconstruct reconstruct.o $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS)
-quota: quota.o $(CLIOBJS) libimap.a $(DEPLIBS) -quota: quota.o $(CLIOBJS) libimap.a $(DEPLIBS)
+quota: quota.o $(CLIOBJS) libimap.a $(DEPLIBS) $(SIEVE_LIBS) +quota: quota.o $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o quota quota.o $(CLIOBJS) \ $(CC) $(LDFLAGS) -o quota quota.o $(CLIOBJS) \
- libimap.a $(DEPLIBS) $(LIBS) - libimap.a $(DEPLIBS) $(LIBS)
+ libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) + libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS)
-tls_prune: tls_prune.o tls.o $(CLIOBJS) libimap.a $(DEPLIBS) -tls_prune: tls_prune.o tls.o $(CLIOBJS) libimap.a $(DEPLIBS)
+tls_prune: tls_prune.o tls.o $(CLIOBJS) libimap.a $(DEPLIBS) $(SIEVE_LIBS) +tls_prune: tls_prune.o tls.o $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o \ $(CC) $(LDFLAGS) -o \
- $@ tls_prune.o tls.o $(CLIOBJS) libimap.a $(DEPLIBS) $(LIBS) - $@ tls_prune.o tls.o $(CLIOBJS) libimap.a $(DEPLIBS) $(LIBS)
+ $@ tls_prune.o tls.o $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) + $@ tls_prune.o tls.o $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS)
-unexpunge: unexpunge.o $(CLIOBJS) libimap.a $(DEPLIBS) -unexpunge: unexpunge.o $(CLIOBJS) libimap.a $(DEPLIBS)
+unexpunge: unexpunge.o $(CLIOBJS) libimap.a $(DEPLIBS) $(SIEVE_LIBS) +unexpunge: unexpunge.o $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o $@ unexpunge.o $(CLIOBJS) \ $(CC) $(LDFLAGS) -o $@ unexpunge.o $(CLIOBJS) \
- libimap.a $(DEPLIBS) $(LIBS) - libimap.a $(DEPLIBS) $(LIBS)
+ libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) + libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS)
-make_md5: make_md5.o libimap.a mutex_fake.o $(DEPLIBS) -make_md5: make_md5.o libimap.a mutex_fake.o $(DEPLIBS)
- $(CC) $(LDFLAGS) -o make_md5 make_md5.o libimap.a mutex_fake.o $(DEPLIBS) $(LIBS) - $(CC) $(LDFLAGS) -o make_md5 make_md5.o libimap.a mutex_fake.o $(DEPLIBS) $(LIBS)
+make_md5: make_md5.o libimap.a mutex_fake.o $(DEPLIBS) $(SIEVE_LIBS) +make_md5: make_md5.o libimap.a mutex_fake.o $(SIEVE_LIBS) $(DEPLIBS)
+ $(CC) $(LDFLAGS) -o make_md5 make_md5.o libimap.a mutex_fake.o $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) + $(CC) $(LDFLAGS) -o make_md5 make_md5.o libimap.a mutex_fake.o $(SIEVE_LIBS) $(DEPLIBS) $(LIBS)
sync_client: sync_client.o sync_support.o \ sync_client: sync_client.o sync_support.o \
- backend.o tls.o imapparse.o libimap.a mutex_fake.o $(DEPLIBS) - backend.o tls.o imapparse.o libimap.a mutex_fake.o $(DEPLIBS)
+ backend.o tls.o imapparse.o libimap.a mutex_fake.o $(DEPLIBS) $(SIEVE_LIBS) + backend.o tls.o imapparse.o libimap.a mutex_fake.o $(SIEVE_LIBS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o \ $(CC) $(LDFLAGS) -o \
sync_client sync_client.o sync_support.o \ sync_client sync_client.o sync_support.o \
- backend.o tls.o imapparse.o libimap.a mutex_fake.o $(DEPLIBS) $(LIBS) - backend.o tls.o imapparse.o libimap.a mutex_fake.o $(DEPLIBS) $(LIBS)
@ -429,7 +454,7 @@ diff -Naur cyrus-imapd-2.3.1/imap/Makefile.in cyrus-imapd-2.3.1-autocreate/imap/
sync_reset: sync_reset.o sync_support.o sync_commit.o \ sync_reset: sync_reset.o sync_support.o sync_commit.o \
- libimap.a mutex_fake.o $(DEPLIBS) - libimap.a mutex_fake.o $(DEPLIBS)
+ libimap.a mutex_fake.o $(DEPLIBS) $(SIEVE_LIBS) + libimap.a mutex_fake.o $(SIEVE_LIBS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o \ $(CC) $(LDFLAGS) -o \
sync_reset sync_reset.o sync_support.o sync_commit.o \ sync_reset sync_reset.o sync_support.o sync_commit.o \
- libimap.a mutex_fake.o $(DEPLIBS) $(LIBS) - libimap.a mutex_fake.o $(DEPLIBS) $(LIBS)
@ -438,12 +463,13 @@ diff -Naur cyrus-imapd-2.3.1/imap/Makefile.in cyrus-imapd-2.3.1-autocreate/imap/
+compile_sieve: compile_sieve.o libimap.a $(DEPLIBS) $(SIEVE_LIBS) +compile_sieve: compile_sieve.o libimap.a $(DEPLIBS) $(SIEVE_LIBS)
+ $(CC) $(LDFLAGS) -o compile_sieve compile_sieve.o $(CLIOBJS) \ + $(CC) $(LDFLAGS) -o compile_sieve compile_sieve.o $(CLIOBJS) \
+ libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) + libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS)
+
### Other Misc Targets ### Other Misc Targets
diff -Naur cyrus-imapd-2.3.1/imap/autosieve.c cyrus-imapd-2.3.1-autocreate/imap/autosieve.c diff -Naur cyrus-imapd-2.3.8/imap/autosieve.c cyrus-imapd-2.3.8-autocreate.uncompiled/imap/autosieve.c
--- cyrus-imapd-2.3.1/imap/autosieve.c 1970-01-01 02:00:00 +0200 --- cyrus-imapd-2.3.8/imap/autosieve.c 1970-01-01 02:00:00.000000000 +0200
+++ cyrus-imapd-2.3.1-autocreate/imap/autosieve.c 2006-01-19 03:53:41 +0200 +++ cyrus-imapd-2.3.8-autocreate.uncompiled/imap/autosieve.c 2007-02-13 14:05:07.000000000 +0200
@@ -0,0 +1,587 @@ @@ -0,0 +1,587 @@
+#include <stdio.h> +#include <stdio.h>
+#include <stdlib.h> +#include <stdlib.h>
@ -1032,9 +1058,9 @@ diff -Naur cyrus-imapd-2.3.1/imap/autosieve.c cyrus-imapd-2.3.1-autocreate/imap/
+ * Pavlos. Author of cyrusmaster. So consider this patch as his birthday present + * Pavlos. Author of cyrusmaster. So consider this patch as his birthday present
+ */ + */
+ +
diff -Naur cyrus-imapd-2.3.1/imap/compile_sieve.c cyrus-imapd-2.3.1-autocreate/imap/compile_sieve.c diff -Naur cyrus-imapd-2.3.8/imap/compile_sieve.c cyrus-imapd-2.3.8-autocreate.uncompiled/imap/compile_sieve.c
--- cyrus-imapd-2.3.1/imap/compile_sieve.c 1970-01-01 02:00:00 +0200 --- cyrus-imapd-2.3.8/imap/compile_sieve.c 1970-01-01 02:00:00.000000000 +0200
+++ cyrus-imapd-2.3.1-autocreate/imap/compile_sieve.c 2006-01-19 03:53:41 +0200 +++ cyrus-imapd-2.3.8-autocreate.uncompiled/imap/compile_sieve.c 2007-02-13 14:05:07.000000000 +0200
@@ -0,0 +1,364 @@ @@ -0,0 +1,364 @@
+/* This tool compiles the sieve script from a command +/* This tool compiles the sieve script from a command
+line so that it can be used wby the autoadd patch */ +line so that it can be used wby the autoadd patch */
@ -1400,10 +1426,10 @@ diff -Naur cyrus-imapd-2.3.1/imap/compile_sieve.c cyrus-imapd-2.3.1-autocreate/i
+ +
+ +
+ +
diff -Naur cyrus-imapd-2.3.1/imap/imapd.c cyrus-imapd-2.3.1-autocreate/imap/imapd.c diff -Naur cyrus-imapd-2.3.8/imap/imapd.c cyrus-imapd-2.3.8-autocreate.uncompiled/imap/imapd.c
--- cyrus-imapd-2.3.1/imap/imapd.c 2005-12-13 21:35:50 +0200 --- cyrus-imapd-2.3.8/imap/imapd.c 2007-02-05 20:49:55.000000000 +0200
+++ cyrus-imapd-2.3.1-autocreate/imap/imapd.c 2006-01-19 03:53:41 +0200 +++ cyrus-imapd-2.3.8-autocreate.uncompiled/imap/imapd.c 2007-02-13 14:05:07.000000000 +0200
@@ -193,6 +193,7 @@ @@ -204,6 +204,7 @@
void motd_file(int fd); void motd_file(int fd);
void shut_down(int code); void shut_down(int code);
void fatal(const char *s, int code); void fatal(const char *s, int code);
@ -1411,7 +1437,7 @@ diff -Naur cyrus-imapd-2.3.1/imap/imapd.c cyrus-imapd-2.3.1-autocreate/imap/imap
void cmdloop(void); void cmdloop(void);
void cmd_login(char *tag, char *user); void cmd_login(char *tag, char *user);
@@ -1889,6 +1890,43 @@ @@ -1909,6 +1910,43 @@
} }
/* /*
@ -1455,7 +1481,7 @@ diff -Naur cyrus-imapd-2.3.1/imap/imapd.c cyrus-imapd-2.3.1-autocreate/imap/imap
* Perform a LOGIN command * Perform a LOGIN command
*/ */
void cmd_login(char *tag, char *user) void cmd_login(char *tag, char *user)
@@ -2047,6 +2085,9 @@ @@ -2077,6 +2115,9 @@
strcspn(imapd_userid, "@") : 0); strcspn(imapd_userid, "@") : 0);
freebuf(&passwdbuf); freebuf(&passwdbuf);
@ -1465,7 +1491,7 @@ diff -Naur cyrus-imapd-2.3.1/imap/imapd.c cyrus-imapd-2.3.1-autocreate/imap/imap
return; return;
} }
@@ -2195,6 +2236,8 @@ @@ -2233,6 +2274,8 @@
config_virtdomains ? config_virtdomains ?
strcspn(imapd_userid, "@") : 0); strcspn(imapd_userid, "@") : 0);
@ -1474,10 +1500,10 @@ diff -Naur cyrus-imapd-2.3.1/imap/imapd.c cyrus-imapd-2.3.1-autocreate/imap/imap
return; return;
} }
diff -Naur cyrus-imapd-2.3.1/imap/lmtpd.c cyrus-imapd-2.3.1-autocreate/imap/lmtpd.c diff -Naur cyrus-imapd-2.3.8/imap/lmtpd.c cyrus-imapd-2.3.8-autocreate.uncompiled/imap/lmtpd.c
--- cyrus-imapd-2.3.1/imap/lmtpd.c 2005-12-13 01:10:59 +0200 --- cyrus-imapd-2.3.8/imap/lmtpd.c 2007-02-05 20:41:47.000000000 +0200
+++ cyrus-imapd-2.3.1-autocreate/imap/lmtpd.c 2006-01-19 03:53:41 +0200 +++ cyrus-imapd-2.3.8-autocreate.uncompiled/imap/lmtpd.c 2007-02-13 14:05:07.000000000 +0200
@@ -114,6 +114,8 @@ @@ -117,6 +117,8 @@
static FILE *spoolfile(message_data_t *msgdata); static FILE *spoolfile(message_data_t *msgdata);
static void removespool(message_data_t *msgdata); static void removespool(message_data_t *msgdata);
@ -1486,7 +1512,7 @@ diff -Naur cyrus-imapd-2.3.1/imap/lmtpd.c cyrus-imapd-2.3.1-autocreate/imap/lmtp
/* current namespace */ /* current namespace */
static struct namespace lmtpd_namespace; static struct namespace lmtpd_namespace;
@@ -924,6 +926,86 @@ @@ -949,6 +951,86 @@
exit(code); exit(code);
} }
@ -1573,7 +1599,7 @@ diff -Naur cyrus-imapd-2.3.1/imap/lmtpd.c cyrus-imapd-2.3.1-autocreate/imap/lmtp
static int verify_user(const char *user, const char *domain, char *mailbox, static int verify_user(const char *user, const char *domain, char *mailbox,
long quotacheck, struct auth_state *authstate) long quotacheck, struct auth_state *authstate)
{ {
@@ -967,6 +1049,15 @@ @@ -992,6 +1074,15 @@
*/ */
r = mlookup(namebuf, &server, &acl, NULL); r = mlookup(namebuf, &server, &acl, NULL);
@ -1589,7 +1615,7 @@ diff -Naur cyrus-imapd-2.3.1/imap/lmtpd.c cyrus-imapd-2.3.1-autocreate/imap/lmtp
if (r == IMAP_MAILBOX_NONEXISTENT && !user && if (r == IMAP_MAILBOX_NONEXISTENT && !user &&
config_getswitch(IMAPOPT_LMTP_FUZZY_MAILBOX_MATCH) && config_getswitch(IMAPOPT_LMTP_FUZZY_MAILBOX_MATCH) &&
/* see if we have a mailbox whose name is close */ /* see if we have a mailbox whose name is close */
@@ -993,6 +1084,7 @@ @@ -1018,6 +1109,7 @@
aclcheck, (quotacheck < 0) aclcheck, (quotacheck < 0)
|| config_getswitch(IMAPOPT_LMTP_STRICT_QUOTA) ? || config_getswitch(IMAPOPT_LMTP_STRICT_QUOTA) ?
quotacheck : 0); quotacheck : 0);
@ -1597,10 +1623,10 @@ diff -Naur cyrus-imapd-2.3.1/imap/lmtpd.c cyrus-imapd-2.3.1-autocreate/imap/lmtp
} }
} }
diff -Naur cyrus-imapd-2.3.1/imap/mboxlist.c cyrus-imapd-2.3.1-autocreate/imap/mboxlist.c diff -Naur cyrus-imapd-2.3.8/imap/mboxlist.c cyrus-imapd-2.3.8-autocreate.uncompiled/imap/mboxlist.c
--- cyrus-imapd-2.3.1/imap/mboxlist.c 2005-12-13 21:36:03 +0200 --- cyrus-imapd-2.3.8/imap/mboxlist.c 2007-02-05 20:41:47.000000000 +0200
+++ cyrus-imapd-2.3.1-autocreate/imap/mboxlist.c 2006-01-19 03:53:41 +0200 +++ cyrus-imapd-2.3.8-autocreate.uncompiled/imap/mboxlist.c 2007-02-13 14:05:07.000000000 +0200
@@ -81,6 +81,12 @@ @@ -83,6 +83,12 @@
#include "mboxlist.h" #include "mboxlist.h"
#include "quota.h" #include "quota.h"
@ -1613,7 +1639,7 @@ diff -Naur cyrus-imapd-2.3.1/imap/mboxlist.c cyrus-imapd-2.3.1-autocreate/imap/m
#define DB config_mboxlist_db #define DB config_mboxlist_db
#define SUBDB config_subscription_db #define SUBDB config_subscription_db
@@ -98,11 +104,29 @@ @@ -100,11 +106,29 @@
static int mboxlist_changequota(const char *name, int matchlen, int maycreate, static int mboxlist_changequota(const char *name, int matchlen, int maycreate,
void *rock); void *rock);
@ -1643,7 +1669,7 @@ diff -Naur cyrus-imapd-2.3.1/imap/mboxlist.c cyrus-imapd-2.3.1-autocreate/imap/m
#define FNAME_SUBSSUFFIX ".sub" #define FNAME_SUBSSUFFIX ".sub"
/* /*
@@ -3245,3 +3269,349 @@ @@ -3261,3 +3285,349 @@
return DB->abort(mbdb, tid); return DB->abort(mbdb, tid);
} }
@ -1993,10 +2019,10 @@ diff -Naur cyrus-imapd-2.3.1/imap/mboxlist.c cyrus-imapd-2.3.1-autocreate/imap/m
+ return r; + return r;
+} +}
+ +
diff -Naur cyrus-imapd-2.3.1/imap/mboxlist.h cyrus-imapd-2.3.1-autocreate/imap/mboxlist.h diff -Naur cyrus-imapd-2.3.8/imap/mboxlist.h cyrus-imapd-2.3.8-autocreate.uncompiled/imap/mboxlist.h
--- cyrus-imapd-2.3.1/imap/mboxlist.h 2005-02-21 21:25:40 +0200 --- cyrus-imapd-2.3.8/imap/mboxlist.h 2006-11-30 19:11:19.000000000 +0200
+++ cyrus-imapd-2.3.1-autocreate/imap/mboxlist.h 2006-01-19 03:53:41 +0200 +++ cyrus-imapd-2.3.8-autocreate.uncompiled/imap/mboxlist.h 2007-02-13 14:05:07.000000000 +0200
@@ -203,4 +203,10 @@ @@ -204,4 +204,10 @@
int mboxlist_commit(struct txn *tid); int mboxlist_commit(struct txn *tid);
int mboxlist_abort(struct txn *tid); int mboxlist_abort(struct txn *tid);
@ -2007,10 +2033,10 @@ diff -Naur cyrus-imapd-2.3.1/imap/mboxlist.h cyrus-imapd-2.3.1-autocreate/imap/m
+ +
+ +
#endif #endif
diff -Naur cyrus-imapd-2.3.1/imap/pop3d.c cyrus-imapd-2.3.1-autocreate/imap/pop3d.c diff -Naur cyrus-imapd-2.3.8/imap/pop3d.c cyrus-imapd-2.3.8-autocreate.uncompiled/imap/pop3d.c
--- cyrus-imapd-2.3.1/imap/pop3d.c 2005-12-13 21:36:08 +0200 --- cyrus-imapd-2.3.8/imap/pop3d.c 2007-02-05 20:41:48.000000000 +0200
+++ cyrus-imapd-2.3.1-autocreate/imap/pop3d.c 2006-01-19 03:53:41 +0200 +++ cyrus-imapd-2.3.8-autocreate.uncompiled/imap/pop3d.c 2007-02-13 14:05:07.000000000 +0200
@@ -155,6 +155,8 @@ @@ -158,6 +158,8 @@
static char popd_apop_chal[45 + MAXHOSTNAMELEN + 1]; /* <rand.time@hostname> */ static char popd_apop_chal[45 + MAXHOSTNAMELEN + 1]; /* <rand.time@hostname> */
static void cmd_apop(char *response); static void cmd_apop(char *response);
@ -2019,7 +2045,7 @@ diff -Naur cyrus-imapd-2.3.1/imap/pop3d.c cyrus-imapd-2.3.1-autocreate/imap/pop3
static void cmd_auth(char *arg); static void cmd_auth(char *arg);
static void cmd_capa(void); static void cmd_capa(void);
static void cmd_pass(char *pass); static void cmd_pass(char *pass);
@@ -1206,6 +1208,7 @@ @@ -1226,6 +1228,7 @@
popd_userid = xstrdup(userbuf); popd_userid = xstrdup(userbuf);
prot_printf(popd_out, "+OK Name is a valid mailbox\r\n"); prot_printf(popd_out, "+OK Name is a valid mailbox\r\n");
} }
@ -2027,7 +2053,7 @@ diff -Naur cyrus-imapd-2.3.1/imap/pop3d.c cyrus-imapd-2.3.1-autocreate/imap/pop3
} }
void cmd_pass(char *pass) void cmd_pass(char *pass)
@@ -1477,6 +1480,43 @@ @@ -1500,6 +1503,43 @@
} }
/* /*
@ -2071,7 +2097,7 @@ diff -Naur cyrus-imapd-2.3.1/imap/pop3d.c cyrus-imapd-2.3.1-autocreate/imap/pop3
* Complete the login process by opening and locking the user's inbox * Complete the login process by opening and locking the user's inbox
*/ */
int openinbox(void) int openinbox(void)
@@ -1505,6 +1545,12 @@ @@ -1528,6 +1568,12 @@
if (!r) r = mboxlist_detail(inboxname, &type, NULL, NULL, if (!r) r = mboxlist_detail(inboxname, &type, NULL, NULL,
&server, &acl, NULL); &server, &acl, NULL);
@ -2084,9 +2110,9 @@ diff -Naur cyrus-imapd-2.3.1/imap/pop3d.c cyrus-imapd-2.3.1-autocreate/imap/pop3
if (!r && (config_popuseacl = config_getswitch(IMAPOPT_POPUSEACL)) && if (!r && (config_popuseacl = config_getswitch(IMAPOPT_POPUSEACL)) &&
(!acl || (!acl ||
!((myrights = cyrus_acl_myrights(popd_authstate, acl)) & ACL_READ))) { !((myrights = cyrus_acl_myrights(popd_authstate, acl)) & ACL_READ))) {
diff -Naur cyrus-imapd-2.3.1/lib/auth.c cyrus-imapd-2.3.1-autocreate/lib/auth.c diff -Naur cyrus-imapd-2.3.8/lib/auth.c cyrus-imapd-2.3.8-autocreate.uncompiled/lib/auth.c
--- cyrus-imapd-2.3.1/lib/auth.c 2005-02-16 23:06:50 +0200 --- cyrus-imapd-2.3.8/lib/auth.c 2006-11-30 19:11:22.000000000 +0200
+++ cyrus-imapd-2.3.1-autocreate/lib/auth.c 2006-01-19 03:53:42 +0200 +++ cyrus-imapd-2.3.8-autocreate.uncompiled/lib/auth.c 2007-02-13 14:05:07.000000000 +0200
@@ -117,3 +117,11 @@ @@ -117,3 +117,11 @@
auth->freestate(auth_state); auth->freestate(auth_state);
@ -2099,9 +2125,9 @@ diff -Naur cyrus-imapd-2.3.1/lib/auth.c cyrus-imapd-2.3.1-autocreate/lib/auth.c
+ return auth->auth_canonuser(auth_state); + return auth->auth_canonuser(auth_state);
+} +}
+ +
diff -Naur cyrus-imapd-2.3.1/lib/auth.h cyrus-imapd-2.3.1-autocreate/lib/auth.h diff -Naur cyrus-imapd-2.3.8/lib/auth.h cyrus-imapd-2.3.8-autocreate.uncompiled/lib/auth.h
--- cyrus-imapd-2.3.1/lib/auth.h 2005-02-16 23:06:50 +0200 --- cyrus-imapd-2.3.8/lib/auth.h 2006-11-30 19:11:22.000000000 +0200
+++ cyrus-imapd-2.3.1-autocreate/lib/auth.h 2006-01-19 03:53:42 +0200 +++ cyrus-imapd-2.3.8-autocreate.uncompiled/lib/auth.h 2007-02-13 14:05:07.000000000 +0200
@@ -54,6 +54,7 @@ @@ -54,6 +54,7 @@
const char *identifier); const char *identifier);
struct auth_state *(*newstate)(const char *identifier); struct auth_state *(*newstate)(const char *identifier);
@ -2117,10 +2143,10 @@ diff -Naur cyrus-imapd-2.3.1/lib/auth.h cyrus-imapd-2.3.1-autocreate/lib/auth.h
+char *auth_canonuser(struct auth_state *auth_state); +char *auth_canonuser(struct auth_state *auth_state);
#endif /* INCLUDED_AUTH_H */ #endif /* INCLUDED_AUTH_H */
diff -Naur cyrus-imapd-2.3.1/lib/auth_krb.c cyrus-imapd-2.3.1-autocreate/lib/auth_krb.c diff -Naur cyrus-imapd-2.3.8/lib/auth_krb.c cyrus-imapd-2.3.8-autocreate.uncompiled/lib/auth_krb.c
--- cyrus-imapd-2.3.1/lib/auth_krb.c 2005-12-14 15:52:09 +0200 --- cyrus-imapd-2.3.8/lib/auth_krb.c 2006-11-30 19:11:22.000000000 +0200
+++ cyrus-imapd-2.3.1-autocreate/lib/auth_krb.c 2006-01-19 03:53:42 +0200 +++ cyrus-imapd-2.3.8-autocreate.uncompiled/lib/auth_krb.c 2007-02-13 14:05:07.000000000 +0200
@@ -339,6 +339,15 @@ @@ -338,6 +338,15 @@
free((char *)auth_state); free((char *)auth_state);
} }
@ -2136,7 +2162,7 @@ diff -Naur cyrus-imapd-2.3.1/lib/auth_krb.c cyrus-imapd-2.3.1-autocreate/lib/aut
#else /* HAVE_KRB */ #else /* HAVE_KRB */
static int mymemberof( static int mymemberof(
@@ -367,6 +376,13 @@ @@ -366,6 +375,13 @@
fatal("Authentication mechanism (krb) not compiled in", EC_CONFIG); fatal("Authentication mechanism (krb) not compiled in", EC_CONFIG);
} }
@ -2150,15 +2176,15 @@ diff -Naur cyrus-imapd-2.3.1/lib/auth_krb.c cyrus-imapd-2.3.1-autocreate/lib/aut
#endif #endif
struct auth_mech auth_krb = struct auth_mech auth_krb =
@@ -377,4 +393,5 @@ @@ -376,4 +392,5 @@
&mymemberof, &mymemberof,
&mynewstate, &mynewstate,
&myfreestate, &myfreestate,
+ &mycanonuser, + &mycanonuser,
}; };
diff -Naur cyrus-imapd-2.3.1/lib/auth_krb5.c cyrus-imapd-2.3.1-autocreate/lib/auth_krb5.c diff -Naur cyrus-imapd-2.3.8/lib/auth_krb5.c cyrus-imapd-2.3.8-autocreate.uncompiled/lib/auth_krb5.c
--- cyrus-imapd-2.3.1/lib/auth_krb5.c 2005-02-16 23:06:50 +0200 --- cyrus-imapd-2.3.8/lib/auth_krb5.c 2006-11-30 19:11:22.000000000 +0200
+++ cyrus-imapd-2.3.1-autocreate/lib/auth_krb5.c 2006-01-19 03:53:42 +0200 +++ cyrus-imapd-2.3.8-autocreate.uncompiled/lib/auth_krb5.c 2007-02-13 14:05:07.000000000 +0200
@@ -197,6 +197,14 @@ @@ -197,6 +197,14 @@
free(auth_state); free(auth_state);
} }
@ -2193,10 +2219,10 @@ diff -Naur cyrus-imapd-2.3.1/lib/auth_krb5.c cyrus-imapd-2.3.1-autocreate/lib/au
&myfreestate, &myfreestate,
+ &mycanonuser, + &mycanonuser,
}; };
diff -Naur cyrus-imapd-2.3.1/lib/auth_pts.c cyrus-imapd-2.3.1-autocreate/lib/auth_pts.c diff -Naur cyrus-imapd-2.3.8/lib/auth_pts.c cyrus-imapd-2.3.8-autocreate.uncompiled/lib/auth_pts.c
--- cyrus-imapd-2.3.1/lib/auth_pts.c 2005-02-20 05:23:45 +0200 --- cyrus-imapd-2.3.8/lib/auth_pts.c 2007-02-05 20:43:26.000000000 +0200
+++ cyrus-imapd-2.3.1-autocreate/lib/auth_pts.c 2006-01-19 03:53:42 +0200 +++ cyrus-imapd-2.3.8-autocreate.uncompiled/lib/auth_pts.c 2007-02-13 14:05:07.000000000 +0200
@@ -347,6 +347,14 @@ @@ -511,6 +511,14 @@
free(auth_state); free(auth_state);
} }
@ -2211,15 +2237,15 @@ diff -Naur cyrus-imapd-2.3.1/lib/auth_pts.c cyrus-imapd-2.3.1-autocreate/lib/aut
struct auth_mech auth_pts = struct auth_mech auth_pts =
{ {
"pts", /* name */ "pts", /* name */
@@ -355,4 +363,5 @@ @@ -519,4 +527,5 @@
&mymemberof, &mymemberof,
&mynewstate, &mynewstate,
&myfreestate, &myfreestate,
+ &mycanonuser, + &mycanonuser,
}; };
diff -Naur cyrus-imapd-2.3.1/lib/auth_unix.c cyrus-imapd-2.3.1-autocreate/lib/auth_unix.c diff -Naur cyrus-imapd-2.3.8/lib/auth_unix.c cyrus-imapd-2.3.8-autocreate.uncompiled/lib/auth_unix.c
--- cyrus-imapd-2.3.1/lib/auth_unix.c 2005-02-16 23:06:50 +0200 --- cyrus-imapd-2.3.8/lib/auth_unix.c 2006-11-30 19:11:22.000000000 +0200
+++ cyrus-imapd-2.3.1-autocreate/lib/auth_unix.c 2006-01-19 03:53:42 +0200 +++ cyrus-imapd-2.3.8-autocreate.uncompiled/lib/auth_unix.c 2007-02-13 14:05:07.000000000 +0200
@@ -264,6 +264,16 @@ @@ -264,6 +264,16 @@
free((char *)auth_state); free((char *)auth_state);
} }
@ -2243,12 +2269,12 @@ diff -Naur cyrus-imapd-2.3.1/lib/auth_unix.c cyrus-imapd-2.3.1-autocreate/lib/au
&myfreestate, &myfreestate,
+ &mycanonuser, + &mycanonuser,
}; };
diff -Naur cyrus-imapd-2.3.1/lib/imapoptions cyrus-imapd-2.3.1-autocreate/lib/imapoptions diff -Naur cyrus-imapd-2.3.8/lib/imapoptions cyrus-imapd-2.3.8-autocreate.uncompiled/lib/imapoptions
--- cyrus-imapd-2.3.1/lib/imapoptions 2005-12-13 21:36:11 +0200 --- cyrus-imapd-2.3.8/lib/imapoptions 2007-02-07 20:58:07.000000000 +0200
+++ cyrus-imapd-2.3.1-autocreate/lib/imapoptions 2006-01-19 03:53:42 +0200 +++ cyrus-imapd-2.3.8-autocreate.uncompiled/lib/imapoptions 2007-02-13 14:05:07.000000000 +0200
@@ -172,6 +172,55 @@ @@ -177,6 +177,55 @@
/* Number of seconds to wait before returning a timeout failure when /* Number of seconds to wait before returning a timeout failure when
performing a client connection (e.g. in a murder enviornment) */ performing a client connection (e.g. in a murder environment) */
+{ "createonpost", 0, SWITCH } +{ "createonpost", 0, SWITCH }
+/* If yes, when lmtpd receives an incoming mail for an INBOX that does not exist, +/* If yes, when lmtpd receives an incoming mail for an INBOX that does not exist,
@ -2302,9 +2328,9 @@ diff -Naur cyrus-imapd-2.3.1/lib/imapoptions cyrus-imapd-2.3.1-autocreate/lib/im
{ "configdirectory", NULL, STRING } { "configdirectory", NULL, STRING }
/* The pathname of the IMAP configuration directory. This field is /* The pathname of the IMAP configuration directory. This field is
required. */ required. */
diff -Naur cyrus-imapd-2.3.1/notifyd/Makefile.in cyrus-imapd-2.3.1-autocreate/notifyd/Makefile.in diff -Naur cyrus-imapd-2.3.8/notifyd/Makefile.in cyrus-imapd-2.3.8-autocreate.uncompiled/notifyd/Makefile.in
--- cyrus-imapd-2.3.1/notifyd/Makefile.in 2004-05-31 21:22:59 +0300 --- cyrus-imapd-2.3.8/notifyd/Makefile.in 2006-11-30 19:11:23.000000000 +0200
+++ cyrus-imapd-2.3.1-autocreate/notifyd/Makefile.in 2006-01-19 03:53:42 +0200 +++ cyrus-imapd-2.3.8-autocreate.uncompiled/notifyd/Makefile.in 2007-02-13 14:05:07.000000000 +0200
@@ -69,10 +69,11 @@ @@ -69,10 +69,11 @@
SERVICE=../master/service.o SERVICE=../master/service.o
@ -2318,9 +2344,9 @@ diff -Naur cyrus-imapd-2.3.1/notifyd/Makefile.in cyrus-imapd-2.3.1-autocreate/no
PURIFY=/usr/local/bin/purify PURIFY=/usr/local/bin/purify
PUREOPT=-best-effort PUREOPT=-best-effort
diff -Naur cyrus-imapd-2.3.1/notifyd/notifyd.c cyrus-imapd-2.3.1-autocreate/notifyd/notifyd.c diff -Naur cyrus-imapd-2.3.8/notifyd/notifyd.c cyrus-imapd-2.3.8-autocreate.uncompiled/notifyd/notifyd.c
--- cyrus-imapd-2.3.1/notifyd/notifyd.c 2005-04-13 18:43:36 +0300 --- cyrus-imapd-2.3.8/notifyd/notifyd.c 2006-11-30 19:11:23.000000000 +0200
+++ cyrus-imapd-2.3.1-autocreate/notifyd/notifyd.c 2006-01-19 03:53:42 +0200 +++ cyrus-imapd-2.3.8-autocreate.uncompiled/notifyd/notifyd.c 2007-02-13 14:05:07.000000000 +0200
@@ -97,7 +97,7 @@ @@ -97,7 +97,7 @@
#define NOTIFY_MAXSIZE 8192 #define NOTIFY_MAXSIZE 8192
@ -2330,9 +2356,9 @@ diff -Naur cyrus-imapd-2.3.1/notifyd/notifyd.c cyrus-imapd-2.3.1-autocreate/noti
{ {
struct sockaddr_un sun_data; struct sockaddr_un sun_data;
socklen_t sunlen = sizeof(sun_data); socklen_t sunlen = sizeof(sun_data);
diff -Naur cyrus-imapd-2.3.1/ptclient/Makefile.in cyrus-imapd-2.3.1-autocreate/ptclient/Makefile.in diff -Naur cyrus-imapd-2.3.8/ptclient/Makefile.in cyrus-imapd-2.3.8-autocreate.uncompiled/ptclient/Makefile.in
--- cyrus-imapd-2.3.1/ptclient/Makefile.in 2005-02-17 20:43:03 +0200 --- cyrus-imapd-2.3.8/ptclient/Makefile.in 2006-11-30 19:11:24.000000000 +0200
+++ cyrus-imapd-2.3.1-autocreate/ptclient/Makefile.in 2006-01-19 03:53:42 +0200 +++ cyrus-imapd-2.3.8-autocreate.uncompiled/ptclient/Makefile.in 2007-02-13 14:05:07.000000000 +0200
@@ -57,10 +57,11 @@ @@ -57,10 +57,11 @@
AFS_LDFLAGS = @AFS_LDFLAGS@ @COM_ERR_LDFLAGS@ AFS_LDFLAGS = @AFS_LDFLAGS@ @COM_ERR_LDFLAGS@
AFS_LIBS = @AFS_LIBS@ AFS_LIBS = @AFS_LIBS@

View File

@ -1,6 +1,6 @@
diff -Naur cyrus-imapd-2.3.1/README.autosievefolder cyrus-imapd-2.3.1-autosieve/README.autosievefolder diff -Naur cyrus-imapd-2.3.8/README.autosievefolder cyrus-imapd-2.3.8-autosieve.uncompiled/README.autosievefolder
--- cyrus-imapd-2.3.1/README.autosievefolder 1970-01-01 02:00:00 +0200 --- cyrus-imapd-2.3.8/README.autosievefolder 1970-01-01 02:00:00.000000000 +0200
+++ cyrus-imapd-2.3.1-autosieve/README.autosievefolder 2006-01-19 03:29:08 +0200 +++ cyrus-imapd-2.3.8-autosieve.uncompiled/README.autosievefolder 2007-02-13 15:05:04.000000000 +0200
@@ -0,0 +1,42 @@ @@ -0,0 +1,42 @@
+Cyrus IMAP autosievefolder patch +Cyrus IMAP autosievefolder patch
+---------------------------------- +----------------------------------
@ -44,10 +44,10 @@ diff -Naur cyrus-imapd-2.3.1/README.autosievefolder cyrus-imapd-2.3.1-autosieve/
+ +
+For more information and updates please visit http://email.uoa.gr/projects/cyrus/autosievefolder +For more information and updates please visit http://email.uoa.gr/projects/cyrus/autosievefolder
+ +
diff -Naur cyrus-imapd-2.3.1/imap/lmtp_sieve.c cyrus-imapd-2.3.1-autosieve/imap/lmtp_sieve.c diff -Naur cyrus-imapd-2.3.8/imap/lmtp_sieve.c cyrus-imapd-2.3.8-autosieve.uncompiled/imap/lmtp_sieve.c
--- cyrus-imapd-2.3.1/imap/lmtp_sieve.c 2005-11-21 18:26:54 +0200 --- cyrus-imapd-2.3.8/imap/lmtp_sieve.c 2007-02-05 20:41:47.000000000 +0200
+++ cyrus-imapd-2.3.1-autosieve/imap/lmtp_sieve.c 2006-01-19 03:29:13 +0200 +++ cyrus-imapd-2.3.8-autosieve.uncompiled/imap/lmtp_sieve.c 2007-02-13 15:05:04.000000000 +0200
@@ -86,6 +86,9 @@ @@ -88,6 +88,9 @@
struct auth_state *authstate; struct auth_state *authstate;
} script_data_t; } script_data_t;
@ -57,7 +57,7 @@ diff -Naur cyrus-imapd-2.3.1/imap/lmtp_sieve.c cyrus-imapd-2.3.1-autosieve/imap/
static char *make_sieve_db(const char *user) static char *make_sieve_db(const char *user)
{ {
static char buf[MAX_MAILBOX_PATH+1]; static char buf[MAX_MAILBOX_PATH+1];
@@ -487,7 +490,20 @@ @@ -484,7 +487,20 @@
sd->username, mdata->notifyheader, sd->username, mdata->notifyheader,
namebuf, quotaoverride, 0); namebuf, quotaoverride, 0);
} }
@ -79,7 +79,7 @@ diff -Naur cyrus-imapd-2.3.1/imap/lmtp_sieve.c cyrus-imapd-2.3.1-autosieve/imap/
if (!ret) { if (!ret) {
snmp_increment(SIEVE_FILEINTO, 1); snmp_increment(SIEVE_FILEINTO, 1);
return SIEVE_OK; return SIEVE_OK;
@@ -939,3 +955,80 @@ @@ -936,3 +952,80 @@
we'll do normal delivery */ we'll do normal delivery */
return r; return r;
} }
@ -160,10 +160,10 @@ diff -Naur cyrus-imapd-2.3.1/imap/lmtp_sieve.c cyrus-imapd-2.3.1-autosieve/imap/
+ return IMAP_MAILBOX_NONEXISTENT; + return IMAP_MAILBOX_NONEXISTENT;
+} +}
+ +
diff -Naur cyrus-imapd-2.3.1/lib/imapoptions cyrus-imapd-2.3.1-autosieve/lib/imapoptions diff -Naur cyrus-imapd-2.3.8/lib/imapoptions cyrus-imapd-2.3.8-autosieve.uncompiled/lib/imapoptions
--- cyrus-imapd-2.3.1/lib/imapoptions 2005-12-13 21:36:11 +0200 --- cyrus-imapd-2.3.8/lib/imapoptions 2007-02-07 20:58:07.000000000 +0200
+++ cyrus-imapd-2.3.1-autosieve/lib/imapoptions 2006-01-19 03:29:15 +0200 +++ cyrus-imapd-2.3.8-autosieve.uncompiled/lib/imapoptions 2007-02-13 15:05:04.000000000 +0200
@@ -856,6 +856,15 @@ @@ -884,6 +884,15 @@
/* If enabled, lmtpd will look for Sieve scripts in user's home /* If enabled, lmtpd will look for Sieve scripts in user's home
directories: ~user/.sieve. */ directories: ~user/.sieve. */

View File

@ -1,6 +1,6 @@
diff -Naur cyrus-imapd-2.3.1.orig/imap/ctl_cyrusdb.c cyrus-imapd-2.3.1/imap/ctl_cyrusdb.c diff -Naur cyrus-imapd-2.3.8/imap/ctl_cyrusdb.c cyrus-imapd-2.3.8-rmquota+deletemailbox.uncompiled/imap/ctl_cyrusdb.c
--- cyrus-imapd-2.3.1.orig/imap/ctl_cyrusdb.c 2005-02-16 22:06:18.000000000 +0100 --- cyrus-imapd-2.3.8/imap/ctl_cyrusdb.c 2006-11-30 19:11:17.000000000 +0200
+++ cyrus-imapd-2.3.1/imap/ctl_cyrusdb.c 2006-01-16 11:10:56.000000000 +0100 +++ cyrus-imapd-2.3.8-rmquota+deletemailbox.uncompiled/imap/ctl_cyrusdb.c 2007-02-21 16:34:33.000000000 +0200
@@ -133,7 +133,7 @@ @@ -133,7 +133,7 @@
/* if it is MBTYPE_RESERVED, unset it & call mboxlist_delete */ /* if it is MBTYPE_RESERVED, unset it & call mboxlist_delete */
if(!r && (mbtype & MBTYPE_RESERVE)) { if(!r && (mbtype & MBTYPE_RESERVE)) {
@ -10,22 +10,22 @@ diff -Naur cyrus-imapd-2.3.1.orig/imap/ctl_cyrusdb.c cyrus-imapd-2.3.1/imap/ctl_
if(r) { if(r) {
/* log the error */ /* log the error */
syslog(LOG_ERR, syslog(LOG_ERR,
diff -Naur cyrus-imapd-2.3.1.orig/imap/ctl_mboxlist.c cyrus-imapd-2.3.1/imap/ctl_mboxlist.c diff -Naur cyrus-imapd-2.3.8/imap/ctl_mboxlist.c cyrus-imapd-2.3.8-rmquota+deletemailbox.uncompiled/imap/ctl_mboxlist.c
--- cyrus-imapd-2.3.1.orig/imap/ctl_mboxlist.c 2005-11-23 14:41:24.000000000 +0100 --- cyrus-imapd-2.3.8/imap/ctl_mboxlist.c 2007-02-05 20:41:46.000000000 +0200
+++ cyrus-imapd-2.3.1/imap/ctl_mboxlist.c 2006-01-16 11:10:56.000000000 +0100 +++ cyrus-imapd-2.3.8-rmquota+deletemailbox.uncompiled/imap/ctl_mboxlist.c 2007-02-21 16:34:48.000000000 +0200
@@ -457,7 +457,7 @@ @@ -461,7 +461,7 @@
wipe_head = wipe_head->next; wipe_head = wipe_head->next;
- ret = mboxlist_deletemailbox(me->mailbox, 1, "", NULL, 0, 1, 1); - ret = mboxlist_deletemailbox(me->mailbox, 1, "", NULL, 0, 1, 1);
+ ret = mboxlist_deletemailbox(me->mailbox, 1, "", NULL, 0, 1, 1, 1); + ret = mboxlist_deletemailbox(me->mailbox, 1, "", NULL, 0, 1, 1, 1);
if(!ret) sync_log_mailbox(me->mailbox);
if(ret) { if(ret) {
fprintf(stderr, "couldn't delete defunct mailbox %s\n", fprintf(stderr, "couldn't delete defunct mailbox %s\n",
me->mailbox); diff -Naur cyrus-imapd-2.3.8/imap/imapd.c cyrus-imapd-2.3.8-rmquota+deletemailbox.uncompiled/imap/imapd.c
diff -Naur cyrus-imapd-2.3.1.orig/imap/imapd.c cyrus-imapd-2.3.1/imap/imapd.c --- cyrus-imapd-2.3.8/imap/imapd.c 2007-02-05 20:49:55.000000000 +0200
--- cyrus-imapd-2.3.1.orig/imap/imapd.c 2005-12-13 20:35:50.000000000 +0100 +++ cyrus-imapd-2.3.8-rmquota+deletemailbox.uncompiled/imap/imapd.c 2007-02-21 16:34:58.000000000 +0200
+++ cyrus-imapd-2.3.1/imap/imapd.c 2006-01-16 11:10:56.000000000 +0100 @@ -4983,7 +4983,7 @@
@@ -4707,7 +4707,7 @@
r = mboxlist_deletemailbox(name, imapd_userisadmin, r = mboxlist_deletemailbox(name, imapd_userisadmin,
imapd_userid, imapd_authstate, imapd_userid, imapd_authstate,
@ -34,20 +34,20 @@ diff -Naur cyrus-imapd-2.3.1.orig/imap/imapd.c cyrus-imapd-2.3.1/imap/imapd.c
if (!r) sync_log_mailbox(name); if (!r) sync_log_mailbox(name);
@@ -4731,6 +4731,12 @@ @@ -5007,6 +5007,12 @@
char *p; char *p;
int domainlen = 0; int domainlen = 0;
int sync_lockfd = (-1); int sync_lockfd = (-1);
+ int keepQuota = 1; + int keepQuota = 1;
+ +
+ if(name && *name == '+') { + if(name && *name == '+') {
+ keepQuota = 0; + keepQuota = 0;
+ name++; + name++;
+ } + }
r = (*imapd_namespace.mboxname_tointernal)(&imapd_namespace, name, r = (*imapd_namespace.mboxname_tointernal)(&imapd_namespace, name,
imapd_userid, mailboxname); imapd_userid, mailboxname);
@@ -4789,7 +4795,7 @@ @@ -5065,7 +5071,7 @@
r = mboxlist_deletemailbox(mailboxname, imapd_userisadmin, r = mboxlist_deletemailbox(mailboxname, imapd_userisadmin,
imapd_userid, imapd_authstate, 1-force, imapd_userid, imapd_authstate, 1-force,
@ -56,7 +56,7 @@ diff -Naur cyrus-imapd-2.3.1.orig/imap/imapd.c cyrus-imapd-2.3.1/imap/imapd.c
} }
/* was it a top-level user mailbox? */ /* was it a top-level user mailbox? */
@@ -6149,6 +6155,7 @@ @@ -6423,6 +6429,7 @@
{ {
int newquota = -1; int newquota = -1;
int badresource = 0; int badresource = 0;
@ -64,7 +64,7 @@ diff -Naur cyrus-imapd-2.3.1.orig/imap/imapd.c cyrus-imapd-2.3.1/imap/imapd.c
int c; int c;
int force = 0; int force = 0;
static struct buf arg; static struct buf arg;
@@ -6165,7 +6172,8 @@ @@ -6439,7 +6446,8 @@
if (c != ')' || arg.s[0] != '\0') { if (c != ')' || arg.s[0] != '\0') {
for (;;) { for (;;) {
if (c != ' ') goto badlist; if (c != ' ') goto badlist;
@ -74,19 +74,19 @@ diff -Naur cyrus-imapd-2.3.1.orig/imap/imapd.c cyrus-imapd-2.3.1/imap/imapd.c
c = getword(imapd_in, &arg); c = getword(imapd_in, &arg);
if (c != ' ' && c != ')') goto badlist; if (c != ' ' && c != ')') goto badlist;
if (arg.s[0] == '\0') goto badlist; if (arg.s[0] == '\0') goto badlist;
@@ -6234,7 +6242,10 @@ @@ -6508,7 +6516,10 @@
quotaroot++;
} /* local mailbox */
if (!r || (r == IMAP_MAILBOX_NONEXISTENT)) {
- r = mboxlist_setquota(mailboxname, newquota, force); - r = mboxlist_setquota(mailboxname, newquota, force);
+ if(!rmquota) + if(!rmquota)
+ r = mboxlist_setquota(mailboxname, newquota, force); + r = mboxlist_setquota(mailboxname, newquota, force);
+ else + else
+ r = mboxlist_unsetquota(mailboxname); + r = mboxlist_unsetquota(mailboxname);
} }
imapd_check(NULL, 0, 0); imapd_check(NULL, 0, 0);
@@ -7931,7 +7942,7 @@ @@ -8221,7 +8232,7 @@
/* note also that we need to remember to let proxyadmins do this */ /* note also that we need to remember to let proxyadmins do this */
r = mboxlist_deletemailbox(mailboxname, r = mboxlist_deletemailbox(mailboxname,
imapd_userisadmin || imapd_userisproxyadmin, imapd_userisadmin || imapd_userisproxyadmin,
@ -95,10 +95,10 @@ diff -Naur cyrus-imapd-2.3.1.orig/imap/imapd.c cyrus-imapd-2.3.1/imap/imapd.c
if(r) syslog(LOG_ERR, if(r) syslog(LOG_ERR,
"Could not delete local mailbox during move of %s", "Could not delete local mailbox during move of %s",
mailboxname); mailboxname);
diff -Naur cyrus-imapd-2.3.1.orig/imap/mailbox.c cyrus-imapd-2.3.1/imap/mailbox.c diff -Naur cyrus-imapd-2.3.8/imap/mailbox.c cyrus-imapd-2.3.8-rmquota+deletemailbox.uncompiled/imap/mailbox.c
--- cyrus-imapd-2.3.1.orig/imap/mailbox.c 2005-11-10 07:04:55.000000000 +0100 --- cyrus-imapd-2.3.8/imap/mailbox.c 2007-02-05 20:41:47.000000000 +0200
+++ cyrus-imapd-2.3.1/imap/mailbox.c 2006-01-16 11:10:56.000000000 +0100 +++ cyrus-imapd-2.3.8-rmquota+deletemailbox.uncompiled/imap/mailbox.c 2007-02-21 16:35:10.000000000 +0200
@@ -2622,27 +2622,7 @@ @@ -2745,27 +2745,7 @@
seen_delete_mailbox(mailbox); seen_delete_mailbox(mailbox);
@ -125,16 +125,15 @@ diff -Naur cyrus-imapd-2.3.1.orig/imap/mailbox.c cyrus-imapd-2.3.1/imap/mailbox.
- } - }
+ mailbox_updatequota(mailbox,NULL); + mailbox_updatequota(mailbox,NULL);
/* remove data (message file) directory */ /* Flush data (message file) directory */
path = mailbox->path; mailbox_delete_files(mailbox->path);
@@ -3263,3 +3243,49 @@ @@ -3392,3 +3372,48 @@
if (*p == '.') *p = '/'; if (*p == '.') *p = '/';
} }
} }
+ +
+
+/* This function is used to update the quota. Can be used to replace +/* This function is used to update the quota. Can be used to replace
+ * identical parts of the code, and can be quite handy some times + * identical parts of the code, and can be quite handy some times
+ * The tid is used in order to make possible to make the quota update + * The tid is used in order to make possible to make the quota update
+ * being a part of a bigger transaction to the quota db */ + * being a part of a bigger transaction to the quota db */
+int mailbox_updatequota(struct mailbox *mailbox, struct txn **tid) +int mailbox_updatequota(struct mailbox *mailbox, struct txn **tid)
@ -177,10 +176,10 @@ diff -Naur cyrus-imapd-2.3.1.orig/imap/mailbox.c cyrus-imapd-2.3.1/imap/mailbox.
+ return r; + return r;
+} +}
+ +
diff -Naur cyrus-imapd-2.3.1.orig/imap/mailbox.h cyrus-imapd-2.3.1/imap/mailbox.h diff -Naur cyrus-imapd-2.3.8/imap/mailbox.h cyrus-imapd-2.3.8-rmquota+deletemailbox.uncompiled/imap/mailbox.h
--- cyrus-imapd-2.3.1.orig/imap/mailbox.h 2005-05-27 19:40:54.000000000 +0200 --- cyrus-imapd-2.3.8/imap/mailbox.h 2006-11-30 19:11:19.000000000 +0200
+++ cyrus-imapd-2.3.1/imap/mailbox.h 2006-01-16 11:10:56.000000000 +0100 +++ cyrus-imapd-2.3.8-rmquota+deletemailbox.uncompiled/imap/mailbox.h 2007-02-21 16:35:20.000000000 +0200
@@ -329,6 +329,8 @@ @@ -364,6 +364,8 @@
struct mailbox *mailboxp); struct mailbox *mailboxp);
extern int mailbox_delete(struct mailbox *mailbox, int delete_quota_root); extern int mailbox_delete(struct mailbox *mailbox, int delete_quota_root);
@ -189,10 +188,10 @@ diff -Naur cyrus-imapd-2.3.1.orig/imap/mailbox.h cyrus-imapd-2.3.1/imap/mailbox.
extern int mailbox_rename_copy(struct mailbox *oldmailbox, extern int mailbox_rename_copy(struct mailbox *oldmailbox,
const char *newname, char *newpartition, const char *newname, char *newpartition,
bit32 *olduidvalidityp, bit32 *newuidvalidityp, bit32 *olduidvalidityp, bit32 *newuidvalidityp,
diff -Naur cyrus-imapd-2.3.1.orig/imap/mboxlist.c cyrus-imapd-2.3.1/imap/mboxlist.c diff -Naur cyrus-imapd-2.3.8/imap/mboxlist.c cyrus-imapd-2.3.8-rmquota+deletemailbox.uncompiled/imap/mboxlist.c
--- cyrus-imapd-2.3.1.orig/imap/mboxlist.c 2005-12-13 20:36:03.000000000 +0100 --- cyrus-imapd-2.3.8/imap/mboxlist.c 2007-02-05 20:41:47.000000000 +0200
+++ cyrus-imapd-2.3.1/imap/mboxlist.c 2006-01-16 11:10:56.000000000 +0100 +++ cyrus-imapd-2.3.8-rmquota+deletemailbox.uncompiled/imap/mboxlist.c 2007-02-21 16:35:29.000000000 +0200
@@ -93,6 +93,11 @@ @@ -95,6 +95,12 @@
static int mboxlist_opensubs(); static int mboxlist_opensubs();
static void mboxlist_closesubs(); static void mboxlist_closesubs();
@ -200,11 +199,12 @@ diff -Naur cyrus-imapd-2.3.1.orig/imap/mboxlist.c cyrus-imapd-2.3.1/imap/mboxlis
+ int matchlen __attribute__((unused)), + int matchlen __attribute__((unused)),
+ int maycreate __attribute__((unused)), + int maycreate __attribute__((unused)),
+ void *rock); + void *rock);
+
+ +
static int mboxlist_rmquota(const char *name, int matchlen, int maycreate, static int mboxlist_rmquota(const char *name, int matchlen, int maycreate,
void *rock); void *rock);
static int mboxlist_changequota(const char *name, int matchlen, int maycreate, static int mboxlist_changequota(const char *name, int matchlen, int maycreate,
@@ -100,6 +105,7 @@ @@ -102,6 +108,7 @@
struct change_rock { struct change_rock {
struct quota *quota; struct quota *quota;
@ -212,7 +212,7 @@ diff -Naur cyrus-imapd-2.3.1.orig/imap/mboxlist.c cyrus-imapd-2.3.1/imap/mboxlis
struct txn **tid; struct txn **tid;
}; };
@@ -891,9 +897,9 @@ @@ -889,9 +896,9 @@
*/ */
int mboxlist_deletemailbox(const char *name, int isadmin, char *userid, int mboxlist_deletemailbox(const char *name, int isadmin, char *userid,
struct auth_state *auth_state, int checkacl, struct auth_state *auth_state, int checkacl,
@ -224,7 +224,7 @@ diff -Naur cyrus-imapd-2.3.1.orig/imap/mboxlist.c cyrus-imapd-2.3.1/imap/mboxlis
char *acl; char *acl;
long access; long access;
struct mailbox mailbox; struct mailbox mailbox;
@@ -904,6 +910,7 @@ @@ -902,6 +909,7 @@
int mbtype; int mbtype;
const char *p; const char *p;
mupdate_handle *mupdate_h = NULL; mupdate_handle *mupdate_h = NULL;
@ -232,7 +232,7 @@ diff -Naur cyrus-imapd-2.3.1.orig/imap/mboxlist.c cyrus-imapd-2.3.1/imap/mboxlis
if(!isadmin && force) return IMAP_PERMISSION_DENIED; if(!isadmin && force) return IMAP_PERMISSION_DENIED;
@@ -1016,13 +1023,44 @@ @@ -1014,15 +1022,47 @@
if ((r && !force) || isremote) goto done; if ((r && !force) || isremote) goto done;
@ -241,16 +241,18 @@ diff -Naur cyrus-imapd-2.3.1.orig/imap/mboxlist.c cyrus-imapd-2.3.1/imap/mboxlis
+ /* first we have to keep the previous quota root in order to delete it */ + /* first we have to keep the previous quota root in order to delete it */
+ if(mailbox.quota.root) + if(mailbox.quota.root)
+ quotaroot = xstrdup(mailbox.quota.root); + quotaroot = xstrdup(mailbox.quota.root);
+ r = mailbox_delete(&mailbox, deletequotaroot); + r = mailbox_delete(&mailbox, deletequotaroot);
+ } + }
+
/* /*
* See if we have to remove mailbox's quota root * See if we have to remove mailbox's quota root
*/ */
- if (!r && mailbox.quota.root != NULL) { - if (!r && mailbox.quota.root != NULL) {
- /* xxx look for any other mailboxes in this quotaroot */
+ if (!r && quotaroot != NULL) { + if (!r && quotaroot != NULL) {
/* xxx look for any other mailboxes in this quotaroot */ + /* xxx look for any other mailboxes in this quotaroot */
+ /* If we have not asked to remove the quota (default behaviour), we check + /* If we have not asked to remove the quota (default behaviour), we check
+ * whether there are any subfolders beneeth the quota root. If there aren't + * whether there are any subfolders beneeth the quota root. If there aren't
+ * any subfolders the reasonable thing is to delete the quota */ + * any subfolders the reasonable thing is to delete the quota */
+ if(keepQuota) { + if(keepQuota) {
@ -261,15 +263,15 @@ diff -Naur cyrus-imapd-2.3.1.orig/imap/mboxlist.c cyrus-imapd-2.3.1/imap/mboxlis
+ } + }
+ else { + else {
+ strlcat(pattern, ".*", sizeof(pattern)); + strlcat(pattern, ".*", sizeof(pattern));
+ } + }
+ /* find if there are subfolders. Then we want to + /* find if there are subfolders. Then we want to
+ * keep the existing quota */ + * keep the existing quota */
+ mboxlist_findall(NULL, pattern, isadmin, userid, + mboxlist_findall(NULL, pattern, isadmin, userid,
+ auth_state, child_cb, (void *) &has_children); + auth_state, child_cb, (void *) &has_children);
+ +
+ if(!has_children) + if(!has_children)
+ if(!mboxlist_mylookup(quotaroot, NULL, NULL, NULL, NULL, NULL, NULL, 0 )) + if(!mboxlist_mylookup(quotaroot, NULL, NULL, NULL, NULL, NULL, 0, 1))
+ has_children = 1; + has_children = 1;
+ } + }
+ /* If we want to remove the quota explicitely or the quota root folder has no subfolders + /* If we want to remove the quota explicitely or the quota root folder has no subfolders
+ * we execute the rmquota patch */ + * we execute the rmquota patch */
@ -277,9 +279,12 @@ diff -Naur cyrus-imapd-2.3.1.orig/imap/mboxlist.c cyrus-imapd-2.3.1/imap/mboxlis
+ mboxlist_unsetquota(quotaroot); + mboxlist_unsetquota(quotaroot);
+ free(quotaroot); + free(quotaroot);
} }
-
+
done: done:
@@ -2478,6 +2516,7 @@ if(r && tid && !force) {
/* Abort the transaction if it is still in progress */
@@ -2483,6 +2523,7 @@
if (r) return r; if (r) return r;
crock.quota = &quota; crock.quota = &quota;
@ -287,7 +292,7 @@ diff -Naur cyrus-imapd-2.3.1.orig/imap/mboxlist.c cyrus-imapd-2.3.1/imap/mboxlis
crock.tid = &tid; crock.tid = &tid;
/* top level mailbox */ /* top level mailbox */
if(have_mailbox) if(have_mailbox)
@@ -2496,17 +2535,21 @@ @@ -2501,15 +2542,19 @@
*/ */
int mboxlist_unsetquota(const char *root) int mboxlist_unsetquota(const char *root)
{ {
@ -302,24 +307,15 @@ diff -Naur cyrus-imapd-2.3.1.orig/imap/mboxlist.c cyrus-imapd-2.3.1/imap/mboxlis
|| strchr(root, '*') || strchr(root, '%') || strchr(root, '?')) { || strchr(root, '*') || strchr(root, '%') || strchr(root, '?')) {
return IMAP_MAILBOX_BADNAME; return IMAP_MAILBOX_BADNAME;
} }
+
+ crock.tid=NULL;
+ crock.tid=NULL;
+
quota.root = (char *) root; quota.root = (char *) root;
- r = quota_read(&quota, NULL, 0); r = quota_read(&quota, NULL, 0);
+ r = quota_read(&quota, crock.tid, 0);
if (r == IMAP_QUOTAROOT_NONEXISTENT) { if (r == IMAP_QUOTAROOT_NONEXISTENT) {
/* already unset */ @@ -2534,9 +2579,47 @@
return 0; /* submailboxes - we're using internal names here */
@@ -2523,13 +2566,45 @@ mboxlist_findall(NULL, pattern, 1, 0, 0, mboxlist_rmquota, (void *)root);
}
else
strlcat(pattern, ".*", sizeof(pattern));
-
- /* top level mailbox */
- mboxlist_rmquota(root, 0, 0, (void *)root);
- /* submailboxes - we're using internal names here */
- mboxlist_findall(NULL, pattern, 1, 0, 0, mboxlist_rmquota, (void *)root);
- r = quota_delete(&quota, NULL); - r = quota_delete(&quota, NULL);
+ r = quota_delete(&quota, crock.tid); + r = quota_delete(&quota, crock.tid);
@ -362,8 +358,11 @@ diff -Naur cyrus-imapd-2.3.1.orig/imap/mboxlist.c cyrus-imapd-2.3.1/imap/mboxlis
+ quota_abort(crock.tid); + quota_abort(crock.tid);
return r; return r;
+
} }
@@ -2627,6 +2702,7 @@
/*
@@ -2632,6 +2715,7 @@
struct mailbox mailbox; struct mailbox mailbox;
struct change_rock *crock = (struct change_rock *) rock; struct change_rock *crock = (struct change_rock *) rock;
struct quota *mboxlist_newquota = crock->quota; struct quota *mboxlist_newquota = crock->quota;
@ -371,7 +370,7 @@ diff -Naur cyrus-imapd-2.3.1.orig/imap/mboxlist.c cyrus-imapd-2.3.1/imap/mboxlis
struct txn **tid = crock->tid; struct txn **tid = crock->tid;
assert(rock != NULL); assert(rock != NULL);
@@ -2644,27 +2720,24 @@ @@ -2649,27 +2733,24 @@
if (r) goto error; if (r) goto error;
if (mailbox.quota.root) { if (mailbox.quota.root) {
@ -385,14 +384,8 @@ diff -Naur cyrus-imapd-2.3.1.orig/imap/mboxlist.c cyrus-imapd-2.3.1/imap/mboxlis
- if (r) goto error; - if (r) goto error;
- if (mailbox.quota.used >= mailbox.quota_mailbox_used) { - if (mailbox.quota.used >= mailbox.quota_mailbox_used) {
- mailbox.quota.used -= mailbox.quota_mailbox_used; - mailbox.quota.used -= mailbox.quota_mailbox_used;
+ if(mboxlist_oldquota) { - }
+ if (strlen(mailbox.quota.root) > strlen(mboxlist_oldquota->root)) { - else {
+ /* Part of a child quota root */
+ mailbox_close(&mailbox);
+ return 0;
+ }
}
else {
- mailbox.quota.used = 0; - mailbox.quota.used = 0;
- } - }
- r = quota_write(&mailbox.quota, tid); - r = quota_write(&mailbox.quota, tid);
@ -400,26 +393,31 @@ diff -Naur cyrus-imapd-2.3.1.orig/imap/mboxlist.c cyrus-imapd-2.3.1/imap/mboxlis
- syslog(LOG_ERR, - syslog(LOG_ERR,
- "LOSTQUOTA: unable to record free of " UQUOTA_T_FMT " bytes in quota %s", - "LOSTQUOTA: unable to record free of " UQUOTA_T_FMT " bytes in quota %s",
- mailbox.quota_mailbox_used, mailbox.quota.root); - mailbox.quota_mailbox_used, mailbox.quota.root);
+ if (strlen(mailbox.quota.root) >= strlen(mboxlist_newquota->root)) { - }
+ /* Part of a child quota root */
+ mailbox_close(&mailbox);
+ return 0;
+ }
}
- free(mailbox.quota.root); - free(mailbox.quota.root);
+ if(mboxlist_oldquota) {
+ if (strlen(mailbox.quota.root) > strlen(mboxlist_oldquota->root)) {
+ /* Part of a child quota root */
+ mailbox_close(&mailbox);
+ return 0;
+ }
+ }
+ else {
+ if (strlen(mailbox.quota.root) >= strlen(mboxlist_newquota->root)) {
+ /* Part of a child quota root */
+ mailbox_close(&mailbox);
+ return 0;
+ }
+ }
+ +
+ r = mailbox_updatequota(&mailbox,tid); + r = mailbox_updatequota(&mailbox,tid);
+ if (r) + if (r)
+ goto error; + goto error;
} }
mailbox.quota.root = xstrdup(mboxlist_newquota->root); mailbox.quota.root = xstrdup(mboxlist_newquota->root);
@@ -2674,18 +2747,24 @@ @@ -2682,6 +2763,11 @@
mboxlist_newquota->used += mailbox.quota_mailbox_used;
mailbox_close(&mailbox);
return 0;
-
+
error: error:
mailbox_close(&mailbox); mailbox_close(&mailbox);
+ syslog(LOG_ERR, "LOSTQUOTA: unable to change quota root for %s to %s: %s. \ + syslog(LOG_ERR, "LOSTQUOTA: unable to change quota root for %s to %s: %s. \
@ -429,22 +427,11 @@ diff -Naur cyrus-imapd-2.3.1.orig/imap/mboxlist.c cyrus-imapd-2.3.1/imap/mboxlis
+ return 1; + return 1;
error_noclose: error_noclose:
syslog(LOG_ERR, "LOSTQUOTA: unable to change quota root for %s to %s: %s", syslog(LOG_ERR, "LOSTQUOTA: unable to change quota root for %s to %s: %s",
- name, mboxlist_newquota->root, error_message(r)); name, mboxlist_newquota->root, error_message(r));
+ name, mboxlist_newquota->root, error_message(r)); diff -Naur cyrus-imapd-2.3.8/imap/mboxlist.h cyrus-imapd-2.3.8-rmquota+deletemailbox.uncompiled/imap/mboxlist.h
--- cyrus-imapd-2.3.8/imap/mboxlist.h 2006-11-30 19:11:19.000000000 +0200
/* Note, we're a callback, and it's not a huge tragedy if we +++ cyrus-imapd-2.3.8-rmquota+deletemailbox.uncompiled/imap/mboxlist.h 2007-02-21 16:35:34.000000000 +0200
* fail, so we don't ever return a failure */ @@ -126,7 +126,7 @@
return 0;
}
+
/* must be called after cyrus_init */
void mboxlist_init(int myflags)
{
diff -Naur cyrus-imapd-2.3.1.orig/imap/mboxlist.h cyrus-imapd-2.3.1/imap/mboxlist.h
--- cyrus-imapd-2.3.1.orig/imap/mboxlist.h 2005-02-21 20:25:40.000000000 +0100
+++ cyrus-imapd-2.3.1/imap/mboxlist.h 2006-01-16 11:10:56.000000000 +0100
@@ -125,7 +125,7 @@
* the planet */ * the planet */
int mboxlist_deletemailbox(const char *name, int isadmin, char *userid, int mboxlist_deletemailbox(const char *name, int isadmin, char *userid,
struct auth_state *auth_state, int checkacl, struct auth_state *auth_state, int checkacl,
@ -453,10 +440,10 @@ diff -Naur cyrus-imapd-2.3.1.orig/imap/mboxlist.h cyrus-imapd-2.3.1/imap/mboxlis
/* Rename/move a mailbox (hierarchical) */ /* Rename/move a mailbox (hierarchical) */
int mboxlist_renamemailbox(char *oldname, char *newname, char *partition, int mboxlist_renamemailbox(char *oldname, char *newname, char *partition,
diff -Naur cyrus-imapd-2.3.1.orig/imap/mupdate.c cyrus-imapd-2.3.1/imap/mupdate.c diff -Naur cyrus-imapd-2.3.8/imap/mupdate.c cyrus-imapd-2.3.8-rmquota+deletemailbox.uncompiled/imap/mupdate.c
--- cyrus-imapd-2.3.1.orig/imap/mupdate.c 2005-11-04 14:34:23.000000000 +0100 --- cyrus-imapd-2.3.8/imap/mupdate.c 2007-01-31 16:10:05.000000000 +0200
+++ cyrus-imapd-2.3.1/imap/mupdate.c 2006-01-16 11:10:56.000000000 +0100 +++ cyrus-imapd-2.3.8-rmquota+deletemailbox.uncompiled/imap/mupdate.c 2007-02-21 16:35:44.000000000 +0200
@@ -2297,7 +2297,7 @@ @@ -2313,7 +2313,7 @@
remote_boxes.head = r->next; remote_boxes.head = r->next;
} else if (ret < 0) { } else if (ret < 0) {
/* Local without corresponding remote, delete it */ /* Local without corresponding remote, delete it */
@ -465,7 +452,7 @@ diff -Naur cyrus-imapd-2.3.1.orig/imap/mupdate.c cyrus-imapd-2.3.1/imap/mupdate.
local_boxes.head = l->next; local_boxes.head = l->next;
} else /* (ret > 0) */ { } else /* (ret > 0) */ {
/* Remote without corresponding local, insert it */ /* Remote without corresponding local, insert it */
@@ -2312,7 +2312,7 @@ @@ -2328,7 +2328,7 @@
if(l && !r) { if(l && !r) {
/* we have more deletes to do */ /* we have more deletes to do */
while(l) { while(l) {
@ -474,10 +461,10 @@ diff -Naur cyrus-imapd-2.3.1.orig/imap/mupdate.c cyrus-imapd-2.3.1/imap/mupdate.
local_boxes.head = l->next; local_boxes.head = l->next;
l = local_boxes.head; l = local_boxes.head;
} }
diff -Naur cyrus-imapd-2.3.1.orig/imap/nntpd.c cyrus-imapd-2.3.1/imap/nntpd.c diff -Naur cyrus-imapd-2.3.8/imap/nntpd.c cyrus-imapd-2.3.8-rmquota+deletemailbox.uncompiled/imap/nntpd.c
--- cyrus-imapd-2.3.1.orig/imap/nntpd.c 2005-12-13 20:36:06.000000000 +0100 --- cyrus-imapd-2.3.8/imap/nntpd.c 2007-02-05 20:49:56.000000000 +0200
+++ cyrus-imapd-2.3.1/imap/nntpd.c 2006-01-16 11:10:56.000000000 +0100 +++ cyrus-imapd-2.3.8-rmquota+deletemailbox.uncompiled/imap/nntpd.c 2007-02-21 16:35:53.000000000 +0200
@@ -3342,7 +3342,7 @@ @@ -3358,7 +3358,7 @@
/* XXX should we delete right away, or wait until empty? */ /* XXX should we delete right away, or wait until empty? */
r = mboxlist_deletemailbox(mailboxname, 0, r = mboxlist_deletemailbox(mailboxname, 0,
@ -486,10 +473,10 @@ diff -Naur cyrus-imapd-2.3.1.orig/imap/nntpd.c cyrus-imapd-2.3.1/imap/nntpd.c
if (!r) sync_log_mailbox(mailboxname); if (!r) sync_log_mailbox(mailboxname);
diff -Naur cyrus-imapd-2.3.1.orig/imap/sync_reset.c cyrus-imapd-2.3.1/imap/sync_reset.c diff -Naur cyrus-imapd-2.3.8/imap/sync_reset.c cyrus-imapd-2.3.8-rmquota+deletemailbox.uncompiled/imap/sync_reset.c
--- cyrus-imapd-2.3.1.orig/imap/sync_reset.c 2005-12-13 16:31:10.000000000 +0100 --- cyrus-imapd-2.3.8/imap/sync_reset.c 2006-11-30 19:11:20.000000000 +0200
+++ cyrus-imapd-2.3.1/imap/sync_reset.c 2006-01-16 11:12:34.000000000 +0100 +++ cyrus-imapd-2.3.8-rmquota+deletemailbox.uncompiled/imap/sync_reset.c 2007-02-22 13:23:41.000000000 +0200
@@ -254,7 +254,7 @@ @@ -258,7 +258,7 @@
if (r) goto fail; if (r) goto fail;
for (item = list->head ; item ; item = item->next) { for (item = list->head ; item ; item = item->next) {
@ -498,7 +485,7 @@ diff -Naur cyrus-imapd-2.3.1.orig/imap/sync_reset.c cyrus-imapd-2.3.1/imap/sync_
if (r) goto fail; if (r) goto fail;
} }
@@ -270,7 +270,7 @@ @@ -274,7 +274,7 @@
if (r) goto fail; if (r) goto fail;
for (item = list->head ; item ; item = item->next) { for (item = list->head ; item ; item = item->next) {
@ -507,7 +494,7 @@ diff -Naur cyrus-imapd-2.3.1.orig/imap/sync_reset.c cyrus-imapd-2.3.1/imap/sync_
if (r) goto fail; if (r) goto fail;
} }
@@ -278,7 +278,7 @@ @@ -282,7 +282,7 @@
/* Nuke inbox (recursive nuke possible?) */ /* Nuke inbox (recursive nuke possible?) */
snprintf(buf, sizeof(buf)-1, "user.%s", user); snprintf(buf, sizeof(buf)-1, "user.%s", user);
@ -516,10 +503,10 @@ diff -Naur cyrus-imapd-2.3.1.orig/imap/sync_reset.c cyrus-imapd-2.3.1/imap/sync_
if (r && (r != IMAP_MAILBOX_NONEXISTENT)) goto fail; if (r && (r != IMAP_MAILBOX_NONEXISTENT)) goto fail;
if ((r=user_deletedata(user, sync_userid, sync_authstate, 1))) if ((r=user_deletedata(user, sync_userid, sync_authstate, 1)))
diff -Naur cyrus-imapd-2.3.1.orig/imap/sync_server.c cyrus-imapd-2.3.1/imap/sync_server.c diff -Naur cyrus-imapd-2.3.8/imap/sync_server.c cyrus-imapd-2.3.8-rmquota+deletemailbox.uncompiled/imap/sync_server.c
--- cyrus-imapd-2.3.1.orig/imap/sync_server.c 2005-12-20 16:54:43.000000000 +0100 --- cyrus-imapd-2.3.8/imap/sync_server.c 2006-11-30 19:11:20.000000000 +0200
+++ cyrus-imapd-2.3.1/imap/sync_server.c 2006-01-16 11:13:02.000000000 +0100 +++ cyrus-imapd-2.3.8-rmquota+deletemailbox.uncompiled/imap/sync_server.c 2007-02-22 13:24:17.000000000 +0200
@@ -1569,7 +1569,7 @@ @@ -1581,7 +1581,7 @@
for (item = list->head ; item ; item = item->next) { for (item = list->head ; item ; item = item->next) {
r=mboxlist_deletemailbox(item->name, sync_userisadmin, sync_userid, r=mboxlist_deletemailbox(item->name, sync_userisadmin, sync_userid,
@ -528,7 +515,7 @@ diff -Naur cyrus-imapd-2.3.1.orig/imap/sync_server.c cyrus-imapd-2.3.1/imap/sync
if (r) goto fail; if (r) goto fail;
} }
@@ -1579,7 +1579,7 @@ @@ -1591,7 +1591,7 @@
(sync_namespacep->mboxname_tointernal)(sync_namespacep, "INBOX", (sync_namespacep->mboxname_tointernal)(sync_namespacep, "INBOX",
user, buf); user, buf);
r = mboxlist_deletemailbox(buf, sync_userisadmin, sync_userid, r = mboxlist_deletemailbox(buf, sync_userisadmin, sync_userid,
@ -537,7 +524,7 @@ diff -Naur cyrus-imapd-2.3.1.orig/imap/sync_server.c cyrus-imapd-2.3.1/imap/sync
if (r && (r != IMAP_MAILBOX_NONEXISTENT)) goto fail; if (r && (r != IMAP_MAILBOX_NONEXISTENT)) goto fail;
if ((r=user_deletedata(user, sync_userid, sync_authstate, 1))) if ((r=user_deletedata(user, sync_userid, sync_authstate, 1)))
@@ -2501,7 +2501,7 @@ @@ -2526,7 +2526,7 @@
/* Delete with admin priveleges */ /* Delete with admin priveleges */
r = mboxlist_deletemailbox(name, sync_userisadmin, sync_userid, r = mboxlist_deletemailbox(name, sync_userisadmin, sync_userid,

View File

@ -1,6 +1,6 @@
Name: cyrus-imapd Name: cyrus-imapd
Version: 2.3.7 Version: 2.3.8
Release: 8%{?dist} Release: 1%{?dist}
# ********************** BUILD TIME OPTIONS START ********************** # ********************** BUILD TIME OPTIONS START **********************
@ -92,7 +92,7 @@ Release: 8%{?dist}
Summary: A high-performance mail server with IMAP, POP3, NNTP and SIEVE support Summary: A high-performance mail server with IMAP, POP3, NNTP and SIEVE support
License: BSD License: BSD
Group: System Environment/Daemons Group: System Environment/Daemons
URL: http://asg.web.cmu.edu/cyrus/imapd/ URL: http://cyrusimap.web.cmu.edu/
#Packager: Simon Matter <simon.matter@invoca.ch> #Packager: Simon Matter <simon.matter@invoca.ch>
#Vendor: Invoca Systems #Vendor: Invoca Systems
#Distribution: Invoca Linux Server #Distribution: Invoca Linux Server
@ -131,9 +131,9 @@ Source31: cyrus-imapd-README.groupcache
Source32: cyrus-imapd.upd_groupcache Source32: cyrus-imapd.upd_groupcache
Source33: cyrus-imapd-README.skiplist_recovery Source33: cyrus-imapd-README.skiplist_recovery
Patch0: cyrus-imapd-2.2.12-no_transfig.patch Patch0: cyrus-imapd-2.2.12-no_transfig.patch
Patch1: cyrus-imapd-2.3.7-autocreate-0.10-0.diff Patch1: http://email.uoa.gr/download/cyrus/cyrus-imapd-2.3.8/cyrus-imapd-2.3.8-autocreate-0.10-0.diff
Patch2: http://email.uoa.gr/download/cyrus/cyrus-imapd-2.3.3/cyrus-imapd-2.3.3-autosieve-0.6.0.diff Patch2: http://email.uoa.gr/download/cyrus/cyrus-imapd-2.3.8/cyrus-imapd-2.3.8-autosieve-0.6.0.diff
Patch3: cyrus-imapd-2.3.7-rmquota+deletemailbox.patch Patch3: http://email.uoa.gr/download/cyrus/cyrus-imapd-2.3.8/cyrus-imapd-2.3.8-rmquota+deletemailbox-0.2-1.diff
Patch4: http://servercc.oakton.edu/~jwade/cyrus/cyrus-imapd-2.1.3/cyrus-imapd-2.1.3-flock.patch Patch4: http://servercc.oakton.edu/~jwade/cyrus/cyrus-imapd-2.1.3/cyrus-imapd-2.1.3-flock.patch
Patch5: cyrus-imapd-2.2.12-munge8bit.patch Patch5: cyrus-imapd-2.2.12-munge8bit.patch
Patch6: cyrus-imapd-2.1.16-getrlimit.patch Patch6: cyrus-imapd-2.1.16-getrlimit.patch
@ -142,7 +142,7 @@ Patch8: cyrus-imapd-2.2.10-groupcache.patch
Patch9: cyrus-imapd-2.3.1-config_defaults.patch Patch9: cyrus-imapd-2.3.1-config_defaults.patch
Patch10: cyrus-imapd-acceptinvalidfrom.patch Patch10: cyrus-imapd-acceptinvalidfrom.patch
Patch11: cyrus-imapd-2.2.12-dam_invalid_id-christos.patch Patch11: cyrus-imapd-2.2.12-dam_invalid_id-christos.patch
Patch12: cyrus-imapd-2.2.12-notify_sms.patch Patch12: cyrus-imapd-2.3.7-notify_sms.patch
Patch13: allow_auth_plain_proxying.patch Patch13: allow_auth_plain_proxying.patch
Patch14: cyrus-imapd-2.3.1-authid_normalize.patch Patch14: cyrus-imapd-2.3.1-authid_normalize.patch
Patch15: cyrus-imapd-2.3.1-make_md5_defaults.patch Patch15: cyrus-imapd-2.3.1-make_md5_defaults.patch
@ -153,7 +153,7 @@ Patch18: cyrus-imapd-2.3.7-krb4.patch
Patch100: cyrus-imapd-2.3.1-make_md5.patch Patch100: cyrus-imapd-2.3.1-make_md5.patch
Patch101: cyrus-imapd-2.3.1-backend_sigsegv.patch Patch101: cyrus-imapd-2.3.1-backend_sigsegv.patch
Patch102: cyrus-imapd-2.3.1-replication_policycheck.patch Patch102: cyrus-imapd-2.3.1-replication_policycheck.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildRequires: autoconf >= 2.59 BuildRequires: autoconf >= 2.59
BuildRequires: cyrus-sasl-devel >= 2.1.15-1, perl, tcp_wrappers BuildRequires: cyrus-sasl-devel >= 2.1.15-1, perl, tcp_wrappers
BuildRequires: %{_dbver}-devel, openssl-devel, pkgconfig BuildRequires: %{_dbver}-devel, openssl-devel, pkgconfig
@ -211,14 +211,14 @@ Requires: %{name} = %{version}-%{release}
The %{name}-devel package contains header files and libraries The %{name}-devel package contains header files and libraries
necessary for developing applications which use the imclient library. necessary for developing applications which use the imclient library.
%package -n cyrus-imapd-perl %package perl
Provides: perl-Cyrus Provides: perl-Cyrus
Obsoletes: perl-Cyrus Obsoletes: perl-Cyrus
Group: System Environment/Libraries Group: System Environment/Libraries
Summary: Cyrus IMAP server utility Perl modules Summary: Cyrus IMAP server utility Perl modules
%description -n cyrus-imapd-perl %description perl
This package contains Perl modules necessary to use the The %{name}-perl contains Perl modules necessary to use the
Cyrus IMAP server administration utilities. Cyrus IMAP server administration utilities.
%package utils %package utils
@ -227,7 +227,7 @@ Summary: Cyrus IMAP server administration utilities
Requires(pre): /usr/sbin/groupadd, /usr/sbin/useradd Requires(pre): /usr/sbin/groupadd, /usr/sbin/useradd
Requires(post): grep, coreutils, make, openssl Requires(post): grep, coreutils, make, openssl
Requires(postun): /usr/sbin/userdel, /usr/sbin/groupdel Requires(postun): /usr/sbin/userdel, /usr/sbin/groupdel
Requires: cyrus-imapd-perl = %{version}-%{release} Requires: %{name}-perl = %{version}-%{release}
%description utils %description utils
The %{name}-utils package contains administrative tools for the The %{name}-utils package contains administrative tools for the
@ -238,11 +238,7 @@ one running the server.
%setup -q %setup -q
%patch0 -p1 -b .no_transfig %patch0 -p1 -b .no_transfig
%if %{AUTOCREATE} %if %{AUTOCREATE}
#%patch1 -p1 -b .autocreate
#%patch2 -p1 -b .autosievefolder
#%patch3 -p1 -b .rmquota
%patch1 -p1 -b .autocreate %patch1 -p1 -b .autocreate
#%patch2 -p1 -b .autocreate1
%patch2 -p1 -b .autosieve %patch2 -p1 -b .autosieve
%patch3 -p1 -b .rmquota %patch3 -p1 -b .rmquota
%endif %endif
@ -308,7 +304,7 @@ LDFLAGS="$LDFLAGS -pie"; export LDFLAGS
--enable-idled \ --enable-idled \
%endif %endif
%if %{_withldap} %if %{_withldap}
--with-ldap \ --with-ldap=/usr \
%endif %endif
%if %{SNMP} %if %{SNMP}
--with-snmp \ --with-snmp \
@ -322,7 +318,7 @@ LDFLAGS="$LDFLAGS -pie"; export LDFLAGS
--with-cyrus-prefix=%{_cyrexecdir} \ --with-cyrus-prefix=%{_cyrexecdir} \
--with-service-path=%{_cyrexecdir} \ --with-service-path=%{_cyrexecdir} \
--with-bdb-incdir=%{_includedir}/%{_dbver} \ --with-bdb-incdir=%{_includedir}/%{_dbver} \
--with-extraident="Invoca-RPM-%{version}-%{release}" \ --with-extraident="Fedora-RPM-%{version}-%{release}" \
--with-syslogfacility=%{SYSLOGFACILITY} \ --with-syslogfacility=%{SYSLOGFACILITY} \
--with-krbimpl=mit --with-krbimpl=mit
@ -422,7 +418,7 @@ done
%{buildroot}%{_sysconfdir}/{rc.d/init.d,logrotate.d,pam.d,sysconfig,cron.daily} \ %{buildroot}%{_sysconfdir}/{rc.d/init.d,logrotate.d,pam.d,sysconfig,cron.daily} \
%{buildroot}%{_libdir}/sasl \ %{buildroot}%{_libdir}/sasl \
%{buildroot}%{_spooldata} \ %{buildroot}%{_spooldata} \
%{buildroot}%{_vardata}/{user,quota,proc,log,msg,socket,db,sieve,sync,md5,rpm,backup} \ %{buildroot}%{_vardata}/{user,quota,proc,log,msg,socket,db,sieve,sync,md5,rpm,backup,meta} \
%if %{_withldap} %if %{_withldap}
%{buildroot}%{_vardata}/ptclient \ %{buildroot}%{_vardata}/ptclient \
%endif %endif
@ -710,6 +706,7 @@ fi
%attr(0755,root,root) %{_cyrexecdir}/ctl_deliver %attr(0755,root,root) %{_cyrexecdir}/ctl_deliver
%attr(0755,root,root) %{_cyrexecdir}/ctl_mboxlist %attr(0755,root,root) %{_cyrexecdir}/ctl_mboxlist
%attr(0755,root,root) %{_cyrexecdir}/cvt_cyrusdb %attr(0755,root,root) %{_cyrexecdir}/cvt_cyrusdb
%attr(0755,root,root) %{_cyrexecdir}/cyr_dbtool
%attr(0755,root,root) %{_cyrexecdir}/cyr_expire %attr(0755,root,root) %{_cyrexecdir}/cyr_expire
%attr(0755,root,root) %{_cyrexecdir}/cyrdump %attr(0755,root,root) %{_cyrexecdir}/cyrdump
%attr(0755,root,root) %{_cyrexecdir}/cyrus-master %attr(0755,root,root) %{_cyrexecdir}/cyrus-master
@ -781,6 +778,7 @@ fi
%attr(0700,%{_cyrususer},%{_cyrusgroup}) %dir %{_vardata}/md5 %attr(0700,%{_cyrususer},%{_cyrusgroup}) %dir %{_vardata}/md5
%attr(0700,%{_cyrususer},%{_cyrusgroup}) %dir %{_vardata}/rpm %attr(0700,%{_cyrususer},%{_cyrusgroup}) %dir %{_vardata}/rpm
%attr(0700,%{_cyrususer},%{_cyrusgroup}) %dir %{_vardata}/backup %attr(0700,%{_cyrususer},%{_cyrusgroup}) %dir %{_vardata}/backup
%attr(0700,%{_cyrususer},%{_cyrusgroup}) %dir %{_vardata}/meta
%if %{_withldap} %if %{_withldap}
%attr(0700,%{_cyrususer},%{_cyrusgroup}) %dir %{_vardata}/ptclient %attr(0700,%{_cyrususer},%{_cyrusgroup}) %dir %{_vardata}/ptclient
%endif %endif
@ -803,7 +801,7 @@ fi
%{_libdir}/lib*.a %{_libdir}/lib*.a
%{_mandir}/man3/imclient.3* %{_mandir}/man3/imclient.3*
%files -n cyrus-imapd-perl -f cyrus-imapd-perl-%{version}-filelist %files perl -f cyrus-imapd-perl-%{version}-filelist
%defattr(-,root,root) %defattr(-,root,root)
%doc perl/imap/README %doc perl/imap/README
%doc perl/imap/Changes %doc perl/imap/Changes
@ -815,6 +813,9 @@ fi
%{_mandir}/man1/* %{_mandir}/man1/*
%changelog %changelog
* Mon Mar 12 2007 Tomas Janousek <tjanouse@redhat.com> - 2.3.8-1
- update to latest upstream
* Wed Jan 24 2007 Tomas Janousek <tjanouse@redhat.com> - 2.3.7-8 * Wed Jan 24 2007 Tomas Janousek <tjanouse@redhat.com> - 2.3.7-8
- compile with kerberos support - compile with kerberos support

View File

@ -1,2 +1,2 @@
07990f3a78a3a9d728cae627e31a9caf cyrus-imapd-2.3.7.tar.gz
8f7a26b0556369827bb5c8084a3e3ea1 cyrus_sharedbackup-0.1.tar.gz 8f7a26b0556369827bb5c8084a3e3ea1 cyrus_sharedbackup-0.1.tar.gz
ac03b02c1ae08d52f807b58c488b204f cyrus-imapd-2.3.8.tar.gz