[SVN] r383 - in /branches/cvsmerge/cyrus-cvs: ./ cmulocal/ doc/ imap/ lib/ man/ master/conf/ notifyd/ perl/imap/IMAP/

debian at incase.de debian at incase.de
Wed May 3 15:44:02 UTC 2006


Author: sven
Date: Wed May  3 17:43:58 2006
New Revision: 383

URL: https://mail.incase.de/viewcvs?rev=383&root=cyrus22&view=rev
Log:
Update to current CVS contents

Modified:
    branches/cvsmerge/cyrus-cvs/Makefile.in
    branches/cvsmerge/cyrus-cvs/cmulocal/com_err_link.m4
    branches/cvsmerge/cyrus-cvs/cmulocal/common.m4
    branches/cvsmerge/cyrus-cvs/cmulocal/libloguse.m4
    branches/cvsmerge/cyrus-cvs/cmulocal/librestrict.m4
    branches/cvsmerge/cyrus-cvs/cmulocal/openldap.m4
    branches/cvsmerge/cyrus-cvs/cmulocal/telnet.m4
    branches/cvsmerge/cyrus-cvs/doc/changes.html
    branches/cvsmerge/cyrus-cvs/doc/specs.html
    branches/cvsmerge/cyrus-cvs/imap/backend.c
    branches/cvsmerge/cyrus-cvs/imap/ctl_mboxlist.c
    branches/cvsmerge/cyrus-cvs/imap/fetchnews.c
    branches/cvsmerge/cyrus-cvs/imap/imapd.c
    branches/cvsmerge/cyrus-cvs/imap/mbpath.c
    branches/cvsmerge/cyrus-cvs/imap/nntpd.c
    branches/cvsmerge/cyrus-cvs/imap/pop3d.c
    branches/cvsmerge/cyrus-cvs/imap/proxyd.c
    branches/cvsmerge/cyrus-cvs/imap/version.h
    branches/cvsmerge/cyrus-cvs/lib/acl_afs.c
    branches/cvsmerge/cyrus-cvs/lib/cyrusdb_berkeley.c
    branches/cvsmerge/cyrus-cvs/lib/imapoptions
    branches/cvsmerge/cyrus-cvs/man/ctl_mboxlist.8
    branches/cvsmerge/cyrus-cvs/master/conf/normal.conf
    branches/cvsmerge/cyrus-cvs/notifyd/notify_mailto.c
    branches/cvsmerge/cyrus-cvs/perl/imap/IMAP/Shell.pm

Modified: branches/cvsmerge/cyrus-cvs/Makefile.in
URL: https://mail.incase.de/viewcvs/branches/cvsmerge/cyrus-cvs/Makefile.in?rev=383&root=cyrus22&r1=382&r2=383&view=diff
==============================================================================
--- branches/cvsmerge/cyrus-cvs/Makefile.in (original)
+++ branches/cvsmerge/cyrus-cvs/Makefile.in Wed May  3 17:43:58 2006
@@ -62,7 +62,7 @@
 LEX = @LEX@
 COMPILE_ET = @COMPILE_ET@
 
-VERSION = 2.2.12
+VERSION = 2.2.13
 
 all:: 
 	@for d in  $(SUBDIRS); \

Modified: branches/cvsmerge/cyrus-cvs/cmulocal/com_err_link.m4
URL: https://mail.incase.de/viewcvs/branches/cvsmerge/cyrus-cvs/cmulocal/com_err_link.m4?rev=383&root=cyrus22&r1=382&r2=383&view=diff
==============================================================================
--- branches/cvsmerge/cyrus-cvs/cmulocal/com_err_link.m4 (original)
+++ branches/cvsmerge/cyrus-cvs/cmulocal/com_err_link.m4 Wed May  3 17:43:58 2006
@@ -2,7 +2,7 @@
 dnl library with the collection, I just want to know where it's installed,
 dnl so don't bitch, Rob...
 dnl Derrick Brashear
