Various small patches

David Carter dpc22 at cam.ac.uk
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):

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

HERMES_PARTIAL_SQUAT
   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.

HERMES_FIX_FUD
   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.

HERMES_LMTP_EAT_BARE_CR:
   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.

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

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

HERMES_POP_LOG_VERBOSE
HERMES_IMAP_LOG_VERBOSE
HERMES_IPURGE_LOGGING
   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.

HERMES_LMTP_LOG_VERBOSE
   Slightly more detail in lmtp log entries. Example:

     Feb 14 15:36:17 cyrus-24 lmtpd[23684]: deliver:
       <= cyrus-devel-bounces at lists.andrew.cmu.edu
          <Pine.LNX.4.64.0702140901280.31932 at hermes-1.csi.cam.ac.uk>
       -> 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:

HERMES_LMTP_QUOTACHECK
HERMES_APPEND_QUOTACHECK
   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.

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

-- 
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 mailing list