Comments on remaining FastMail.FM patches

Ken Murchison murch at andrew.cmu.edu
Tue Jan 9 16:37:23 EST 2007


I've been looking at the remaining, non-site specific patches, and here 
are some comments.

Command timer - Assuming that we want to specify the minimum time as 
fractional seconds (which I gather is the case given that its a double), 
I'd prefer to have it specified as millisecond and use an integer rather 
than a string in imapd.conf.  Since Jeff tells me that he'd like to have 
this patch, I'm going to go ahead and make this change unless there is 
an objection from the list.

Fast Index Interator - Since the patch assumes that the sequence set is 
sorted low->high, we don't get any advantage for SEARCH or UID EXPUNGE. 
  Would it make more sense to parse the sequence set once, creating a 
linked list of sorted ranges, and then do index_insequence() on the 
linked list?  This would then would for STATUS, SEARCH, and UID EXPUNGE, 
since all of the current code currently has msgno for each call 
monotonically increasing.  If we're slick, we can remove nodes from the 
head of the sequence set list, once we match a msgno that is greater 
than the range in the node.

Accept 'From ' header from IMAP clients - I'm really reluctant to add 
code to work around non-RFC2822 compliant messges, but if this is a big 
deal for people, I could probably be convinced to make this an 
imapd.conf option (probably another *_strict option).

Index Upgrade during Reconstruct - Is this a workaround for a bug in the 
stock code?

Longer constants for word sizes - We should probably make these values 
(including MAXLITERALSIZE) configurable.

Mailwasher bug workaround.  - The [CAPABILITY] response is just part of 
the banner.  Mailwasher should just ignore whatever it doesn't 
understand.  My guess would be that the size of the banner is 
overflowing a static buffer.

Statuscache - We've discussed this before, and I'm pretty sure its a 
good idea.  I'd like to think some more to see if there might be a 
better solution.


-- 
Kenneth Murchison
Systems Programmer
Project Cyrus Developer/Maintainer
Carnegie Mellon University


More information about the Info-cyrus mailing list