-dnl $Id: com_err_link.m4,v 1.8 2005/04/26 19:14:07 shadow Exp $
+dnl $Id: com_err_link.m4,v 1.9 2006/02/25 18:32:46 cg2v Exp $
 
 
 AC_DEFUN([CMU_COMERR_INC_WHERE1], [
@@ -107,8 +107,9 @@
 	  AC_MSG_RESULT(yes)
 	  COMERR_INC_DIR=$ac_cv_comerr_where_inc
 	  COMERR_LIB_DIR=$ac_cv_comerr_where_lib
-	  COMERR_INC_FLAGS="-I${COMERR_INC_DIR}"
-	  COMERR_LIB_FLAGS="-L${COMERR_LIB_DIR} -lcom_err"
+	  test "$COMERR_INC_DIR"  && COMERR_INC_FLAGS="-I${COMERR_INC_DIR}"
+	  COMERR_LIB_FLAGS="-lcom_err"
+	  test "$COMERR_LIB_DIR"  && COMERR_LIB_FLAGS="-L${COMERR_LIB_DIR} -lcom_err"
           dnl Do not force configure.in to put these in CFLAGS and LIBS unconditionally
           dnl Allow makefile substitutions....
           AC_SUBST(COMERR_INC_FLAGS)

Modified: branches/cvsmerge/cyrus-cvs/cmulocal/common.m4
URL: https://mail.incase.de/viewcvs/branches/cvsmerge/cyrus-cvs/cmulocal/common.m4?rev=383&root=cyrus22&r1=382&r2=383&view=diff
==============================================================================
--- branches/cvsmerge/cyrus-cvs/cmulocal/common.m4 (original)
+++ branches/cvsmerge/cyrus-cvs/cmulocal/common.m4 Wed May  3 17:43:58 2006
@@ -1,11 +1,11 @@
-dnl $Id: common.m4,v 1.12 2005/04/26 19:14:07 shadow Exp $
+dnl $Id: common.m4,v 1.13 2006/02/25 18:29:46 cg2v Exp $
 
 AC_DEFUN([CMU_TEST_LIBPATH], [
 changequote(<<, >>)
 define(<<CMU_AC_CV_FOUND>>, translit(ac_cv_found_$2_lib, <<- *>>, <<__p>>))
 changequote([, ])
 if test "$CMU_AC_CV_FOUND" = "yes"; then
-  if test \! -r "$1/lib$2.a" -a \! -r "$1/lib$2.so" -a \! -r "$1/lib$2.sl"; then
+  if test \! -r "$1/lib$2.a" -a \! -r "$1/lib$2.so" -a \! -r "$1/lib$2.sl" -a \! -r "$1/lib$2.dylib"; then
     CMU_AC_CV_FOUND=no
   fi
 fi

Modified: branches/cvsmerge/cyrus-cvs/cmulocal/libloguse.m4
URL: https://mail.incase.de/viewcvs/branches/cvsmerge/cyrus-cvs/cmulocal/libloguse.m4?rev=383&root=cyrus22&r1=382&r2=383&view=diff
==============================================================================
--- branches/cvsmerge/cyrus-cvs/cmulocal/libloguse.m4 (original)
+++ branches/cvsmerge/cyrus-cvs/cmulocal/libloguse.m4 Wed May  3 17:43:58 2006
@@ -1,7 +1,7 @@
 dnl libloguse.m4--LOGUSE libraries and includes
 dnl Derrick Brashear
 dnl from KTH krb and Arla
-dnl $Id: libloguse.m4,v 1.6 2005/04/26 19:14:08 shadow Exp $
+dnl $Id: libloguse.m4,v 1.7 2006/02/25 18:26:22 cg2v Exp $
 
 AC_DEFUN([CMU_LOGUSE_LIB_WHERE1], [
 saved_LIBS=$LIBS
@@ -56,7 +56,7 @@
 	  AC_MSG_RESULT(no)
 	else
 	  ac_cv_found_loguse=yes
-	  AC_DEFINE(HAVE_LOGUSE)
+	  AC_DEFINE(HAVE_LOGUSE,, [Use libloguse])
 	  AC_MSG_RESULT(yes)
 	  LOGUSE_LIB_DIR=$ac_cv_loguse_where_lib
 	  LOGUSE_LIB_FLAGS="-L${LOGUSE_LIB_DIR} -lloguse"

Modified: branches/cvsmerge/cyrus-cvs/cmulocal/librestrict.m4
URL: https://mail.incase.de/viewcvs/branches/cvsmerge/cyrus-cvs/cmulocal/librestrict.m4?rev=383&root=cyrus22&r1=382&r2=383&view=diff
==============================================================================
--- branches/cvsmerge/cyrus-cvs/cmulocal/librestrict.m4 (original)
+++ branches/cvsmerge/cyrus-cvs/cmulocal/librestrict.m4 Wed May  3 17:43:58 2006
@@ -1,7 +1,7 @@
 dnl librestrict.m4--restrict libraries and includes
 dnl Derrick Brashear
 dnl from KTH krb and Arla
-dnl $Id: librestrict.m4,v 1.5 2005/04/26 19:14:08 shadow Exp $
+dnl $Id: librestrict.m4,v 1.6 2006/02/25 18:26:22 cg2v Exp $
 
 AC_DEFUN([CMU_RESTRICT_LIB_WHERE1], [
 saved_LIBS=$LIBS
@@ -55,7 +55,7 @@
 	  AC_MSG_RESULT(no)
 	else
 	  ac_cv_found_restrict=yes
-	  AC_DEFINE(HAVE_RESTRICT)
+	  AC_DEFINE(HAVE_RESTRICT,, [Use librestrict])
 	  AC_MSG_RESULT(yes)
 	  RESTRICT_LIB_DIR=$ac_cv_restrict_where_lib
 	  RESTRICT_LIB_FLAGS="-L${RESTRICT_LIB_DIR} -lrestrict"

Modified: branches/cvsmerge/cyrus-cvs/cmulocal/openldap.m4
URL: https://mail.incase.de/viewcvs/branches/cvsmerge/cyrus-cvs/cmulocal/openldap.m4?rev=383&root=cyrus22&r1=382&r2=383&view=diff
==============================================================================
--- branches/cvsmerge/cyrus-cvs/cmulocal/openldap.m4 (original)
+++ branches/cvsmerge/cyrus-cvs/cmulocal/openldap.m4 Wed May  3 17:43:58 2006
@@ -1,6 +1,6 @@
 dnl
 dnl macros for configure.in to detect openldap
-dnl $Id: openldap.m4,v 1.1 2005/04/26 16:06:06 shadow Exp $
+dnl $Id: openldap.m4,v 1.2 2006/03/13 19:16:11 mel Exp $
 dnl
 
 dnl
@@ -28,6 +28,8 @@
 char *__openldap_compat = "2.1.27 or better okay";
 #elif LDAP_VENDOR_VERSION_MAJOR == 2  && LDAP_VENDOR_VERSION_MINOR == 2 && LDAP_VENDOR_VERSION_PATCH > 5
 char *__openldap_compat = "2.2.6 or better okay";
+#elif LDAP_VENDOR_VERSION_MAJOR == 2  && LDAP_VENDOR_VERSION_MINOR > 2
+char *__openldap_compat = "2.3 or better okay"
 #endif
 ],      [cmu_cv_openldap_compat=yes], [cmu_cv_openldap_compat=no])])
 ])

Modified: branches/cvsmerge/cyrus-cvs/cmulocal/telnet.m4
URL: https://mail.incase.de/viewcvs/branches/cvsmerge/cyrus-cvs/cmulocal/telnet.m4?rev=383&root=cyrus22&r1=382&r2=383&view=diff
==============================================================================
--- branches/cvsmerge/cyrus-cvs/cmulocal/telnet.m4 (original)
+++ branches/cvsmerge/cyrus-cvs/cmulocal/telnet.m4 Wed May  3 17:43:58 2006
@@ -1,10 +1,10 @@
 dnl telnet.m4--telnet special macros
 dnl Derrick Brashear
-dnl $Id: telnet.m4,v 1.12 2003/10/08 20:35:25 rjs3 Exp $
+dnl $Id: telnet.m4,v 1.13 2006/02/25 18:36:36 cg2v Exp $
 
 AC_DEFUN([CMU_TELNET_WHICH_TERM], [
 AC_CHECK_LIB(termlib, setupterm, [
-AC_DEFINE(HAVE_SETUPTERM) 
+AC_DEFINE(HAVE_SETUPTERM,, [Define to 1 if you have the `setupterm' function.]) 
 AC_CHECK_LIB(c, setupterm, TCLIB="/usr/ccs/lib/libtermlib.a",TCLIB="-ltermlib","/usr/ccs/lib/libtermlib.a")
 ],  TCLIB="-ltermcap")
 ])
@@ -28,22 +28,22 @@
 cmu_cv_cc_t_definition=no)
 ])
 if test "$cmu_cv_cc_t_definition" = "no"; then
-        AC_DEFINE(NO_CC_T)
+        AC_DEFINE(NO_CC_T,, [The type `cc_t' is not available])
 fi
 AC_MSG_RESULT($cmu_cv_cc_t_definition)
 ])
 
 AC_DEFUN([CMU_STREAMS], [
 if test "$ac_cv_header_sys_stropts_h" = "yes" -o "$ac_cv_header_stropts_h" = "yes"; then 
-	AC_DEFINE(HAVE_STREAMS)dnl
+	AC_DEFINE(HAVE_STREAMS,, [STREAMS are available])dnl
 fi
 ])
 
 AC_DEFUN([CMU_TERMIO_MODEL], [
 if test "$ac_cv_header_sys_termio_h" = "yes" -o "$ac_cv_header_sys_termios_h" = "yes"; then 
-	AC_DEFINE(USE_TERMIO)dnl
+	AC_DEFINE(USE_TERMIO,, [Use termios for tty configuration])dnl
 	if test "$ac_cv_header_sys_termios_h" = "no"; then
-		AC_DEFINE(SYSV_TERMIO)dnl
+		AC_DEFINE(SYSV_TERMIO,, [Use SysV termios])dnl
 	fi
 fi
 ])
@@ -60,7 +60,7 @@
 cmu_cv_des_string_to_key_proto=yes)
 ])
 if test "$cmu_cv_des_string_to_key_proto" = yes; then
-        AC_DEFINE(HAVE_DES_STRING_TO_KEY_PROTO)dnl
+        AC_DEFINE(HAVE_DES_STRING_TO_KEY_PROTO,, [define to 1 if `des_string_to_key' has a prototype])dnl
 fi
 AC_MSG_RESULT($cmu_cv_des_string_to_key_proto)
 ])
@@ -71,14 +71,14 @@
 AC_TRY_COMPILE(
 [
 #include <des.h>
-char des_key_sched(int foo, int bar, int baz);
+char des_key_sched(int foo, int bar);
 ],
 [des_key_sched(NULL, NULL);],
 cmu_cv_des_key_sched_proto=no,
 cmu_cv_des_key_sched_proto=yes)
 ])
 if test "$cmu_cv_des_key_sched_proto" = yes; then
-        AC_DEFINE(HAVE_DES_KEY_SCHED_PROTO)dnl
+        AC_DEFINE(HAVE_DES_KEY_SCHED_PROTO,, [define to 1 if `des_key_sched' has a prototype])dnl
 fi
 AC_MSG_RESULT($cmu_cv_des_key_sched_proto)
 ])
@@ -89,14 +89,14 @@
 AC_TRY_COMPILE(
 [
 #include <des.h>
-char des_set_random_generator_seed(int foo, int bar, int baz);
+char des_set_random_generator_seed(int foo, int bar);
 ],
 [des_set_random_generator_seed(NULL, NULL);],
 cmu_cv_des_set_random_generator_seed_proto=no,
 cmu_cv_des_set_random_generator_seed_proto=yes)
 ])
 if test "$cmu_cv_des_set_random_generator_seed_proto" = yes; then
-        AC_DEFINE(HAVE_DES_SET_RANDOM_GENERATOR_SEED_PROTO)dnl
+        AC_DEFINE(HAVE_DES_SET_RANDOM_GENERATOR_SEED_PROTO,, [define to 1 if `des_set_random_generator_seed' has a prototype])dnl
 fi
 AC_MSG_RESULT($cmu_cv_des_set_random_generator_seed_proto)
 ])
@@ -107,14 +107,14 @@
 AC_TRY_COMPILE(
 [
 #include <des.h>
-char des_new_random_key(int foo, int bar, int baz);
+char des_new_random_key(int foo, int bar);
 ],
 [des_new_random_key(NULL, NULL);],
 cmu_cv_des_new_random_key_proto=no,
 cmu_cv_des_new_random_key_proto=yes)
 ])
 if test "$cmu_cv_des_new_random_key_proto" = yes; then
-        AC_DEFINE(HAVE_DES_NEW_RANDOM_KEY_PROTO)dnl
+        AC_DEFINE(HAVE_DES_NEW_RANDOM_KEY_PROTO,, [define to 1 if `des_new_random_key' has a prototype])dnl
 fi
 AC_MSG_RESULT($cmu_cv_des_new_random_key_proto)
 ])
@@ -132,48 +132,16 @@
 cmu_cv_des_ecb_encrypt_proto=yes)
 ])
 if test "$cmu_cv_des_ecb_encrypt_proto" = yes; then
