"reconstruct -k" is broken when delayed expunge enabled

Ken Murchison murch at andrew.cmu.edu
Tue Dec 18 09:56:16 EST 2007


David Carter wrote:
> 
> Take a mailbox with 2 messages.
> 
> Expunge the second message and then the first. "reconstruct -k" will 
> generate a mailbox where the second message appears in both cyrus.index 
> and cyrus.expunge. Not good, especially when cyrus_expire -X cuts in.
> 
> A trivial fix:
> 
> http://www-uxsup.csx.cam.ac.uk/~dpc22/cyrus/patches/2.3cvs/reconstruct.patch 
> 
> 
> A slightly more ambitious fix, using the fact that both uid[] and 
> expuid[] have been sorted into order of ascending UID:
> 
> http://www-uxsup.csx.cam.ac.uk/~dpc22/cyrus/patches/2.3cvs/reconstruct2.patch 
> 
> 
> I believe that the second patch matches the intent of the original code.

Applied patch 2 to CVS.

-- 
Kenneth Murchison
Systems Programmer
Project Cyrus Developer/Maintainer
Carnegie Mellon University


More information about the Cyrus-devel mailing list