Collection of small patches

David Carter dpc22 at
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
   using it.

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
University Computing Service,            Phone: (01223) 334502
New Museums Site, Pembroke Street,       Fax:   (01223) 334679
Cambridge UK. CB2 3QH.

More information about the Cyrus-devel mailing list