Small bug in Cyrus replication

Bron Gondwana brong at fastmail.fm
Mon Mar 6 00:19:02 EST 2006


There's a tiny bug in Cyrus replication that I ran in to last week, and
wrote a patch for, but didn't give to you in time for the 2.3.[23]
release.

The problem: if your default partition isn't called 'default' then it
hits a hard coded string.

Please see the attached patch for this.

I am also attaching another patch we apply for fixing reconstruct
while I believe should also be applied.  It is against 2.3.1 but I
just checked the 2.3.3 sources and it hasn't been fixed there yet.
Just a gentle reminder :)

It is sourced from: http://www.irbs.net/internet/info-cyrus/0601/0144.html

Regards,

Bron.

P.S. just FYI - a couple of issues I ran into as a new subscriber to the
     mailing list and trying to provide useful information about the issues
     I've encountered:

1) I just signed up for the mailing lists via Mailman after
   trying to follow the majordomo instructions at:
   http://asg.web.cmu.edu/cyrus/imapd/ and being told that
   majordomo isn't used any more!  Can that page be fixed
   easily?

2) When I logged in (username & password) to the info-cyrus archives the
   page I was redirected to was missing the trailing slash, so all the
   archive links were broken (No such list 2006-February).  This and the
   fact that the January 2006 archives seem to be missing caused me not to
   give a cmu-local URL for the source of the second patch above.
-- 
  Bron Gondwana
  brong at fastmail.fm

-------------- next part --------------
diff -ur cyrus-imapd-2.3.1/imap/sync_support.c cyrus-imapd-2.3.1-defaultfix/imap/sync_support.c
--- cyrus-imapd-2.3.1/imap/sync_support.c	2005-12-13 10:31:10.000000000 -0500
+++ cyrus-imapd-2.3.1-defaultfix/imap/sync_support.c	2006-02-26 14:46:19.000000000 -0500
@@ -800,7 +800,7 @@
     l->file_max   = file_max;  
 
     /* Set up cache file */
-    root = config_partitiondir("default");
+    root = config_partitiondir(config_defpartition);
 
     snprintf(l->cache_name, sizeof(l->cache_name), "%s/sync./%lu.cache",
 	     root, (unsigned long) getpid());
-------------- next part --------------
diff -ur cyrus-imapd-2.3.1/imap/reconstruct.c cyrus-imapd-2.3.1-reconstruct/imap/reconstruct.c
--- cyrus-imapd-2.3.1/imap/reconstruct.c	2005-03-27 09:36:25.000000000 -0500
+++ cyrus-imapd-2.3.1-reconstruct/imap/reconstruct.c	2006-01-15 06:11:35.000000000 -0500
@@ -248,7 +248,7 @@
 		     IMAP_ENUM_METAPARTITION_FILES_HEADER)) ?
 		start_part_mpath : start_part_path;
 	    mailbox_hash_mbox(mbbuf, sizeof(mbbuf), path, buf);
-	    strlcat(mbbuf, "FNAME_HEADER", sizeof(mbbuf));
+	    strlcat(mbbuf, FNAME_HEADER, sizeof(mbbuf));
 	    if(stat(mbbuf, &sbuf) < 0) {
 		fprintf(stderr,
 			"%s does not appear to be a mailbox (no %s).\n",


More information about the Cyrus-devel mailing list