Various small patches

David Carter dpc22 at
Wed Feb 14 12:59:04 EST 2007

Well, I no longer seem to be developing a phone system for The University 
(hurrah!), so it must be time to try and move to Cyrus 2.3.

Is there any interest in trying to merge the following odds and ends
(either as is, or as options configured via imapd.conf):

   Implementation of the undocumented IMAP SCAN extension which PINE
   uses for cross mailbox searches.

   Run squatter on a consistent subset of mailboxes. Uses modulo
   arithmetic on mailbox UniqueID to select the mailboxes to squat. For
   example: "squatter -m 0 -M 10" squats 1/10th of all mailboxes.

   The fud dameon reports the time that a mailbox was last selected
   by an IMAP client. The lastchange timestamp seems a more appropriate
   thing to return when IMAP clients which use long running IMAP
   connections (PINE, Mulberry) are involved.

   It used to be fairly common for spam messages to contain \n\r
   rather than \r\n sequences in messages headers.

   Cyrus expands \n\r to be \r\n\r\n, effectively ending the message
   headers. This is only a problem because spam scoring software
   such as Mailscanner adds X-Spam-Score headers for Sieve to pick up.
   These aren't much use if they end up in the body of the message.

   If a Sieve fileinto clause references a mailbox which does not
   exist then automatically create it (if the user is allowed).

   Add proctitle support for Linux. Or at least the versions of
   Linux that I commonly use: I'm not sure if t

   Log expunge events (and the number of messages expunged) so that when
   someone moans that Cyrus has eaten their email we can at least
   demonstrate that it was at the request of a mail client.

   Slightly more detail in lmtp log entries. Example:

     Feb 14 15:36:17 cyrus-24 lmtpd[23684]: deliver:
       <= cyrus-devel-bounces at
          <Pine.LNX.4.64.0702140901280.31932 at>
       -> user.dpc22.cyrus-devel

   Just makes it easier to work out what has been delivered where.

A couple of patches for compatibility with the UW IMAP server,
unlikely to be of general interest:

   A vanilla Cyrus will deliver the first message that takes a user
   over quota. In contrast a UW server will only accept messages which
   fit within the remaining quota. This has the advantage that a message
   with a 10 MByte attachment doesn't block lots of small messages,
   but on the other hand it may be less obvious to the user that they are
   running out of quota.

   Use POP3 UIDLs which are of the same format as the UW IMAP server.

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