-        AC_DEFINE(HAVE_DES_ECB_ENCRYPT_PROTO)dnl
+        AC_DEFINE(HAVE_DES_ECB_ENCRYPT_PROTO,, [define to 1 if `des_ecb_encrypt' has a prototype])dnl
 fi
 AC_MSG_RESULT($cmu_cv_des_ecb_encrypt_proto)
 ])
-
-AC_DEFUN([CMU_TELNET_NEWDES], [
-AC_REQUIRE([CMU_KRB4])
-AC_REQUIRE([CMU_KRB5])
-AC_MSG_CHECKING(for des_new_random_key prototype)
-AC_CACHE_VAL(ac_cv_func_des_new_random_key_proto, [
-AC_TRY_COMPILE(
-[#include <des.h>
-des_cblock key;],
-[des_new_random_key(&key);],
-ac_cv_func_des_new_random_key=yes,
-ac_cv_func_des_new_random_key=no)
-])
-if test "$ac_cv_func_des_new_random_key" = yes; then
-        AC_DEFINE(NEWDESLIB)dnl
-fi
-AC_MSG_RESULT($ac_cv_func_des_new_random_key)
-])
-
-AC_DEFUN([CMU_TELNET_OLDNEWDES], [
-AC_REQUIRE([CMU_KRB4])
-AC_REQUIRE([CMU_KRB5])
-	 saved_LIBS=$LIBS
-	 LIBS="$KRB_LIB_FLAGS $KRB5_LIB_FLAGS"
-	 if test "$with_des" = yes; then
-		AC_CHECK_FUNCS(des_new_random_key)
-		if test "$ac_cv_func_des_new_random_key" = yes; then
-			AC_DEFINE(NEWDESLIB)
-		fi
-	 fi
-	 LIBS=$saved_LIBS
-	 ])
 
 AC_DEFUN([CMU_TELNET_GETTYTAB], [
 	 if test -f "/etc/gettytab"; then
 		AC_CHECK_FUNCS(getent getstr)
 	        if test "X$ac_cv_func_getent" != "Xyes"; then
-			AC_DEFINE(HAVE_GETTYTAB)
+			AC_DEFINE(HAVE_GETTYTAB,, [gettytab support is present])
 			if test "X$ac_cv_func_getstr" = "Xyes"; then
 				CFLAGS="$CFLAGS -Dgetstr=ggetstr"
 			fi
@@ -185,10 +153,10 @@
 
 AC_DEFUN([CMU_TELNET_ISSUE], [
 	 if test -f "/etc/issue.net"; then
-		AC_DEFINE(ISSUE_FILE, "/etc/issue.net")
+		AC_DEFINE(ISSUE_FILE, "/etc/issue.net", [path of issue file to use])
 	 else
 		if test -f "/etc/issue"; then
-			AC_DEFINE(ISSUE_FILE, "/etc/issue")
+			AC_DEFINE(ISSUE_FILE, "/etc/issue", [path of issue file to use])
 		fi
 	 fi
 	 ])
@@ -200,11 +168,11 @@
 		  *-*-irix*)
 		    ;;
 		  *-*-linux*)
-		    AC_DEFINE(PTYDIR)
+		    AC_DEFINE(PTYDIR,, [Has /dev/ptX and pty allocation funcs])
 		    ;;
 		  *)
-		    AC_DEFINE(PTYDIR)
-		    AC_DEFINE(STREAMSPTY)
+		    AC_DEFINE(PTYDIR,, [Has /dev/ptX and pty allocation funcs])
+		    AC_DEFINE(STREAMSPTY,, [ptys are streams devices])
 		    ;;
 		esac
 	 fi

Modified: branches/cvsmerge/cyrus-cvs/doc/changes.html
URL: https://mail.incase.de/viewcvs/branches/cvsmerge/cyrus-cvs/doc/changes.html?rev=383&root=cyrus22&r1=382&r2=383&view=diff
==============================================================================
--- branches/cvsmerge/cyrus-cvs/doc/changes.html (original)
+++ branches/cvsmerge/cyrus-cvs/doc/changes.html Wed May  3 17:43:58 2006
@@ -1,12 +1,41 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- $Id: changes.html,v 1.100 2005/05/10 15:49:41 ken3 Exp $ -->
+<!-- $Id: changes.html,v 1.103 2006/04/06 15:33:07 murch Exp $ -->
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta name="generator" content="HTML Tidy, see www.w3.org" />
 <title>Changes to the Cyrus IMAP Server</title>
 </head>
 <body>
+
+<h1>Changes to the Cyrus IMAP Server since 2.2.13</h1> 
+<ul> 
+<li><tt>ctl_mboxlist</tt> now dumps/undumps the mailbox type flags,
+making it useful for remote mailboxes.</li>
+</ul>
+
+<h1>Changes to the Cyrus IMAP Server since 2.2.12</h1> 
+<ul> 
+<li>Allow sieve scripts to be run on shared mailboxes (via <tt>sieve</tt>
+annotation).</li>
+<li>Updated <tt>nntpd</tt> to be compliant with latest draft (soon to be
+RFC3977).</li>
+<li>Updated IMAP UIDPLUS extension to be compliant with latest
+specification (RFC4315).</li>
+<li>Performance improvements to <tt>quota</tt> utility.<li>
+<li>Fixed possible race condition in IMAP IDLE.</li>
+<li>Made <tt>ptloader</tt> runtime configurable.</li>
+<li>Added more extensive output to <tt>arbitron</tt>.</li>
+<li>Allow responses of any length from backend when proxing
+IMAP/POP3/NNTP traffic.</li>
+<li>Added <tt>plaintextloginalert</tt> option.</li>
+<li>Only allow <tt>mbpath</tt> to be run as Cyrus user.</li>
+<li>Added <tt>berkeley_hash</tt> and <tt>berkeley_hash_nosync</tt>
+cyrusdb backends (seem to perform better under heavy loads).</li>
+<li>Added <tt>lastpop</tt> mailbox annotation.</li>
+<li>Added subscribe/unsubscribe support to <tt>cyradm</tt>.</li>
+<li>Fixed miscellaneous bugs and build issues.</li>
+</ul>
 
 <h1>Changes to the Cyrus IMAP Server since 2.2.11</h1> 
 <ul> 
@@ -2005,7 +2034,7 @@
 </ul>
 
 <hr />
-last modified: $Date: 2005/05/10 15:49:41 $ <br />
+last modified: $Date: 2006/04/06 15:33:07 $ <br />
 <a href="index.html">Return</a> to the Cyrus IMAP Server Home Page
 </body>
 </html>

Modified: branches/cvsmerge/cyrus-cvs/doc/specs.html
URL: https://mail.incase.de/viewcvs/branches/cvsmerge/cyrus-cvs/doc/specs.html?rev=383&root=cyrus22&r1=382&r2=383&view=diff
==============================================================================
--- branches/cvsmerge/cyrus-cvs/doc/specs.html (original)
+++ branches/cvsmerge/cyrus-cvs/doc/specs.html Wed May  3 17:43:58 2006
@@ -1,4 +1,4 @@
-<!-- $Id: specs.html,v 1.64 2005/05/27 18:17:25 ken3 Exp $ -->
+<!-- $Id: specs.html,v 1.65 2006/03/31 15:22:58 murch Exp $ -->
 <HTML>
 <HEAD>
 <TITLE>Cyrus IMAP Server Protocol Specifications</TITLE>
@@ -29,10 +29,8 @@
 <TD>IMAP4 Mailbox Referrals</TD></TR>
 <TR><TD><A HREF="http://www.ietf.org/rfc/rfc2342.txt">RFC 2342</A></TD>
 <TD>IMAP4 Namespace</TD></TR>
-<TR><TD><A HREF="http://www.ietf.org/rfc/rfc2359.txt">RFC 2359</A></TD>
-<TD>IMAP4 UIDPLUS extension
-<BR><I>being updated by</I> <A HREF="http://www.ietf.org/internet-drafts/draft-crispin-imap-rfc2359bis-04.txt">
-draft-crispin-imap-rfc2359bis</A></TD></TR>
+<TR><TD><A HREF="http://www.ietf.org/rfc/rfc4315.txt">RFC 4315</A></TD>
+<TD>Internet Message Access Protocol (IMAP) - UIDPLUS extension</TD></TR>
 <TR><TD><A HREF="http://www.ietf.org/rfc/rfc2971.txt">RFC 2971</A></TD>
 <TD>IMAP4 ID extension</TD></TR>
 <TR><TD><A HREF="http://www.ietf.org/rfc/rfc3348.txt">RFC 3348</A></TD>

Modified: branches/cvsmerge/cyrus-cvs/imap/backend.c
URL: https://mail.incase.de/viewcvs/branches/cvsmerge/cyrus-cvs/imap/backend.c?rev=383&root=cyrus22&r1=382&r2=383&view=diff
==============================================================================
--- branches/cvsmerge/cyrus-cvs/imap/backend.c (original)
+++ branches/cvsmerge/cyrus-cvs/imap/backend.c Wed May  3 17:43:58 2006
@@ -39,7 +39,7 @@
  * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: backend.c,v 1.39 2006/02/07 20:57:27 murch Exp $ */
+/* $Id: backend.c,v 1.40 2006/04/03 16:34:36 murch Exp $ */
 
 #include <config.h>
 
@@ -271,7 +271,7 @@
     /* need to (re)establish connection to server or create one */
     int sock = -1;
     int r;
-    int err = 0;
+    int err = -1;
     struct addrinfo hints, *res0 = NULL, *res1 = NULL, *res;
     struct sockaddr_un sunsock;
     char buf[2048], *mechlist = NULL;

Modified: branches/cvsmerge/cyrus-cvs/imap/ctl_mboxlist.c
URL: https://mail.incase.de/viewcvs/branches/cvsmerge/cyrus-cvs/imap/ctl_mboxlist.c?rev=383&root=cyrus22&r1=382&r2=383&view=diff
==============================================================================
--- branches/cvsmerge/cyrus-cvs/imap/ctl_mboxlist.c (original)
+++ branches/cvsmerge/cyrus-cvs/imap/ctl_mboxlist.c Wed May  3 17:43:58 2006
@@ -40,7 +40,7 @@
  *
  */
 
-/* $Id: ctl_mboxlist.c,v 1.49 2005/11/23 13:40:08 murch Exp $ */
+/* $Id: ctl_mboxlist.c,v 1.50 2006/04/06 15:33:08 murch Exp $ */
 
 /* currently doesn't catch signals; probably SHOULD */
 
@@ -187,7 +187,7 @@
     switch (d->op) {
     case DUMP:
 	if(!d->partition || !strcmp(d->partition, part)) {
-	    printf("%s\t%s\t%s\n", name, part, acl);
+	    printf("%s\t%d %s\t%s\n", name, mbtype, part, acl);
 	    if(d->purge) {
 		config_mboxlist_db->delete(mbdb, key, keylen, &(d->tid), 0);
 	    }
@@ -490,7 +490,7 @@
     while (fgets(buf, sizeof(buf), stdin)) {
 	char *name, *partition, *acl;
 	char *p;
-	int tries = 0;
+	int mbtype = 0, tries = 0;
 	
 	line++;
 
@@ -501,6 +501,12 @@
 	    continue;
 	}
 	*p++ = '\0';
+	if (isdigit((int) *p)) {
+	    /* new style dump */
+	    mbtype = strtol(p, &p, 10);
+	    /* skip trailing space */
+	    if (*p == ' ') p++;
+	}
 	partition = p;
 	for (; *p && *p != '\t'; p++) ;
 	if (!*p) {
@@ -523,7 +529,7 @@
 	}
 
 	key = name; keylen = strlen(key);
-	data = mboxlist_makeentry(0, partition, acl); datalen = strlen(data);
+	data = mboxlist_makeentry(mbtype, partition, acl); datalen = strlen(data);
 	
 	tries = 0;
     retry:

Modified: branches/cvsmerge/cyrus-cvs/imap/fetchnews.c
URL: https://mail.incase.de/viewcvs/branches/cvsmerge/cyrus-cvs/imap/fetchnews.c?rev=383&root=cyrus22&r1=382&r2=383&view=diff
==============================================================================
--- branches/cvsmerge/cyrus-cvs/imap/fetchnews.c (original)
+++ branches/cvsmerge/cyrus-cvs/imap/fetchnews.c Wed May  3 17:43:58 2006
@@ -38,7 +38,7 @@
  * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
  * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  *
- * $Id: fetchnews.c,v 1.14 2005/03/23 00:40:11 shadow Exp $
+ * $Id: fetchnews.c,v 1.15 2006/04/10 16:19:33 murch Exp $
  */
 
 #include <config.h>
@@ -60,6 +60,7 @@
 #include "cyrusdb.h"
 #include "exitcodes.h"
 #include "global.h"
+#include "gmtoff.h"
 #include "lock.h"
 #include "prot.h"
 #include "xmalloc.h"
@@ -388,6 +389,7 @@
 	       &ctime.tm_hour, &ctime.tm_min, &ctime.tm_sec);
 	ctime.tm_year -= 1900;
 	ctime.tm_mon--;
+	ctime.tm_isdst = -1;
 
 	/* read the previous timestamp */
 	if (!sfile[0]) {
@@ -417,6 +419,7 @@
 	/* ask for new articles */
 	if (stamp) stamp -= 180; /* adjust back 3 minutes */
 	ptime = gmtime(&stamp);
+	ptime->tm_isdst = -1;
 	strftime(buf, sizeof(buf), datefmt, ptime);
 	prot_printf(pout, "NEWNEWS %s %s GMT\r\n", wildmat, buf);
 	
@@ -433,7 +436,7 @@
 	   We can't change this, otherwise we'd be incompatible
 	   with an old localtime timestamp.
 	*/
-	stamp -= timezone;
+	stamp += gmtoff_of(&ctime, stamp);
     }
 
     if (!newnews) {

Modified: branches/cvsmerge/cyrus-cvs/imap/imapd.c
URL: https://mail.incase.de/viewcvs/branches/cvsmerge/cyrus-cvs/imap/imapd.c?rev=383&root=cyrus22&r1=382&r2=383&view=diff
==============================================================================
--- branches/cvsmerge/cyrus-cvs/imap/imapd.c (original)
+++ branches/cvsmerge/cyrus-cvs/imap/imapd.c Wed May  3 17:43:58 2006
@@ -38,7 +38,7 @@
  * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: imapd.c,v 1.498 2006/01/13 22:06:28 murch Exp $ */
+/* $Id: imapd.c,v 1.499 2006/04/07 19:58:16 murch Exp $ */
 
 #include <config.h>
 
@@ -1785,6 +1785,9 @@
 
 	sleep(3);
 
+	/* Don't allow user probing */
+	if (r == SASL_NOUSER) r = SASL_BADAUTH;
+
 	if ((reply = sasl_errstring(r, NULL, NULL)) != NULL) {
 	    prot_printf(imapd_out, "%s NO Login failed: %s\r\n", tag, reply);
 	} else {
@@ -1898,8 +1901,6 @@
 	    break;
 	default: 
 	    /* failed authentication */
-	    errorstring = sasl_errstring(sasl_result, NULL, NULL);
-
 	    syslog(LOG_NOTICE, "badlogin: %s %s [%s]",
 		   imapd_clienthost, authtype, sasl_errdetail(imapd_saslconn));
 
@@ -1908,6 +1909,10 @@
 				VARIABLE_LISTEND);
 	    sleep(3);
 
+	    /* Don't allow user probing */
+	    if (sasl_result == SASL_NOUSER) sasl_result = SASL_BADAUTH;
+
+	    errorstring = sasl_errstring(sasl_result, NULL, NULL);
 	    if (errorstring) {
 		prot_printf(imapd_out, "%s NO %s\r\n", tag, errorstring);
 	    } else {

Modified: branches/cvsmerge/cyrus-cvs/imap/mbpath.c
URL: https://mail.incase.de/viewcvs/branches/cvsmerge/cyrus-cvs/imap/mbpath.c?rev=383&root=cyrus22&r1=382&r2=383&view=diff
==============================================================================
--- branches/cvsmerge/cyrus-cvs/imap/mbpath.c (original)
+++ branches/cvsmerge/cyrus-cvs/imap/mbpath.c Wed May  3 17:43:58 2006
@@ -1,6 +1,6 @@
 /* mbpath.c -- help the sysadmin to find the path matching the mailbox
  *
- * $Id: mbpath.c,v 1.18 2004/06/02 17:35:08 ken3 Exp $
+ * $Id: mbpath.c,v 1.19 2006/02/25 18:31:51 murch Exp $
  * 
  * Copyright (c) 1998-2003 Carnegie Mellon University.  All rights reserved.
  *
@@ -42,7 +42,7 @@
  *
  */
 
-/* static char _rcsid[] = "$Id: mbpath.c,v 1.18 2004/06/02 17:35:08 ken3 Exp $"; */
+/* static char _rcsid[] = "$Id: mbpath.c,v 1.19 2006/02/25 18:31:51 murch Exp $"; */
 
 #include <config.h>
 
@@ -95,6 +95,8 @@
   int opt;		/* getopt() returns an int */
   char *alt_config = NULL;
   char buf[MAX_MAILBOX_PATH+1];
+
+  if (geteuid() == 0) fatal("must run as the Cyrus user", EC_USAGE);
 
   while ((opt = getopt(argc, argv, "C:qs")) != EOF) {
     switch(opt) {
@@ -152,5 +154,5 @@
   return 0;
 }
 
-/* $Header: /cvs/src/cyrus/imap/mbpath.c,v 1.18 2004/06/02 17:35:08 ken3 Exp $ */
+/* $Header: /cvs/src/cyrus/imap/mbpath.c,v 1.19 2006/02/25 18:31:51 murch Exp $ */
 

Modified: branches/cvsmerge/cyrus-cvs/imap/nntpd.c
URL: https://mail.incase.de/viewcvs/branches/cvsmerge/cyrus-cvs/imap/nntpd.c?rev=383&root=cyrus22&r1=382&r2=383&view=diff
==============================================================================
--- branches/cvsmerge/cyrus-cvs/imap/nntpd.c (original)
+++ branches/cvsmerge/cyrus-cvs/imap/nntpd.c Wed May  3 17:43:58 2006
@@ -38,7 +38,7 @@
  * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
  * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  *
- * $Id: nntpd.c,v 1.51 2005/12/13 15:18:55 murch Exp $
+ * $Id: nntpd.c,v 1.52 2006/04/07 19:58:23 murch Exp $
  */
 
 /*
@@ -2140,13 +2140,16 @@
 	    default:
 		code = 481;
 	    }
-	    errorstring = sasl_errstring(sasl_result, NULL, NULL);
 
 	    syslog(LOG_NOTICE, "badlogin: %s %s [%s]",
 		   nntp_clienthost, mech, sasl_errdetail(nntp_saslconn));
 
 	    sleep(3);
 
+	    /* Don't allow user probing */
+	    if (sasl_result == SASL_NOUSER) sasl_result = SASL_BADAUTH;
+
+	    errorstring = sasl_errstring(sasl_result, NULL, NULL);
 	    if (errorstring) {
 		prot_printf(nntp_out, "%d %s\r\n", code, errorstring);
 	    } else {

Modified: branches/cvsmerge/cyrus-cvs/imap/pop3d.c
URL: https://mail.incase.de/viewcvs/branches/cvsmerge/cyrus-cvs/imap/pop3d.c?rev=383&root=cyrus22&r1=382&r2=383&view=diff
==============================================================================
--- branches/cvsmerge/cyrus-cvs/imap/pop3d.c (original)
+++ branches/cvsmerge/cyrus-cvs/imap/pop3d.c Wed May  3 17:43:58 2006
@@ -40,7 +40,7 @@
  */
 
 /*
- * $Id: pop3d.c,v 1.167 2005/04/11 06:57:35 shadow Exp $
+ * $Id: pop3d.c,v 1.168 2006/04/07 19:58:25 murch Exp $
  */
 #include <config.h>
 
@@ -1027,15 +1027,18 @@
     /* failed authentication */
     if (sasl_result != SASL_OK)
     {
-	sleep(3);      
-		
-	prot_printf(popd_out, "-ERR [AUTH] authenticating: %s\r\n",
-		    sasl_errstring(sasl_result, NULL, NULL));
-
 	syslog(LOG_NOTICE, "badlogin: %s APOP (%s) %s",
 	       popd_clienthost, popd_apop_chal,
 	       sasl_errdetail(popd_saslconn));
 	
+	sleep(3);      
+		
+	/* Don't allow user probing */
+	if (sasl_result == SASL_NOUSER) sasl_result = SASL_BADAUTH;
+		
+	prot_printf(popd_out, "-ERR [AUTH] authenticating: %s\r\n",
+		    sasl_errstring(sasl_result, NULL, NULL));
+
 	return;
     }
 
@@ -1292,11 +1295,6 @@
 	    break;
 	default:
 	    /* failed authentication */
-	    sleep(3);
-		
-	    prot_printf(popd_out, "-ERR [AUTH] authenticating: %s\r\n",
-			sasl_errstring(sasl_result, NULL, NULL));
-
 	    if (authtype) {
 		syslog(LOG_NOTICE, "badlogin: %s %s %s",
 		       popd_clienthost, authtype,
@@ -1305,6 +1303,14 @@
 		syslog(LOG_NOTICE, "badlogin: %s %s",
 		       popd_clienthost, authtype);
 	    }
+
+	    sleep(3);
+		
+	    /* Don't allow user probing */
+	    if (sasl_result == SASL_NOUSER) sasl_result = SASL_BADAUTH;
+		
+	    prot_printf(popd_out, "-ERR [AUTH] authenticating: %s\r\n",
+			sasl_errstring(sasl_result, NULL, NULL));
 	}
 	
 	reset_saslconn(&popd_saslconn);

Modified: branches/cvsmerge/cyrus-cvs/imap/proxyd.c
URL: https://mail.incase.de/viewcvs/branches/cvsmerge/cyrus-cvs/imap/proxyd.c?rev=383&root=cyrus22&r1=382&r2=383&view=diff
==============================================================================
--- branches/cvsmerge/cyrus-cvs/imap/proxyd.c (original)
+++ branches/cvsmerge/cyrus-cvs/imap/proxyd.c Wed May  3 17:43:58 2006
@@ -39,7 +39,7 @@
  * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: proxyd.c,v 1.199 2006/02/07 20:57:27 murch Exp $ */
+/* $Id: proxyd.c,v 1.201 2006/04/07 19:58:26 murch Exp $ */
 
 #include <config.h>
 
@@ -2106,7 +2106,7 @@
     char c;
     struct buf passwdbuf;
     char *passwd;
-    char *reply = 0;
+    const char *reply = 0;
     int r;
 
     if (proxyd_userid) {
@@ -2180,17 +2180,19 @@
 				 strlen(canon_user),
 				 passwd,
 				 strlen(passwd)))!=SASL_OK) {
-	const char *errorstring = sasl_errstring(r, NULL, NULL);
-	if (reply) {
-	    syslog(LOG_NOTICE, "badlogin: %s plaintext %s %s",
-		   proxyd_clienthost, canon_user, reply);
-	}
+	syslog(LOG_NOTICE, "badlogin: %s plaintext %s %s",
+	       proxyd_clienthost, canon_user, sasl_errdetail(proxyd_saslconn));
+
 	/* Apply penalty only if not under layer */
 	if (proxyd_starttls_done == 0)
 	    sleep(3);
-	if (errorstring) {
+
+	/* Don't allow user probing */
+	if (r == SASL_NOUSER) r = SASL_BADAUTH;
+
+	if ((reply = sasl_errstring(r, NULL, NULL)) != NULL) {
 	    prot_printf(proxyd_out, "%s NO Login failed: %s\r\n", 
-			tag, errorstring);
+			tag, reply);
 	} else {
 	    prot_printf(proxyd_out, "%s NO Login failed.", tag);
 	}
@@ -2276,8 +2278,6 @@
 	    break;
 	default: 
 	    /* failed authentication */
-	    errorstring = sasl_errstring(sasl_result, NULL, NULL);
-
 	    syslog(LOG_NOTICE, "badlogin: %s %s [%s]",
 		   proxyd_clienthost, authtype, sasl_errdetail(proxyd_saslconn));
 
@@ -2286,6 +2286,10 @@
 				VARIABLE_LISTEND);
 	    sleep(3);
 
+	    /* Don't allow user probing */
+	    if (sasl_result == SASL_NOUSER) sasl_result = SASL_BADAUTH;
+
+	    errorstring = sasl_errstring(sasl_result, NULL, NULL);
 	    if (errorstring) {
 		prot_printf(proxyd_out, "%s NO %s\r\n", tag, errorstring);
 	    } else {
@@ -4253,13 +4257,13 @@
 						proxyd_userid, mailboxname);
     if (!r) r = mlookup(mailboxname, &server, NULL, NULL);
 
-    if(proxyd_userisadmin) {
+    if(!r && proxyd_userisadmin) {
 	/* If they are an admin, they won't retain that privledge if we
 	 * proxy for them, so we need to refer them -- even if they haven't
 	 * told us they're able to handle it. */
 	proxyd_refer(tag, server, name);
-    } else {
-	if (!r) s = proxyd_findserver(server);
+    } else if (!r) {
+	s = proxyd_findserver(server);
 
 	if (s) {
 	    prot_printf(s->out, "%s Getquotaroot {%d+}\r\n%s\r\n",
@@ -4268,11 +4272,10 @@
 	} else {
 	    r = IMAP_SERVER_UNAVAILABLE;
 	}
-
-	if (r) {
-	    prot_printf(proxyd_out, "%s NO %s\r\n", tag, error_message(r));
-	    return;
-	}
+    }
+
+    if (r) {
+	prot_printf(proxyd_out, "%s NO %s\r\n", tag, error_message(r));
     }
 }
 

Modified: branches/cvsmerge/cyrus-cvs/imap/version.h
URL: https://mail.incase.de/viewcvs/branches/cvsmerge/cyrus-cvs/imap/version.h?rev=383&root=cyrus22&r1=382&r2=383&view=diff
==============================================================================
--- branches/cvsmerge/cyrus-cvs/imap/version.h (original)
+++ branches/cvsmerge/cyrus-cvs/imap/version.h Wed May  3 17:43:58 2006
@@ -37,10 +37,10 @@
  * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
  * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  *
- * $Id: version.h,v 1.139 2005/02/14 16:43:51 shadow Exp $
+ * $Id: version.h,v 1.140 2006/03/29 19:08:06 murch Exp $
  */
 
-#define _CYRUS_VERSION "v2.2.12"
+#define _CYRUS_VERSION "v2.2.13"
 
 /* EXTRA_IDENT is a hack to add some version information for which compile
  * was used to build this version (at CMU, but we don't care what you do with

Modified: branches/cvsmerge/cyrus-cvs/lib/acl_afs.c
URL: https://mail.incase.de/viewcvs/branches/cvsmerge/cyrus-cvs/lib/acl_afs.c?rev=383&root=cyrus22&r1=382&r2=383&view=diff
==============================================================================
--- branches/cvsmerge/cyrus-cvs/lib/acl_afs.c (original)
+++ branches/cvsmerge/cyrus-cvs/lib/acl_afs.c Wed May  3 17:43:58 2006
@@ -8,7 +8,7 @@
  *
  */
 /* 
- $Id: acl_afs.c,v 1.24 2004/03/05 19:19:21 rjs3 Exp $
+ $Id: acl_afs.c,v 1.25 2006/04/13 18:34:52 murch Exp $
  
  * Copyright (c) 1998-2003 Carnegie Mellon University.  All rights reserved.
  *
@@ -114,6 +114,7 @@
 cyrus_acl_canonproc_t *canonproc;
 void *canonrock;
 {
+    const char *canonid;
     char *newidentifier = 0;
     char *newacl;
     char *thisid, *nextid;
@@ -122,9 +123,14 @@
 
     /* Convert 'identifier' into canonical form */
     if (*identifier == '-') {
-	char *canonid = auth_canonifyid(identifier+1, 0);
+	canonid = auth_canonifyid(identifier+1, 0);
 	if (!canonid) {
-	    return -1;
+	    if (access != 0L) {
+		return -1;
+	    } else {
+		/* trying to delete invalid/non-existent identifier */
+		canonid = identifier+1;
+	    }
 	}
 	newidentifier = xmalloc(strlen(canonid)+2);
 	newidentifier[0] = '-';
@@ -135,9 +141,13 @@
 	}
     }
     else {
-	identifier = auth_canonifyid(identifier, 0);
-	if (!identifier) {
+	canonid = auth_canonifyid(identifier, 0);
+	if (canonid) {
+	    identifier = canonid;
+	} else if (access != 0L) {
 	    return -1;
+	} else {
+	    /* trying to delete invalid/non-existent identifier */
 	}
 	if (canonproc) {
 	    access = canonproc(canonrock, identifier, access);

Modified: branches/cvsmerge/cyrus-cvs/lib/cyrusdb_berkeley.c
URL: https://mail.incase.de/viewcvs/branches/cvsmerge/cyrus-cvs/lib/cyrusdb_berkeley.c?rev=383&root=cyrus22&r1=382&r2=383&view=diff
==============================================================================
--- branches/cvsmerge/cyrus-cvs/lib/cyrusdb_berkeley.c (original)
+++ branches/cvsmerge/cyrus-cvs/lib/cyrusdb_berkeley.c Wed May  3 17:43:58 2006
@@ -39,7 +39,7 @@
  * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: cyrusdb_berkeley.c,v 1.13 2006/01/10 20:34:35 murch Exp $ */
+/* $Id: cyrusdb_berkeley.c,v 1.14 2006/03/17 16:12:32 murch Exp $ */
 
 #include <config.h>
 
@@ -981,7 +981,7 @@
     &mysync,
     &myarchive,
 
-    &open_hash,
+    &open_btree,
     &myclose,
 
     &fetch,
@@ -1007,7 +1007,7 @@
     &mysync,
     &myarchive,
 
-    &open_hash,
+    &open_btree,
     &myclose,
 
     &fetch,

Modified: branches/cvsmerge/cyrus-cvs/lib/imapoptions
URL: https://mail.incase.de/viewcvs/branches/cvsmerge/cyrus-cvs/lib/imapoptions?rev=383&root=cyrus22&r1=382&r2=383&view=diff
==============================================================================
--- branches/cvsmerge/cyrus-cvs/lib/imapoptions (original)
+++ branches/cvsmerge/cyrus-cvs/lib/imapoptions Wed May  3 17:43:58 2006
@@ -42,7 +42,7 @@
 .\" AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
 .\" OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 .\" 
-.\" $Id: imapoptions,v 1.35 2006/01/16 23:40:14 murch Exp $
+.\" $Id: imapoptions,v 1.36 2006/03/30 15:49:58 murch Exp $
 .SH NAME
 imapd.conf \- IMAP configuration file
 .SH DESCRIPTION
@@ -561,7 +561,7 @@
    IMAP mailbox names. */
 
 { "notifysocket", "{configdirectory}/socket/notify", STRING }
-/* Unix domain socket that the new mail notification daemon listens on. */
+/* Unix domain socket that the mail notification daemon listens on. */
 
 # Commented out - there's no such thing as "partition-name", but we need
 # this for the man page

Modified: branches/cvsmerge/cyrus-cvs/man/ctl_mboxlist.8
URL: https://mail.incase.de/viewcvs/branches/cvsmerge/cyrus-cvs/man/ctl_mboxlist.8?rev=383&root=cyrus22&r1=382&r2=383&view=diff
==============================================================================
--- branches/cvsmerge/cyrus-cvs/man/ctl_mboxlist.8 (original)
+++ branches/cvsmerge/cyrus-cvs/man/ctl_mboxlist.8 Wed May  3 17:43:58 2006
@@ -39,7 +39,7 @@
 .\" AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
 .\" OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 .\" 
-.\" $Id: ctl_mboxlist.8,v 1.8 2003/08/09 23:43:14 rjs3 Exp $
+.\" $Id: ctl_mboxlist.8,v 1.9 2006/04/06 15:33:09 murch Exp $
 .SH NAME
 ctl_mboxlist \- perform operations on the mailbox list database
 .SH SYNOPSIS
@@ -104,7 +104,9 @@
 .TP
 .B \-d
 Dump the contents of the database to standard output in a portable
-flat-text format.
+flat-text format.  NOTE: In Cyrus versions 2.2.13 and earlier, the dump
+format did not include the mailbox type flags, breaking remote
+mailboxes (frontends, mupdate master) when undumped.
 .TP
 .B \-x
 When performing a dump, remove the mailboxes dumped from the mailbox list
@@ -115,7 +117,9 @@
 .TP
 .B \-u
 Load the contents of the database from standard input.  The input MUST
-be in the format output using the \fB\-d\fR option.
+be in the format output using the \fB\-d\fR option.  NOTE: Both the
+old and new formats can be loaded, but the old format will break
+remote mailboxes.
 .TP
 .B \-m
 For backend servers in the Cyrus Murder, synchronize the local mailbox list

Modified: branches/cvsmerge/cyrus-cvs/master/conf/normal.conf
URL: https://mail.incase.de/viewcvs/branches/cvsmerge/cyrus-cvs/master/conf/normal.conf?rev=383&root=cyrus22&r1=382&r2=383&view=diff
==============================================================================
--- branches/cvsmerge/cyrus-cvs/master/conf/normal.conf (original)
+++ branches/cvsmerge/cyrus-cvs/master/conf/normal.conf Wed May  3 17:43:58 2006
@@ -25,7 +25,7 @@
 #  lmtp		cmd="lmtpd" listen="lmtp" prefork=0
   lmtpunix	cmd="lmtpd" listen="/var/imap/socket/lmtp" prefork=0
 
-  # this is only necessary if using notifications
+  # this is required if using notifications
 #  notify	cmd="notifyd" listen="/var/imap/socket/notify" proto="udp" prefork=1
 }
 

Modified: branches/cvsmerge/cyrus-cvs/notifyd/notify_mailto.c
URL: https://mail.incase.de/viewcvs/branches/cvsmerge/cyrus-cvs/notifyd/notify_mailto.c?rev=383&root=cyrus22&r1=382&r2=383&view=diff
==============================================================================
--- branches/cvsmerge/cyrus-cvs/notifyd/notify_mailto.c (original)
+++ branches/cvsmerge/cyrus-cvs/notifyd/notify_mailto.c Wed May  3 17:43:58 2006
@@ -40,7 +40,7 @@
  * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
  * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  *
- * $Id: notify_mailto.c,v 1.10 2005/04/11 06:22:24 shadow Exp $
+ * $Id: notify_mailto.c,v 1.11 2006/03/30 16:00:03 murch Exp $
  */
 
 #include <config.h>
@@ -63,7 +63,7 @@
 
 static int global_outgoing_count = 0;
 
-char* notify_mailto(const char *class __attribute__((unused)),
+char* notify_mailto(const char *class,
 		    const char *priority __attribute__((unused)),
 		    const char *user __attribute__((unused)),
 		    const char *mailbox __attribute__((unused)),
@@ -121,7 +121,7 @@
     fprintf(sm, "X-Sieve: %s\r\n", SIEVE_VERSION);
     fprintf(sm, "From: Mail Sieve Subsystem <%s>\r\n", config_getstring(IMAPOPT_POSTMASTER));
     fprintf(sm, "To: <%s>\r\n", options[0]);
-    fprintf(sm, "Subject: [SIEVE] New mail notification\r\n");
+    fprintf(sm, "Subject: [%s] New mail notification\r\n", class);
     if (contains_8bit(message)) {
 	fprintf(sm, "MIME-Version: 1.0\r\n");
 	fprintf(sm, "Content-Type: text/plain; charset=UTF-8\r\n");

Modified: branches/cvsmerge/cyrus-cvs/perl/imap/IMAP/Shell.pm
URL: https://mail.incase.de/viewcvs/branches/cvsmerge/cyrus-cvs/perl/imap/IMAP/Shell.pm?rev=383&root=cyrus22&r1=382&r2=383&view=diff
==============================================================================
--- branches/cvsmerge/cyrus-cvs/perl/imap/IMAP/Shell.pm (original)
+++ branches/cvsmerge/cyrus-cvs/perl/imap/IMAP/Shell.pm Wed May  3 17:43:58 2006
@@ -37,7 +37,7 @@
 # AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
 # OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 #
-# $Id: Shell.pm,v 1.36 2005/11/21 16:39:25 murch Exp $
+# $Id: Shell.pm,v 1.37 2006/03/23 15:41:56 jeaton Exp $
 #
 # A shell framework for Cyrus::IMAP::Admin
 #
@@ -159,6 +159,14 @@
 		   '[--partition partition] mailbox server [partition]',
 		   'transfer (relocate) a mailbox to a different server'],
 		xfer => 'xfermailbox',
+		subscribe =>
+		  [\&_sc_subscribe, '[mailbox]',
+                  'subscribe to a mailbox'],
+		sub => 'subscribe',
+		unsubscribe =>
+		  [\&_sc_unsubscribe, '[mailbox]',
+                  'unsubscribe from a mailbox'],
+		unsub => 'unsubscribe',
 		#? alias
 		#? unalias
 		#? load
@@ -1332,6 +1340,59 @@
   0;
 }
 
+sub _sc_subscribe {
+  my ($cyrref, $name, $fh, $lfh, @argv) = @_;
+  my (@nargv, $opt);
+  shift(@argv);
+  while (defined ($opt = shift(@argv))) {
+    # gack.  bloody tcl.
+    last if $opt eq '--';
+    if ($opt =~ /^-/) {
+      die "usage: subscribe [mailbox]\n";
+    }
+    else {
+      push(@nargv, $opt);
+      last;
+    }
+  }
+  push(@nargv, @argv);
+  if (!$cyrref || !$$cyrref) {
+    die "subscribe: no connection to server\n";
+  }
+  $$cyrref->subscribe(@nargv);
+  if (defined $$cyrref->error) {
+    $lfh->[2]->print($$cyrref->error, "\n");
+    return 1;
+  }
+  0;
+}
+sub _sc_unsubscribe {
+  my ($cyrref, $name, $fh, $lfh, @argv) = @_;
+  my (@nargv, $opt);
+  shift(@argv);
+  while (defined ($opt = shift(@argv))) {
+    # gack.  bloody tcl.
+    last if $opt eq '--';
+    if ($opt =~ /^-/) {
+      die "usage: unsubscribe [mailbox]\n";
+    }
+    else {
+      push(@nargv, $opt);
+      last;
+    }
+  }
+  push(@nargv, @argv);
+  if (!$cyrref || !$$cyrref) {
+    die "unsubscribe: no connection to server\n";
+  }
+  $$cyrref->unsubscribe(@nargv);
+  if (defined $$cyrref->error) {
+    $lfh->[2]->print($$cyrref->error, "\n");
+    return 1;
+  }
+  0;
+}
+
 sub _sc_mboxcfg {
   my ($cyrref, $name, $fh, $lfh, @argv) = @_;
   my (@nargv, $opt);




More information about the Pkg-Cyrus-imapd-Debian-devel mailing list