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