diff --git a/.cvsignore b/.cvsignore
index d9795a8..606923d 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,4 +1,2 @@
-cyrus-imapd-2.3.1.tar.gz
cyrus_sharedbackup-0.1.tar.gz
-autoconf-2.59.tar.gz
-cyrus-imapd-2.3.7.tar.gz
+cyrus-imapd-2.3.8.tar.gz
diff --git a/cyrus-imapd-2.2.12-notify_sms.patch b/cyrus-imapd-2.3.7-notify_sms.patch
similarity index 76%
rename from cyrus-imapd-2.2.12-notify_sms.patch
rename to cyrus-imapd-2.3.7-notify_sms.patch
index de4e18b..ec7d6e6 100644
--- a/cyrus-imapd-2.2.12-notify_sms.patch
+++ b/cyrus-imapd-2.3.7-notify_sms.patch
@@ -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
---- cyrus-imapd-2.2.12.orig/doc/man/imapd.conf.5.html 2005-02-14 19:02:18.000000000 +0100
-+++ cyrus-imapd-2.2.12/doc/man/imapd.conf.5.html 2005-08-16 13:32:36.000000000 +0200
-@@ -2751,6 +2751,24 @@
+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.3.7.orig/doc/man/imapd.conf.5.html 2006-07-10 16:31:53.000000000 +0200
++++ cyrus-imapd-2.3.7/doc/man/imapd.conf.5.html 2006-07-14 10:27:29.000000000 +0200
+@@ -3130,6 +3130,24 @@
|
@@ -24,11 +24,11 @@ diff -Naur cyrus-imapd-2.2.12.orig/doc/man/imapd.conf.5.html cyrus-imapd-2.2.12/
+ | |
+
servername: <none> |
-
+
-diff -Naur cyrus-imapd-2.2.12.orig/doc/man/notifyd.8.html cyrus-imapd-2.2.12/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.2.12/doc/man/notifyd.8.html 2005-08-16 13:17:33.000000000 +0200
+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.3.7.orig/doc/man/notifyd.8.html 2006-07-10 16:31:54.000000000 +0200
++++ cyrus-imapd-2.3.7/doc/man/notifyd.8.html 2006-07-14 10:27:29.000000000 +0200
@@ -181,6 +181,18 @@
|
@@ -48,10 +48,10 @@ diff -Naur cyrus-imapd-2.2.12.orig/doc/man/notifyd.8.html cyrus-imapd-2.2.12/doc
zephyr
|
-diff -Naur cyrus-imapd-2.2.12.orig/lib/imapoptions cyrus-imapd-2.2.12/lib/imapoptions
---- cyrus-imapd-2.2.12.orig/lib/imapoptions 2004-07-21 21:07:45.000000000 +0200
-+++ cyrus-imapd-2.2.12/lib/imapoptions 2005-08-16 13:27:08.000000000 +0200
-@@ -721,6 +721,10 @@
+diff -Naur cyrus-imapd-2.3.7.orig/lib/imapoptions cyrus-imapd-2.3.7/lib/imapoptions
+--- cyrus-imapd-2.3.7.orig/lib/imapoptions 2006-06-27 17:58:42.000000000 +0200
++++ cyrus-imapd-2.3.7/lib/imapoptions 2006-07-14 10:27:29.000000000 +0200
+@@ -829,6 +829,10 @@
/* The pathname of the sendmail executable. Sieve invokes sendmail
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 }
/* This is the hostname visible in the greeting messages of the POP,
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
---- cyrus-imapd-2.2.12.orig/man/imapd.conf.5 2005-02-14 19:02:16.000000000 +0100
-+++ cyrus-imapd-2.2.12/man/imapd.conf.5 2005-08-16 13:35:40.000000000 +0200
-@@ -590,6 +590,9 @@
+diff -Naur cyrus-imapd-2.3.7.orig/man/imapd.conf.5 cyrus-imapd-2.3.7/man/imapd.conf.5
+--- cyrus-imapd-2.3.7.orig/man/imapd.conf.5 2006-07-10 16:31:52.000000000 +0200
++++ cyrus-imapd-2.3.7/man/imapd.conf.5 2006-07-14 10:27:29.000000000 +0200
+@@ -691,6 +691,9 @@
.IP "\fBsendmail:\fR /usr/lib/sendmail" 5
The pathname of the sendmail executable. Sieve invokes sendmail
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 " 5
This is the hostname visible in the greeting messages of the POP,
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
---- cyrus-imapd-2.2.12.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
+diff -Naur cyrus-imapd-2.3.7.orig/man/notifyd.8 cyrus-imapd-2.3.7/man/notifyd.8
+--- cyrus-imapd-2.3.7.orig/man/notifyd.8 2003-08-10 01:43:14.000000000 +0200
++++ cyrus-imapd-2.3.7/man/notifyd.8 2006-07-14 10:27:29.000000000 +0200
@@ -110,6 +110,11 @@
Sieve 'notify' action as it requires a \fImailto:\fR URL to be
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
Send the notification as a zephyrgram. If used in a Sieve 'notify'
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
---- cyrus-imapd-2.2.12.orig/notifyd/Makefile.in 2004-05-28 20:03:06.000000000 +0200
-+++ cyrus-imapd-2.2.12/notifyd/Makefile.in 2005-08-16 15:18:45.000000000 +0200
+diff -Naur cyrus-imapd-2.3.7.orig/notifyd/Makefile.in cyrus-imapd-2.3.7/notifyd/Makefile.in
+--- cyrus-imapd-2.3.7.orig/notifyd/Makefile.in 2004-05-31 20:22:59.000000000 +0200
++++ cyrus-imapd-2.3.7/notifyd/Makefile.in 2006-07-14 10:27:29.000000000 +0200
@@ -82,7 +82,7 @@
install:
$(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
$(CC) $(LDFLAGS) -o notifytest \
-diff -Naur cyrus-imapd-2.2.12.orig/notifyd/notifyd.h cyrus-imapd-2.2.12/notifyd/notifyd.h
---- cyrus-imapd-2.2.12.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
+diff -Naur cyrus-imapd-2.3.7.orig/notifyd/notifyd.h cyrus-imapd-2.3.7/notifyd/notifyd.h
+--- cyrus-imapd-2.3.7.orig/notifyd/notifyd.h 2003-02-13 21:15:48.000000000 +0100
++++ cyrus-imapd-2.3.7/notifyd/notifyd.h 2006-07-14 10:27:29.000000000 +0200
@@ -48,6 +48,7 @@
#include "notify_null.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
{ "zephyr", notify_zephyr }, /* send a zephyrgram */
#endif
-diff -Naur cyrus-imapd-2.2.12.orig/notifyd/notify_sms.c cyrus-imapd-2.2.12/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.2.12/notifyd/notify_sms.c 2005-08-16 18:43:56.000000000 +0200
-@@ -0,0 +1,111 @@
+diff -Naur cyrus-imapd-2.3.7.orig/notifyd/notify_sms.c cyrus-imapd-2.3.7/notifyd/notify_sms.c
+--- cyrus-imapd-2.3.7.orig/notifyd/notify_sms.c 1970-01-01 01:00:00.000000000 +0100
++++ cyrus-imapd-2.3.7/notifyd/notify_sms.c 2006-07-14 10:29:10.000000000 +0200
+@@ -0,0 +1,116 @@
+/* notify_sms.c -- SMS notification method
+ * 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.
+ *
+ * notify_sms is based on code from notify_mailto by Ken Murchison.
-+ * Copyright (c) 2005 Simon Matter, Invoca Systems.
-+ * Release 2005081600/2.2.12
++ * Copyright (c) 2005-2006 Simon Matter, Invoca Systems.
++ * Release 2006071300/2.3.7
+*/
+
+#include
@@ -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;
+
+char* notify_sms(const char *class __attribute__((unused)),
-+ const char *priority __attribute__((unused)),
-+ const char *user __attribute__((unused)),
++ const char *priority,
++ const char *user,
+ const char *mailbox __attribute__((unused)),
+ int nopt, char **options,
+ 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");
+
+ smbuf[0] = "sendsms";
-+ smbuf[1] = options[0];
-+ smbuf[2] = NULL;
++ smbuf[1] = "-u";
++ smbuf[2] = user;
++ smbuf[3] = "-p";
++ smbuf[4] = priority;
++ smbuf[5] = "-o";
++ smbuf[6] = options[0];
++ smbuf[7] = NULL;
+
+ pipe(fds);
+ 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");
+}
-diff -Naur cyrus-imapd-2.2.12.orig/notifyd/notify_sms.h cyrus-imapd-2.2.12/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.2.12/notifyd/notify_sms.h 2005-08-16 14:57:16.000000000 +0200
-@@ -0,0 +1,62 @@
+diff -Naur cyrus-imapd-2.3.7.orig/notifyd/notify_sms.h cyrus-imapd-2.3.7/notifyd/notify_sms.h
+--- cyrus-imapd-2.3.7.orig/notifyd/notify_sms.h 1970-01-01 01:00:00.000000000 +0100
++++ cyrus-imapd-2.3.7/notifyd/notify_sms.h 2006-07-14 10:29:10.000000000 +0200
+@@ -0,0 +1,61 @@
+/* notify_sms.h -- SMS notification method
+ * 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.
+ *
+ * notify_sms is based on code from notify_mailto by Ken Murchison.
-+ * Copyright (c) 2005 Simon Matter, Invoca Systems.
-+ * Release 2005081600/2.2.12
++ * Copyright (c) 2005-2006 Simon Matter, Invoca Systems.
++ * 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
+
-+/* the only option should be a sms URI */
+char* notify_sms(const char *class __attribute__((unused)),
-+ const char *priority __attribute__((unused)),
-+ const char *user __attribute__((unused)),
++ const char *priority,
++ const char *user,
+ const char *mailbox __attribute__((unused)),
+ int nopt, char **options,
+ const char *message);
diff --git a/cyrus-imapd-2.3.1-autocreate-0.10-0.diff b/cyrus-imapd-2.3.8-autocreate-0.10-0.diff
similarity index 89%
rename from cyrus-imapd-2.3.1-autocreate-0.10-0.diff
rename to cyrus-imapd-2.3.8-autocreate-0.10-0.diff
index 48aa75d..893e88a 100644
--- a/cyrus-imapd-2.3.1-autocreate-0.10-0.diff
+++ b/cyrus-imapd-2.3.8-autocreate-0.10-0.diff
@@ -1,6 +1,6 @@
-diff -Naur cyrus-imapd-2.3.1/README.autocreate cyrus-imapd-2.3.1-autocreate/README.autocreate
---- cyrus-imapd-2.3.1/README.autocreate 1970-01-01 02:00:00 +0200
-+++ cyrus-imapd-2.3.1-autocreate/README.autocreate 2006-01-19 03:53:40 +0200
+diff -Naur cyrus-imapd-2.3.8/README.autocreate cyrus-imapd-2.3.8-autocreate.uncompiled/README.autocreate
+--- cyrus-imapd-2.3.8/README.autocreate 1970-01-01 02:00:00.000000000 +0200
++++ cyrus-imapd-2.3.8-autocreate.uncompiled/README.autocreate 2007-02-13 14:05:07.000000000 +0200
@@ -0,0 +1,211 @@
+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
+
-diff -Naur cyrus-imapd-2.3.1/imap/Makefile.in cyrus-imapd-2.3.1-autocreate/imap/Makefile.in
---- cyrus-imapd-2.3.1/imap/Makefile.in 2005-12-13 17:28:43 +0200
-+++ cyrus-imapd-2.3.1-autocreate/imap/Makefile.in 2006-01-19 03:53:41 +0200
+diff -Naur cyrus-imapd-2.3.8/imap/Makefile.in cyrus-imapd-2.3.8-autocreate.uncompiled/imap/Makefile.in
+--- cyrus-imapd-2.3.8/imap/Makefile.in 2007-01-09 19:41:35.000000000 +0200
++++ cyrus-imapd-2.3.8-autocreate.uncompiled/imap/Makefile.in 2007-02-14 10:16:04.000000000 +0200
@@ -101,7 +101,7 @@
convert_code.o duplicate.o saslclient.o saslserver.o signals.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 \
-- sync_log.o $(SEEN) mboxkey.o
-+ sync_log.o autosieve.o $(SEEN) mboxkey.o
+- sync_log.o $(SEEN) mboxkey.o backend.o tls.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 \
- tls.o version.o
-@@ -118,7 +118,7 @@
- fud smmapd reconstruct quota mbpath ipurge \
+ IMAPDOBJS=pushstats.o imapd.o proxy.o imap_proxy.o index.o version.o
+
+@@ -117,7 +117,7 @@
+ fud smmapd reconstruct quota mbpath ipurge cyr_dbtool \
cyrdump chk_cyrus cvt_cyrusdb deliver ctl_mboxlist \
ctl_deliver ctl_cyrusdb squatter mbexamine cyr_expire arbitron \
- 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 \
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
- 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 \
- idled.o mutex_fake.o libimap.a $(DEPLIBS) $(LIBS)
+ idled.o mutex_fake.o libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS)
lmtpd: lmtpd.o proxy.o $(LMTPOBJS) $(SIEVE_OBJS) mutex_fake.o \
libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(SERVICE)
-@@ -199,10 +199,10 @@
+@@ -199,151 +199,156 @@
$(SERVICE) lmtpd.o proxy.o $(LMTPOBJS) $(SIEVE_OBJS) \
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 $(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 \
-@@ -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 \
$(SERVICETHREAD) mupdate.o mupdate-slave.o mupdate-client.o \
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
mupdate.pure: mupdate.o mupdate-slave.o mupdate-client.o mutex_pthread.o \
- libimap.a $(DEPLIBS)
-@@ -228,118 +228,122 @@
- mutex_pthread.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) -lpthread
+- libimap.a $(DEPLIBS)
++ libimap.a $(SIEVE_LIBS) $(DEPLIBS)
+ $(PURIFY) $(PUREOPT) $(CC) $(LDFLAGS) -o mupdate.pure \
+ $(SERVICETHREAD) mupdate.o mupdate-slave.o mupdate-client.o \
+- mutex_pthread.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) -lpthread
++ mutex_pthread.o libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP) -lpthread
pop3d: pop3d.o proxy.o backend.o tls.o mutex_fake.o libimap.a \
- $(DEPLIBS) $(SERVICE)
-+ $(SIEVE_LIBS) $(DEPLIBS) $(SERVICE)
++ $(DEPLIBS) $(SIEVE_LIBS) $(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 $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP)
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 $(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 \
smtpclient.o tls.o $(SERVICE) mutex_fake.o nntp_err.o \
- libimap.a $(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) $(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 \
- $(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) $(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 \
- $(DEPLIBS) $(LIBS) $(LIB_WRAP)
+ $(SIEVE_LIBS) $(DEPLIBS) $(LIBS) $(LIB_WRAP)
sync_server: sync_server.o sync_support.o sync_commit.o \
- imapparse.o tls.o libimap.a mutex_fake.o $(DEPLIBS) $(SERVICE)
-+ imapparse.o tls.o libimap.a mutex_fake.o $(DEPLIBS) $(SERVICE) $(SIEVE_LIBS)
++ imapparse.o tls.o libimap.a mutex_fake.o $(SIEVE_LIBS) $(DEPLIBS) $(SERVICE)
$(CC) $(LDFLAGS) -o \
sync_server sync_server.o sync_support.o sync_commit.o \
imapparse.o tls.o $(SERVICE) libimap.a mutex_fake.o \
@@ -306,122 +326,127 @@ diff -Naur cyrus-imapd-2.3.1/imap/Makefile.in cyrus-imapd-2.3.1-autocreate/imap/
### Command Line Utilities
-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) \
- libimap.a $(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) $(SIEVE_LIBS)
++cvt_cyrusdb: cvt_cyrusdb.o mutex_fake.o libimap.a $(SIEVE_LIBS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o cvt_cyrusdb cvt_cyrusdb.o $(CLIOBJS) \
- libimap.a $(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) $(SIEVE_LIBS)
++chk_cyrus: chk_cyrus.o mutex_fake.o libimap.a $(SIEVE_LIBS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o chk_cyrus chk_cyrus.o $(CLIOBJS) \
- libimap.a $(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) $(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 \
- mutex_fake.o libimap.a $(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) $(SIEVE_LIBS)
++ctl_deliver: ctl_deliver.o $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o \
- $@ ctl_deliver.o $(CLIOBJS) libimap.a $(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) $(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) \
- libimap.a $(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) $(SIEVE_LIBS)
++ctl_cyrusdb: ctl_cyrusdb.o $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o \
- $@ ctl_cyrusdb.o $(CLIOBJS) libimap.a $(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) $(SIEVE_LIBS)
++cyr_expire: cyr_expire.o $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o $@ cyr_expire.o $(CLIOBJS) \
- libimap.a $(DEPLIBS) $(LIBS)
+ libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS)
-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 \
- $@ fetchnews.o $(CLIOBJS) libimap.a $(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) $(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 \
- $(CLIOBJS) libimap.a $(DEPLIBS) $(LIBS)
+ $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS)
-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 \
- $(DEPLIBS) $(LIBS)
--
--ipurge: ipurge.o $(CLIOBJS) libimap.a $(DEPLIBS)
+ $(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) \
- libimap.a $(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) $(SIEVE_LIBS)
++cyrdump: cyrdump.o index.o $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o cyrdump cyrdump.o index.o $(CLIOBJS) \
- libimap.a $(DEPLIBS) $(LIBS)
+ libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS)
-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 \
- mbexamine mbexamine.o $(CLIOBJS) libimap.a $(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) $(SIEVE_LIBS)
++reconstruct: reconstruct.o $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o \
- reconstruct reconstruct.o $(CLIOBJS) libimap.a $(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) $(SIEVE_LIBS)
++quota: quota.o $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o quota quota.o $(CLIOBJS) \
- libimap.a $(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) $(SIEVE_LIBS)
++tls_prune: tls_prune.o tls.o $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o \
- $@ tls_prune.o tls.o $(CLIOBJS) libimap.a $(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) $(SIEVE_LIBS)
++unexpunge: unexpunge.o $(CLIOBJS) libimap.a $(SIEVE_LIBS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o $@ unexpunge.o $(CLIOBJS) \
- libimap.a $(DEPLIBS) $(LIBS)
+ libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS)
-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)
-+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)
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) $(SIEVE_LIBS)
++ backend.o tls.o imapparse.o libimap.a mutex_fake.o $(SIEVE_LIBS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o \
sync_client sync_client.o sync_support.o \
- 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 \
- 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 \
sync_reset sync_reset.o sync_support.o sync_commit.o \
- 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)
+ $(CC) $(LDFLAGS) -o compile_sieve compile_sieve.o $(CLIOBJS) \
+ libimap.a $(SIEVE_LIBS) $(DEPLIBS) $(LIBS)
++
### Other Misc Targets
-diff -Naur cyrus-imapd-2.3.1/imap/autosieve.c cyrus-imapd-2.3.1-autocreate/imap/autosieve.c
---- cyrus-imapd-2.3.1/imap/autosieve.c 1970-01-01 02:00:00 +0200
-+++ cyrus-imapd-2.3.1-autocreate/imap/autosieve.c 2006-01-19 03:53:41 +0200
+diff -Naur cyrus-imapd-2.3.8/imap/autosieve.c cyrus-imapd-2.3.8-autocreate.uncompiled/imap/autosieve.c
+--- cyrus-imapd-2.3.8/imap/autosieve.c 1970-01-01 02:00:00.000000000 +0200
++++ cyrus-imapd-2.3.8-autocreate.uncompiled/imap/autosieve.c 2007-02-13 14:05:07.000000000 +0200
@@ -0,0 +1,587 @@
+#include
+#include
@@ -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
+ */
+
-diff -Naur cyrus-imapd-2.3.1/imap/compile_sieve.c cyrus-imapd-2.3.1-autocreate/imap/compile_sieve.c
---- cyrus-imapd-2.3.1/imap/compile_sieve.c 1970-01-01 02:00:00 +0200
-+++ cyrus-imapd-2.3.1-autocreate/imap/compile_sieve.c 2006-01-19 03:53:41 +0200
+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.8/imap/compile_sieve.c 1970-01-01 02:00:00.000000000 +0200
++++ cyrus-imapd-2.3.8-autocreate.uncompiled/imap/compile_sieve.c 2007-02-13 14:05:07.000000000 +0200
@@ -0,0 +1,364 @@
+/* This tool compiles the sieve script from a command
+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
---- cyrus-imapd-2.3.1/imap/imapd.c 2005-12-13 21:35:50 +0200
-+++ cyrus-imapd-2.3.1-autocreate/imap/imapd.c 2006-01-19 03:53:41 +0200
-@@ -193,6 +193,7 @@
+diff -Naur cyrus-imapd-2.3.8/imap/imapd.c cyrus-imapd-2.3.8-autocreate.uncompiled/imap/imapd.c
+--- cyrus-imapd-2.3.8/imap/imapd.c 2007-02-05 20:49:55.000000000 +0200
++++ cyrus-imapd-2.3.8-autocreate.uncompiled/imap/imapd.c 2007-02-13 14:05:07.000000000 +0200
+@@ -204,6 +204,7 @@
void motd_file(int fd);
void shut_down(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 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
*/
void cmd_login(char *tag, char *user)
-@@ -2047,6 +2085,9 @@
+@@ -2077,6 +2115,9 @@
strcspn(imapd_userid, "@") : 0);
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;
}
-@@ -2195,6 +2236,8 @@
+@@ -2233,6 +2274,8 @@
config_virtdomains ?
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;
}
-diff -Naur cyrus-imapd-2.3.1/imap/lmtpd.c cyrus-imapd-2.3.1-autocreate/imap/lmtpd.c
---- cyrus-imapd-2.3.1/imap/lmtpd.c 2005-12-13 01:10:59 +0200
-+++ cyrus-imapd-2.3.1-autocreate/imap/lmtpd.c 2006-01-19 03:53:41 +0200
-@@ -114,6 +114,8 @@
+diff -Naur cyrus-imapd-2.3.8/imap/lmtpd.c cyrus-imapd-2.3.8-autocreate.uncompiled/imap/lmtpd.c
+--- cyrus-imapd-2.3.8/imap/lmtpd.c 2007-02-05 20:41:47.000000000 +0200
++++ cyrus-imapd-2.3.8-autocreate.uncompiled/imap/lmtpd.c 2007-02-13 14:05:07.000000000 +0200
+@@ -117,6 +117,8 @@
static FILE *spoolfile(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 */
static struct namespace lmtpd_namespace;
-@@ -924,6 +926,86 @@
+@@ -949,6 +951,86 @@
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,
long quotacheck, struct auth_state *authstate)
{
-@@ -967,6 +1049,15 @@
+@@ -992,6 +1074,15 @@
*/
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 &&
config_getswitch(IMAPOPT_LMTP_FUZZY_MAILBOX_MATCH) &&
/* see if we have a mailbox whose name is close */
-@@ -993,6 +1084,7 @@
+@@ -1018,6 +1109,7 @@
aclcheck, (quotacheck < 0)
|| config_getswitch(IMAPOPT_LMTP_STRICT_QUOTA) ?
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
---- cyrus-imapd-2.3.1/imap/mboxlist.c 2005-12-13 21:36:03 +0200
-+++ cyrus-imapd-2.3.1-autocreate/imap/mboxlist.c 2006-01-19 03:53:41 +0200
-@@ -81,6 +81,12 @@
+diff -Naur cyrus-imapd-2.3.8/imap/mboxlist.c cyrus-imapd-2.3.8-autocreate.uncompiled/imap/mboxlist.c
+--- cyrus-imapd-2.3.8/imap/mboxlist.c 2007-02-05 20:41:47.000000000 +0200
++++ cyrus-imapd-2.3.8-autocreate.uncompiled/imap/mboxlist.c 2007-02-13 14:05:07.000000000 +0200
+@@ -83,6 +83,12 @@
#include "mboxlist.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 SUBDB config_subscription_db
-@@ -98,11 +104,29 @@
+@@ -100,11 +106,29 @@
static int mboxlist_changequota(const char *name, int matchlen, int maycreate,
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"
/*
-@@ -3245,3 +3269,349 @@
+@@ -3261,3 +3285,349 @@
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;
+}
+
-diff -Naur cyrus-imapd-2.3.1/imap/mboxlist.h cyrus-imapd-2.3.1-autocreate/imap/mboxlist.h
---- cyrus-imapd-2.3.1/imap/mboxlist.h 2005-02-21 21:25:40 +0200
-+++ cyrus-imapd-2.3.1-autocreate/imap/mboxlist.h 2006-01-19 03:53:41 +0200
-@@ -203,4 +203,10 @@
+diff -Naur cyrus-imapd-2.3.8/imap/mboxlist.h cyrus-imapd-2.3.8-autocreate.uncompiled/imap/mboxlist.h
+--- cyrus-imapd-2.3.8/imap/mboxlist.h 2006-11-30 19:11:19.000000000 +0200
++++ cyrus-imapd-2.3.8-autocreate.uncompiled/imap/mboxlist.h 2007-02-13 14:05:07.000000000 +0200
+@@ -204,4 +204,10 @@
int mboxlist_commit(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
-diff -Naur cyrus-imapd-2.3.1/imap/pop3d.c cyrus-imapd-2.3.1-autocreate/imap/pop3d.c
---- cyrus-imapd-2.3.1/imap/pop3d.c 2005-12-13 21:36:08 +0200
-+++ cyrus-imapd-2.3.1-autocreate/imap/pop3d.c 2006-01-19 03:53:41 +0200
-@@ -155,6 +155,8 @@
+diff -Naur cyrus-imapd-2.3.8/imap/pop3d.c cyrus-imapd-2.3.8-autocreate.uncompiled/imap/pop3d.c
+--- cyrus-imapd-2.3.8/imap/pop3d.c 2007-02-05 20:41:48.000000000 +0200
++++ cyrus-imapd-2.3.8-autocreate.uncompiled/imap/pop3d.c 2007-02-13 14:05:07.000000000 +0200
+@@ -158,6 +158,8 @@
static char popd_apop_chal[45 + MAXHOSTNAMELEN + 1]; /* */
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_capa(void);
static void cmd_pass(char *pass);
-@@ -1206,6 +1208,7 @@
+@@ -1226,6 +1228,7 @@
popd_userid = xstrdup(userbuf);
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)
-@@ -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
*/
int openinbox(void)
-@@ -1505,6 +1545,12 @@
+@@ -1528,6 +1568,12 @@
if (!r) r = mboxlist_detail(inboxname, &type, NULL, 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)) &&
(!acl ||
!((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
---- cyrus-imapd-2.3.1/lib/auth.c 2005-02-16 23:06:50 +0200
-+++ cyrus-imapd-2.3.1-autocreate/lib/auth.c 2006-01-19 03:53:42 +0200
+diff -Naur cyrus-imapd-2.3.8/lib/auth.c cyrus-imapd-2.3.8-autocreate.uncompiled/lib/auth.c
+--- cyrus-imapd-2.3.8/lib/auth.c 2006-11-30 19:11:22.000000000 +0200
++++ cyrus-imapd-2.3.8-autocreate.uncompiled/lib/auth.c 2007-02-13 14:05:07.000000000 +0200
@@ -117,3 +117,11 @@
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);
+}
+
-diff -Naur cyrus-imapd-2.3.1/lib/auth.h cyrus-imapd-2.3.1-autocreate/lib/auth.h
---- cyrus-imapd-2.3.1/lib/auth.h 2005-02-16 23:06:50 +0200
-+++ cyrus-imapd-2.3.1-autocreate/lib/auth.h 2006-01-19 03:53:42 +0200
+diff -Naur cyrus-imapd-2.3.8/lib/auth.h cyrus-imapd-2.3.8-autocreate.uncompiled/lib/auth.h
+--- cyrus-imapd-2.3.8/lib/auth.h 2006-11-30 19:11:22.000000000 +0200
++++ cyrus-imapd-2.3.8-autocreate.uncompiled/lib/auth.h 2007-02-13 14:05:07.000000000 +0200
@@ -54,6 +54,7 @@
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);
#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
---- cyrus-imapd-2.3.1/lib/auth_krb.c 2005-12-14 15:52:09 +0200
-+++ cyrus-imapd-2.3.1-autocreate/lib/auth_krb.c 2006-01-19 03:53:42 +0200
-@@ -339,6 +339,15 @@
+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.8/lib/auth_krb.c 2006-11-30 19:11:22.000000000 +0200
++++ cyrus-imapd-2.3.8-autocreate.uncompiled/lib/auth_krb.c 2007-02-13 14:05:07.000000000 +0200
+@@ -338,6 +338,15 @@
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 */
static int mymemberof(
-@@ -367,6 +376,13 @@
+@@ -366,6 +375,13 @@
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
struct auth_mech auth_krb =
-@@ -377,4 +393,5 @@
+@@ -376,4 +392,5 @@
&mymemberof,
&mynewstate,
&myfreestate,
+ &mycanonuser,
};
-diff -Naur cyrus-imapd-2.3.1/lib/auth_krb5.c cyrus-imapd-2.3.1-autocreate/lib/auth_krb5.c
---- cyrus-imapd-2.3.1/lib/auth_krb5.c 2005-02-16 23:06:50 +0200
-+++ cyrus-imapd-2.3.1-autocreate/lib/auth_krb5.c 2006-01-19 03:53:42 +0200
+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.8/lib/auth_krb5.c 2006-11-30 19:11:22.000000000 +0200
++++ cyrus-imapd-2.3.8-autocreate.uncompiled/lib/auth_krb5.c 2007-02-13 14:05:07.000000000 +0200
@@ -197,6 +197,14 @@
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,
+ &mycanonuser,
};
-diff -Naur cyrus-imapd-2.3.1/lib/auth_pts.c cyrus-imapd-2.3.1-autocreate/lib/auth_pts.c
---- cyrus-imapd-2.3.1/lib/auth_pts.c 2005-02-20 05:23:45 +0200
-+++ cyrus-imapd-2.3.1-autocreate/lib/auth_pts.c 2006-01-19 03:53:42 +0200
-@@ -347,6 +347,14 @@
+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.8/lib/auth_pts.c 2007-02-05 20:43:26.000000000 +0200
++++ cyrus-imapd-2.3.8-autocreate.uncompiled/lib/auth_pts.c 2007-02-13 14:05:07.000000000 +0200
+@@ -511,6 +511,14 @@
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 =
{
"pts", /* name */
-@@ -355,4 +363,5 @@
+@@ -519,4 +527,5 @@
&mymemberof,
&mynewstate,
&myfreestate,
+ &mycanonuser,
};
-diff -Naur cyrus-imapd-2.3.1/lib/auth_unix.c cyrus-imapd-2.3.1-autocreate/lib/auth_unix.c
---- cyrus-imapd-2.3.1/lib/auth_unix.c 2005-02-16 23:06:50 +0200
-+++ cyrus-imapd-2.3.1-autocreate/lib/auth_unix.c 2006-01-19 03:53:42 +0200
+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.8/lib/auth_unix.c 2006-11-30 19:11:22.000000000 +0200
++++ cyrus-imapd-2.3.8-autocreate.uncompiled/lib/auth_unix.c 2007-02-13 14:05:07.000000000 +0200
@@ -264,6 +264,16 @@
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,
+ &mycanonuser,
};
-diff -Naur cyrus-imapd-2.3.1/lib/imapoptions cyrus-imapd-2.3.1-autocreate/lib/imapoptions
---- cyrus-imapd-2.3.1/lib/imapoptions 2005-12-13 21:36:11 +0200
-+++ cyrus-imapd-2.3.1-autocreate/lib/imapoptions 2006-01-19 03:53:42 +0200
-@@ -172,6 +172,55 @@
+diff -Naur cyrus-imapd-2.3.8/lib/imapoptions cyrus-imapd-2.3.8-autocreate.uncompiled/lib/imapoptions
+--- cyrus-imapd-2.3.8/lib/imapoptions 2007-02-07 20:58:07.000000000 +0200
++++ cyrus-imapd-2.3.8-autocreate.uncompiled/lib/imapoptions 2007-02-13 14:05:07.000000000 +0200
+@@ -177,6 +177,55 @@
/* 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 }
+/* 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 }
/* The pathname of the IMAP configuration directory. This field is
required. */
-diff -Naur cyrus-imapd-2.3.1/notifyd/Makefile.in cyrus-imapd-2.3.1-autocreate/notifyd/Makefile.in
---- cyrus-imapd-2.3.1/notifyd/Makefile.in 2004-05-31 21:22:59 +0300
-+++ cyrus-imapd-2.3.1-autocreate/notifyd/Makefile.in 2006-01-19 03:53:42 +0200
+diff -Naur cyrus-imapd-2.3.8/notifyd/Makefile.in cyrus-imapd-2.3.8-autocreate.uncompiled/notifyd/Makefile.in
+--- cyrus-imapd-2.3.8/notifyd/Makefile.in 2006-11-30 19:11:23.000000000 +0200
++++ cyrus-imapd-2.3.8-autocreate.uncompiled/notifyd/Makefile.in 2007-02-13 14:05:07.000000000 +0200
@@ -69,10 +69,11 @@
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
PUREOPT=-best-effort
-diff -Naur cyrus-imapd-2.3.1/notifyd/notifyd.c cyrus-imapd-2.3.1-autocreate/notifyd/notifyd.c
---- cyrus-imapd-2.3.1/notifyd/notifyd.c 2005-04-13 18:43:36 +0300
-+++ cyrus-imapd-2.3.1-autocreate/notifyd/notifyd.c 2006-01-19 03:53:42 +0200
+diff -Naur cyrus-imapd-2.3.8/notifyd/notifyd.c cyrus-imapd-2.3.8-autocreate.uncompiled/notifyd/notifyd.c
+--- cyrus-imapd-2.3.8/notifyd/notifyd.c 2006-11-30 19:11:23.000000000 +0200
++++ cyrus-imapd-2.3.8-autocreate.uncompiled/notifyd/notifyd.c 2007-02-13 14:05:07.000000000 +0200
@@ -97,7 +97,7 @@
#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;
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
---- cyrus-imapd-2.3.1/ptclient/Makefile.in 2005-02-17 20:43:03 +0200
-+++ cyrus-imapd-2.3.1-autocreate/ptclient/Makefile.in 2006-01-19 03:53:42 +0200
+diff -Naur cyrus-imapd-2.3.8/ptclient/Makefile.in cyrus-imapd-2.3.8-autocreate.uncompiled/ptclient/Makefile.in
+--- cyrus-imapd-2.3.8/ptclient/Makefile.in 2006-11-30 19:11:24.000000000 +0200
++++ cyrus-imapd-2.3.8-autocreate.uncompiled/ptclient/Makefile.in 2007-02-13 14:05:07.000000000 +0200
@@ -57,10 +57,11 @@
AFS_LDFLAGS = @AFS_LDFLAGS@ @COM_ERR_LDFLAGS@
AFS_LIBS = @AFS_LIBS@
diff --git a/cyrus-imapd-2.3.1-autosievefolder-0.6-0.diff b/cyrus-imapd-2.3.8-autosieve-0.6.0.diff
similarity index 88%
rename from cyrus-imapd-2.3.1-autosievefolder-0.6-0.diff
rename to cyrus-imapd-2.3.8-autosieve-0.6.0.diff
index b46af02..6d83044 100644
--- a/cyrus-imapd-2.3.1-autosievefolder-0.6-0.diff
+++ b/cyrus-imapd-2.3.8-autosieve-0.6.0.diff
@@ -1,6 +1,6 @@
-diff -Naur cyrus-imapd-2.3.1/README.autosievefolder cyrus-imapd-2.3.1-autosieve/README.autosievefolder
---- cyrus-imapd-2.3.1/README.autosievefolder 1970-01-01 02:00:00 +0200
-+++ cyrus-imapd-2.3.1-autosieve/README.autosievefolder 2006-01-19 03:29:08 +0200
+diff -Naur cyrus-imapd-2.3.8/README.autosievefolder cyrus-imapd-2.3.8-autosieve.uncompiled/README.autosievefolder
+--- cyrus-imapd-2.3.8/README.autosievefolder 1970-01-01 02:00:00.000000000 +0200
++++ cyrus-imapd-2.3.8-autosieve.uncompiled/README.autosievefolder 2007-02-13 15:05:04.000000000 +0200
@@ -0,0 +1,42 @@
+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
+
-diff -Naur cyrus-imapd-2.3.1/imap/lmtp_sieve.c cyrus-imapd-2.3.1-autosieve/imap/lmtp_sieve.c
---- cyrus-imapd-2.3.1/imap/lmtp_sieve.c 2005-11-21 18:26:54 +0200
-+++ cyrus-imapd-2.3.1-autosieve/imap/lmtp_sieve.c 2006-01-19 03:29:13 +0200
-@@ -86,6 +86,9 @@
+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.8/imap/lmtp_sieve.c 2007-02-05 20:41:47.000000000 +0200
++++ cyrus-imapd-2.3.8-autosieve.uncompiled/imap/lmtp_sieve.c 2007-02-13 15:05:04.000000000 +0200
+@@ -88,6 +88,9 @@
struct auth_state *authstate;
} 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 buf[MAX_MAILBOX_PATH+1];
-@@ -487,7 +490,20 @@
+@@ -484,7 +487,20 @@
sd->username, mdata->notifyheader,
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) {
snmp_increment(SIEVE_FILEINTO, 1);
return SIEVE_OK;
-@@ -939,3 +955,80 @@
+@@ -936,3 +952,80 @@
we'll do normal delivery */
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;
+}
+
-diff -Naur cyrus-imapd-2.3.1/lib/imapoptions cyrus-imapd-2.3.1-autosieve/lib/imapoptions
---- cyrus-imapd-2.3.1/lib/imapoptions 2005-12-13 21:36:11 +0200
-+++ cyrus-imapd-2.3.1-autosieve/lib/imapoptions 2006-01-19 03:29:15 +0200
-@@ -856,6 +856,15 @@
+diff -Naur cyrus-imapd-2.3.8/lib/imapoptions cyrus-imapd-2.3.8-autosieve.uncompiled/lib/imapoptions
+--- cyrus-imapd-2.3.8/lib/imapoptions 2007-02-07 20:58:07.000000000 +0200
++++ cyrus-imapd-2.3.8-autosieve.uncompiled/lib/imapoptions 2007-02-13 15:05:04.000000000 +0200
+@@ -884,6 +884,15 @@
/* If enabled, lmtpd will look for Sieve scripts in user's home
directories: ~user/.sieve. */
diff --git a/cyrus-imapd-2.3.1-rmquota+deletemailbox-0.2-1.diff b/cyrus-imapd-2.3.8-rmquota+deletemailbox-0.2-1.diff
similarity index 71%
rename from cyrus-imapd-2.3.1-rmquota+deletemailbox-0.2-1.diff
rename to cyrus-imapd-2.3.8-rmquota+deletemailbox-0.2-1.diff
index 6810fba..44c4d61 100644
--- a/cyrus-imapd-2.3.1-rmquota+deletemailbox-0.2-1.diff
+++ b/cyrus-imapd-2.3.8-rmquota+deletemailbox-0.2-1.diff
@@ -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
---- cyrus-imapd-2.3.1.orig/imap/ctl_cyrusdb.c 2005-02-16 22:06:18.000000000 +0100
-+++ cyrus-imapd-2.3.1/imap/ctl_cyrusdb.c 2006-01-16 11:10:56.000000000 +0100
+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.8/imap/ctl_cyrusdb.c 2006-11-30 19:11:17.000000000 +0200
++++ cyrus-imapd-2.3.8-rmquota+deletemailbox.uncompiled/imap/ctl_cyrusdb.c 2007-02-21 16:34:33.000000000 +0200
@@ -133,7 +133,7 @@
/* if it is MBTYPE_RESERVED, unset it & call mboxlist_delete */
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) {
/* log the error */
syslog(LOG_ERR,
-diff -Naur cyrus-imapd-2.3.1.orig/imap/ctl_mboxlist.c cyrus-imapd-2.3.1/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.1/imap/ctl_mboxlist.c 2006-01-16 11:10:56.000000000 +0100
-@@ -457,7 +457,7 @@
+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.8/imap/ctl_mboxlist.c 2007-02-05 20:41:46.000000000 +0200
++++ cyrus-imapd-2.3.8-rmquota+deletemailbox.uncompiled/imap/ctl_mboxlist.c 2007-02-21 16:34:48.000000000 +0200
+@@ -461,7 +461,7 @@
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, 1);
+ if(!ret) sync_log_mailbox(me->mailbox);
if(ret) {
fprintf(stderr, "couldn't delete defunct mailbox %s\n",
- me->mailbox);
-diff -Naur cyrus-imapd-2.3.1.orig/imap/imapd.c cyrus-imapd-2.3.1/imap/imapd.c
---- cyrus-imapd-2.3.1.orig/imap/imapd.c 2005-12-13 20:35:50.000000000 +0100
-+++ cyrus-imapd-2.3.1/imap/imapd.c 2006-01-16 11:10:56.000000000 +0100
-@@ -4707,7 +4707,7 @@
+diff -Naur cyrus-imapd-2.3.8/imap/imapd.c cyrus-imapd-2.3.8-rmquota+deletemailbox.uncompiled/imap/imapd.c
+--- cyrus-imapd-2.3.8/imap/imapd.c 2007-02-05 20:49:55.000000000 +0200
++++ cyrus-imapd-2.3.8-rmquota+deletemailbox.uncompiled/imap/imapd.c 2007-02-21 16:34:58.000000000 +0200
+@@ -4983,7 +4983,7 @@
r = mboxlist_deletemailbox(name, imapd_userisadmin,
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);
-@@ -4731,6 +4731,12 @@
+@@ -5007,6 +5007,12 @@
char *p;
int domainlen = 0;
int sync_lockfd = (-1);
+ int keepQuota = 1;
+
+ if(name && *name == '+') {
-+ keepQuota = 0;
-+ name++;
++ keepQuota = 0;
++ name++;
+ }
r = (*imapd_namespace.mboxname_tointernal)(&imapd_namespace, name,
imapd_userid, mailboxname);
-@@ -4789,7 +4795,7 @@
+@@ -5065,7 +5071,7 @@
r = mboxlist_deletemailbox(mailboxname, imapd_userisadmin,
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? */
-@@ -6149,6 +6155,7 @@
+@@ -6423,6 +6429,7 @@
{
int newquota = -1;
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 force = 0;
static struct buf arg;
-@@ -6165,7 +6172,8 @@
+@@ -6439,7 +6446,8 @@
if (c != ')' || arg.s[0] != '\0') {
for (;;) {
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);
if (c != ' ' && c != ')') goto badlist;
if (arg.s[0] == '\0') goto badlist;
-@@ -6234,7 +6242,10 @@
- quotaroot++;
- }
-
+@@ -6508,7 +6516,10 @@
+
+ /* local mailbox */
+ if (!r || (r == IMAP_MAILBOX_NONEXISTENT)) {
- r = mboxlist_setquota(mailboxname, newquota, force);
-+ if(!rmquota)
++ if(!rmquota)
+ r = mboxlist_setquota(mailboxname, newquota, force);
-+ else
++ else
+ r = mboxlist_unsetquota(mailboxname);
}
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 */
r = mboxlist_deletemailbox(mailboxname,
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,
"Could not delete local mailbox during move of %s",
mailboxname);
-diff -Naur cyrus-imapd-2.3.1.orig/imap/mailbox.c cyrus-imapd-2.3.1/imap/mailbox.c
---- cyrus-imapd-2.3.1.orig/imap/mailbox.c 2005-11-10 07:04:55.000000000 +0100
-+++ cyrus-imapd-2.3.1/imap/mailbox.c 2006-01-16 11:10:56.000000000 +0100
-@@ -2622,27 +2622,7 @@
+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.8/imap/mailbox.c 2007-02-05 20:41:47.000000000 +0200
++++ cyrus-imapd-2.3.8-rmquota+deletemailbox.uncompiled/imap/mailbox.c 2007-02-21 16:35:10.000000000 +0200
+@@ -2745,27 +2745,7 @@
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);
- /* remove data (message file) directory */
- path = mailbox->path;
-@@ -3263,3 +3243,49 @@
+ /* Flush data (message file) directory */
+ mailbox_delete_files(mailbox->path);
+@@ -3392,3 +3372,48 @@
if (*p == '.') *p = '/';
}
}
+
-+
+/* 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
+ * being a part of a bigger transaction to the quota db */
+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;
+}
+
-diff -Naur cyrus-imapd-2.3.1.orig/imap/mailbox.h cyrus-imapd-2.3.1/imap/mailbox.h
---- cyrus-imapd-2.3.1.orig/imap/mailbox.h 2005-05-27 19:40:54.000000000 +0200
-+++ cyrus-imapd-2.3.1/imap/mailbox.h 2006-01-16 11:10:56.000000000 +0100
-@@ -329,6 +329,8 @@
+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.8/imap/mailbox.h 2006-11-30 19:11:19.000000000 +0200
++++ cyrus-imapd-2.3.8-rmquota+deletemailbox.uncompiled/imap/mailbox.h 2007-02-21 16:35:20.000000000 +0200
+@@ -364,6 +364,8 @@
struct mailbox *mailboxp);
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,
const char *newname, char *newpartition,
bit32 *olduidvalidityp, bit32 *newuidvalidityp,
-diff -Naur cyrus-imapd-2.3.1.orig/imap/mboxlist.c cyrus-imapd-2.3.1/imap/mboxlist.c
---- cyrus-imapd-2.3.1.orig/imap/mboxlist.c 2005-12-13 20:36:03.000000000 +0100
-+++ cyrus-imapd-2.3.1/imap/mboxlist.c 2006-01-16 11:10:56.000000000 +0100
-@@ -93,6 +93,11 @@
+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.8/imap/mboxlist.c 2007-02-05 20:41:47.000000000 +0200
++++ cyrus-imapd-2.3.8-rmquota+deletemailbox.uncompiled/imap/mboxlist.c 2007-02-21 16:35:29.000000000 +0200
+@@ -95,6 +95,12 @@
static int mboxlist_opensubs();
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 maycreate __attribute__((unused)),
+ void *rock);
++
+
static int mboxlist_rmquota(const char *name, int matchlen, int maycreate,
void *rock);
static int mboxlist_changequota(const char *name, int matchlen, int maycreate,
-@@ -100,6 +105,7 @@
+@@ -102,6 +108,7 @@
struct change_rock {
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;
};
-@@ -891,9 +897,9 @@
+@@ -889,9 +896,9 @@
*/
int mboxlist_deletemailbox(const char *name, int isadmin, char *userid,
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;
long access;
struct mailbox mailbox;
-@@ -904,6 +910,7 @@
+@@ -902,6 +909,7 @@
int mbtype;
const char *p;
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;
-@@ -1016,13 +1023,44 @@
+@@ -1014,15 +1022,47 @@
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 */
+ if(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
*/
- if (!r && mailbox.quota.root != NULL) {
+- /* xxx look for any other mailboxes in this quotaroot */
+ if (!r && quotaroot != NULL) {
- /* xxx look for any other mailboxes in this quotaroot */
-+ /* If we have not asked to remove the quota (default behaviour), we check
++ /* xxx look for any other mailboxes in this quotaroot */
++ /* 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
+ * any subfolders the reasonable thing is to delete the quota */
+ 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 {
+ strlcat(pattern, ".*", sizeof(pattern));
-+ }
-+ /* find if there are subfolders. Then we want to
-+ * keep the existing quota */
++ }
++ /* find if there are subfolders. Then we want to
++ * keep the existing quota */
+ mboxlist_findall(NULL, pattern, isadmin, userid,
+ auth_state, child_cb, (void *) &has_children);
+
-+ if(!has_children)
-+ if(!mboxlist_mylookup(quotaroot, NULL, NULL, NULL, NULL, NULL, NULL, 0 ))
-+ has_children = 1;
++ if(!has_children)
++ if(!mboxlist_mylookup(quotaroot, NULL, NULL, NULL, NULL, NULL, 0, 1))
++ has_children = 1;
+ }
+ /* If we want to remove the quota explicitely or the quota root folder has no subfolders
+ * 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);
+ free(quotaroot);
}
-
+-
++
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;
crock.quota = "a;
@@ -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;
/* top level mailbox */
if(have_mailbox)
-@@ -2496,17 +2535,21 @@
+@@ -2501,15 +2542,19 @@
*/
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, '?')) {
return IMAP_MAILBOX_BADNAME;
}
-+
-+ crock.tid=NULL;
++ crock.tid=NULL;
++
quota.root = (char *) root;
-- r = quota_read("a, NULL, 0);
-+ r = quota_read("a, crock.tid, 0);
+ r = quota_read("a, NULL, 0);
if (r == IMAP_QUOTAROOT_NONEXISTENT) {
- /* already unset */
- return 0;
-@@ -2523,13 +2566,45 @@
- }
- 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);
+@@ -2534,9 +2579,47 @@
+ /* submailboxes - we're using internal names here */
+ mboxlist_findall(NULL, pattern, 1, 0, 0, mboxlist_rmquota, (void *)root);
- r = quota_delete("a, NULL);
+ r = quota_delete("a, 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);
return r;
++
}
-@@ -2627,6 +2702,7 @@
+
+ /*
+@@ -2632,6 +2715,7 @@
struct mailbox mailbox;
struct change_rock *crock = (struct change_rock *) rock;
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;
assert(rock != NULL);
-@@ -2644,27 +2720,24 @@
+@@ -2649,27 +2733,24 @@
if (r) goto error;
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 (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)) {
-+ /* Part of a child quota root */
-+ mailbox_close(&mailbox);
-+ return 0;
-+ }
- }
- else {
+- }
+- else {
- mailbox.quota.used = 0;
- }
- 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,
- "LOSTQUOTA: unable to record free of " UQUOTA_T_FMT " bytes in quota %s",
- 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);
++ 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);
-+ if (r)
-+ goto error;
++ r = mailbox_updatequota(&mailbox,tid);
++ if (r)
++ goto error;
}
mailbox.quota.root = xstrdup(mboxlist_newquota->root);
-@@ -2674,18 +2747,24 @@
- mboxlist_newquota->used += mailbox.quota_mailbox_used;
- mailbox_close(&mailbox);
- return 0;
--
-+
+@@ -2682,6 +2763,11 @@
+
error:
mailbox_close(&mailbox);
+ 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;
error_noclose:
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));
-
- /* Note, we're a callback, and it's not a huge tragedy if we
- * fail, so we don't ever return a failure */
- 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 @@
+ 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
++++ cyrus-imapd-2.3.8-rmquota+deletemailbox.uncompiled/imap/mboxlist.h 2007-02-21 16:35:34.000000000 +0200
+@@ -126,7 +126,7 @@
* the planet */
int mboxlist_deletemailbox(const char *name, int isadmin, char *userid,
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) */
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
---- cyrus-imapd-2.3.1.orig/imap/mupdate.c 2005-11-04 14:34:23.000000000 +0100
-+++ cyrus-imapd-2.3.1/imap/mupdate.c 2006-01-16 11:10:56.000000000 +0100
-@@ -2297,7 +2297,7 @@
+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.8/imap/mupdate.c 2007-01-31 16:10:05.000000000 +0200
++++ cyrus-imapd-2.3.8-rmquota+deletemailbox.uncompiled/imap/mupdate.c 2007-02-21 16:35:44.000000000 +0200
+@@ -2313,7 +2313,7 @@
remote_boxes.head = r->next;
} else if (ret < 0) {
/* 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;
} else /* (ret > 0) */ {
/* Remote without corresponding local, insert it */
-@@ -2312,7 +2312,7 @@
+@@ -2328,7 +2328,7 @@
if(l && !r) {
/* we have more deletes to do */
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;
l = local_boxes.head;
}
-diff -Naur cyrus-imapd-2.3.1.orig/imap/nntpd.c cyrus-imapd-2.3.1/imap/nntpd.c
---- cyrus-imapd-2.3.1.orig/imap/nntpd.c 2005-12-13 20:36:06.000000000 +0100
-+++ cyrus-imapd-2.3.1/imap/nntpd.c 2006-01-16 11:10:56.000000000 +0100
-@@ -3342,7 +3342,7 @@
+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.8/imap/nntpd.c 2007-02-05 20:49:56.000000000 +0200
++++ cyrus-imapd-2.3.8-rmquota+deletemailbox.uncompiled/imap/nntpd.c 2007-02-21 16:35:53.000000000 +0200
+@@ -3358,7 +3358,7 @@
/* XXX should we delete right away, or wait until empty? */
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);
-diff -Naur cyrus-imapd-2.3.1.orig/imap/sync_reset.c cyrus-imapd-2.3.1/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.1/imap/sync_reset.c 2006-01-16 11:12:34.000000000 +0100
-@@ -254,7 +254,7 @@
+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.8/imap/sync_reset.c 2006-11-30 19:11:20.000000000 +0200
++++ cyrus-imapd-2.3.8-rmquota+deletemailbox.uncompiled/imap/sync_reset.c 2007-02-22 13:23:41.000000000 +0200
+@@ -258,7 +258,7 @@
if (r) goto fail;
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;
}
-@@ -270,7 +270,7 @@
+@@ -274,7 +274,7 @@
if (r) goto fail;
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;
}
-@@ -278,7 +278,7 @@
+@@ -282,7 +282,7 @@
/* Nuke inbox (recursive nuke possible?) */
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=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
---- cyrus-imapd-2.3.1.orig/imap/sync_server.c 2005-12-20 16:54:43.000000000 +0100
-+++ cyrus-imapd-2.3.1/imap/sync_server.c 2006-01-16 11:13:02.000000000 +0100
-@@ -1569,7 +1569,7 @@
+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.8/imap/sync_server.c 2006-11-30 19:11:20.000000000 +0200
++++ cyrus-imapd-2.3.8-rmquota+deletemailbox.uncompiled/imap/sync_server.c 2007-02-22 13:24:17.000000000 +0200
+@@ -1581,7 +1581,7 @@
for (item = list->head ; item ; item = item->next) {
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;
}
-@@ -1579,7 +1579,7 @@
+@@ -1591,7 +1591,7 @@
(sync_namespacep->mboxname_tointernal)(sync_namespacep, "INBOX",
user, buf);
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=user_deletedata(user, sync_userid, sync_authstate, 1)))
-@@ -2501,7 +2501,7 @@
+@@ -2526,7 +2526,7 @@
/* Delete with admin priveleges */
r = mboxlist_deletemailbox(name, sync_userisadmin, sync_userid,
diff --git a/cyrus-imapd.spec b/cyrus-imapd.spec
index 7a84cd5..40b26e0 100644
--- a/cyrus-imapd.spec
+++ b/cyrus-imapd.spec
@@ -1,6 +1,6 @@
Name: cyrus-imapd
-Version: 2.3.7
-Release: 8%{?dist}
+Version: 2.3.8
+Release: 1%{?dist}
# ********************** BUILD TIME OPTIONS START **********************
@@ -92,7 +92,7 @@ Release: 8%{?dist}
Summary: A high-performance mail server with IMAP, POP3, NNTP and SIEVE support
License: BSD
Group: System Environment/Daemons
-URL: http://asg.web.cmu.edu/cyrus/imapd/
+URL: http://cyrusimap.web.cmu.edu/
#Packager: Simon Matter
#Vendor: Invoca Systems
#Distribution: Invoca Linux Server
@@ -131,9 +131,9 @@ Source31: cyrus-imapd-README.groupcache
Source32: cyrus-imapd.upd_groupcache
Source33: cyrus-imapd-README.skiplist_recovery
Patch0: cyrus-imapd-2.2.12-no_transfig.patch
-Patch1: cyrus-imapd-2.3.7-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
-Patch3: cyrus-imapd-2.3.7-rmquota+deletemailbox.patch
+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.8/cyrus-imapd-2.3.8-autosieve-0.6.0.diff
+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
Patch5: cyrus-imapd-2.2.12-munge8bit.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
Patch10: cyrus-imapd-acceptinvalidfrom.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
Patch14: cyrus-imapd-2.3.1-authid_normalize.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
Patch101: cyrus-imapd-2.3.1-backend_sigsegv.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: cyrus-sasl-devel >= 2.1.15-1, perl, tcp_wrappers
BuildRequires: %{_dbver}-devel, openssl-devel, pkgconfig
@@ -211,14 +211,14 @@ Requires: %{name} = %{version}-%{release}
The %{name}-devel package contains header files and libraries
necessary for developing applications which use the imclient library.
-%package -n cyrus-imapd-perl
+%package perl
Provides: perl-Cyrus
Obsoletes: perl-Cyrus
Group: System Environment/Libraries
Summary: Cyrus IMAP server utility Perl modules
-%description -n cyrus-imapd-perl
-This package contains Perl modules necessary to use the
+%description perl
+The %{name}-perl contains Perl modules necessary to use the
Cyrus IMAP server administration utilities.
%package utils
@@ -227,7 +227,7 @@ Summary: Cyrus IMAP server administration utilities
Requires(pre): /usr/sbin/groupadd, /usr/sbin/useradd
Requires(post): grep, coreutils, make, openssl
Requires(postun): /usr/sbin/userdel, /usr/sbin/groupdel
-Requires: cyrus-imapd-perl = %{version}-%{release}
+Requires: %{name}-perl = %{version}-%{release}
%description utils
The %{name}-utils package contains administrative tools for the
@@ -238,11 +238,7 @@ one running the server.
%setup -q
%patch0 -p1 -b .no_transfig
%if %{AUTOCREATE}
-#%patch1 -p1 -b .autocreate
-#%patch2 -p1 -b .autosievefolder
-#%patch3 -p1 -b .rmquota
%patch1 -p1 -b .autocreate
-#%patch2 -p1 -b .autocreate1
%patch2 -p1 -b .autosieve
%patch3 -p1 -b .rmquota
%endif
@@ -308,7 +304,7 @@ LDFLAGS="$LDFLAGS -pie"; export LDFLAGS
--enable-idled \
%endif
%if %{_withldap}
- --with-ldap \
+ --with-ldap=/usr \
%endif
%if %{SNMP}
--with-snmp \
@@ -322,7 +318,7 @@ LDFLAGS="$LDFLAGS -pie"; export LDFLAGS
--with-cyrus-prefix=%{_cyrexecdir} \
--with-service-path=%{_cyrexecdir} \
--with-bdb-incdir=%{_includedir}/%{_dbver} \
- --with-extraident="Invoca-RPM-%{version}-%{release}" \
+ --with-extraident="Fedora-RPM-%{version}-%{release}" \
--with-syslogfacility=%{SYSLOGFACILITY} \
--with-krbimpl=mit
@@ -422,7 +418,7 @@ done
%{buildroot}%{_sysconfdir}/{rc.d/init.d,logrotate.d,pam.d,sysconfig,cron.daily} \
%{buildroot}%{_libdir}/sasl \
%{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}
%{buildroot}%{_vardata}/ptclient \
%endif
@@ -710,6 +706,7 @@ fi
%attr(0755,root,root) %{_cyrexecdir}/ctl_deliver
%attr(0755,root,root) %{_cyrexecdir}/ctl_mboxlist
%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}/cyrdump
%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}/rpm
%attr(0700,%{_cyrususer},%{_cyrusgroup}) %dir %{_vardata}/backup
+%attr(0700,%{_cyrususer},%{_cyrusgroup}) %dir %{_vardata}/meta
%if %{_withldap}
%attr(0700,%{_cyrususer},%{_cyrusgroup}) %dir %{_vardata}/ptclient
%endif
@@ -803,7 +801,7 @@ fi
%{_libdir}/lib*.a
%{_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)
%doc perl/imap/README
%doc perl/imap/Changes
@@ -815,6 +813,9 @@ fi
%{_mandir}/man1/*
%changelog
+* Mon Mar 12 2007 Tomas Janousek - 2.3.8-1
+- update to latest upstream
+
* Wed Jan 24 2007 Tomas Janousek - 2.3.7-8
- compile with kerberos support
diff --git a/sources b/sources
index f6183c3..4f47b9c 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-07990f3a78a3a9d728cae627e31a9caf cyrus-imapd-2.3.7.tar.gz
8f7a26b0556369827bb5c8084a3e3ea1 cyrus_sharedbackup-0.1.tar.gz
+ac03b02c1ae08d52f807b58c488b204f cyrus-imapd-2.3.8.tar.gz
|