Collection of small patches
dpc22 at cam.ac.uk
Fri Jun 15 04:16:36 EDT 2007
Simple bug fixes
Add a couple of missing cyrus_done() calls, just for consistency.
The -m and -M options in 2.3.8 are broken because part of the code
is #ifdefed out (a reference to an external cdb database which only
exists on my systems).
This patch does modulo arithmetic on the Mailbox UniqueID instead.
imapd generates unsolicited EXPUNGE events in response to FETCH and
STORE commands when flushseenstate is set. This is explicitly
prohibited by the IMAP spec as it messes up concurrent access.
This patch is a halfway house between the flushseenstate and normal
behaviour which fixes the problem. Broken clients such as Outlook
message_uuid_master_init() should only be called after we switch
to being the cyrus user. Otherwise /var/imap_hermes/master_uuid
is written as root.
UPLOAD SIMPLE is broken in 2.3. Fortunately I will be the only one
Changes in functionality
Use lastchange time in seen database rather than time of last select.
I think that this is more useful with long running clients such as
PINE. Maybe this should be an option in imapd.conf?
Automatically create target mailboxes referenced in user Sieve files
(but only if user has sufficient privilege). Otherwise mail ends up
in the inbox if a user renames a mailbox.
Same principle as Aristotelis's autosievefolder patch.
Implement undocumented SCAN extension which PINE requires for cross
mailbox search. Hooks into squatter.
Add -m and -M flags to squatter so that we can squat consistent fraction
of mailboxes each night (modulo arithmetic on mailbox Uniqueid).
David Carter Email: David.Carter at ucs.cam.ac.uk
University Computing Service, Phone: (01223) 334502
New Museums Site, Pembroke Street, Fax: (01223) 334679
Cambridge UK. CB2 3QH.
More information about the Cyrus-devel