- 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
autoconf-2.59.tar.gz
cyrus-imapd-2.3.7.tar.gz
cyrus-imapd-2.3.8.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
--- 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 @@
<tr valign="top" align="left">
<td width="10%"></td>
<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="89%">
<p><b>servername:</b> &lt;none&gt;</p></td>
</table></p>
</table>
<!-- INDENTATION -->
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 @@
<td width="11%"></td>
<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>
</td>
<td width="77%">
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 <none>" 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 <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;
+
+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 <config.h>
+
+/* 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);

View File

@ -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 <stdio.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
+ */
+
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]; /* <rand.time@hostname> */
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@

View File

@ -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. */

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
--- 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 = &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;
/* 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(&quota, NULL, 0);
+ r = quota_read(&quota, crock.tid, 0);
r = quota_read(&quota, 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(&quota, NULL);
+ 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);
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,

View File

@ -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 <simon.matter@invoca.ch>
#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 <tjanouse@redhat.com> - 2.3.8-1
- update to latest upstream
* Wed Jan 24 2007 Tomas Janousek <tjanouse@redhat.com> - 2.3.7-8
- 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
ac03b02c1ae08d52f807b58c488b204f cyrus-imapd-2.3.8.tar.gz