Fwd: Huge header detection
    Bron Gondwana 
    brong at fastmail.fm
       
    Mon Feb  9 06:02:37 EST 2009
    
    
  
On Mon, Feb 09, 2009 at 10:24:38AM +0000, Ian Eiloart wrote:
>
>
> --On 7 February 2009 02:36:36 -0200 Carlos Horowicz  
> <carlos.horowicz at gmail.com> wrote:
>
>> I'm wondering what to do in a live system with may be hundreds of
>> thousands of these strange e-mails already in users´ mailboxes,
My god, that many?  Nuke it from orbit.  Only way to be sure.
(alternative plan, grep for the bogus files, unlink them and
reconstruct the mailboxes - cheaper and less radioactive)
>> Should imapd be patched so that it just ignores the repetitions , both
>> when building cyrus.cache and when it returns the headers to a client
>> ? or should imapd really modify the original e-mail by stripping
>> unnecessary/illegal headers and store a cleaned-up version ?
>
> It shouldn't be modifying messages. It should handle such messages  
> elegantly. Ignoring repetitions (beyond a threshold of repeats) seems the 
> most sensible option. However, failing to report them to a client could  
> cause confusion, so a threshold should be reasonably high. Of course some 
> headers are supposed to have multiple instances...
Ditto with that.  This patch ignores repetitions beyond a threshold.  It
turns out that ignoring specific headers separately is hard[tm], but
just stopping parsing them after a count is way-easy.
> Alerting the system administrator to the existence of such bogus messages 
> seems like a good idea, too. Perhaps through the logging system.
Yeah, good point.  Allow me to add that.
> If you don't want a particular message in the system, then it should not 
> be accepted by LMTP or by any IMAP message creation mechanism.
Ditto.  Gosh.  That makes 3 tunables.  The gods of tunable
non-proliferation will want my head for doing this:
maxcacheheaders_warn = 500
maxcacheheaders_skip = 1000 (same as the current patch)
maxcacheheaders_reject = 2000
Sound like reasonable defaults?  I'm tempted to make the _reject be '0'
(don't reject) by default.
Bron.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Max-header-lines-1000-by-default-to-avoid-supersi.patch
Type: text/x-diff
Size: 1336 bytes
Desc: not available
Url : http://lists.andrew.cmu.edu/pipermail/info-cyrus/attachments/20090209/c88bc59d/attachment.bin 
    
    
More information about the Info-cyrus
mailing list