[Mailman-Developers] Looping digest - mailman bug?

Kaja P. Christiansen kaja@daimi.au.dk
Wed, 1 Aug 2001 15:29:35 +0200


Thomas Wouters writes:

 > > +    bar = re.compile('\n\.')
 > > +    msgtext = re.sub(bar, '\n .', msgtext, 0)
 > 
 > Sorry, this is the wrong fix. "\n." isn't the pattern that breaks it; you
 > want "\r?\n.\r?\n".

Not really; to be precise, "\n\.\n" is what breaks mail delivery. This 
was tested and confirmed in mailman lists using Sendmail delivery module,
in standard installations of Sendmail 8.11.2 and Postfix 20010228-pl03
and on two different platforms: IRIX 6.5 vs. RedHat 6.2.

If a message contains MIME part (text/plain format) with "\n.\n" in it, 
it triggers the mail bombing. If there is no MIME, the message body is
proccessed up to "\n.\.\n", the rest gets truncated.

 > That's not the issue; IIRC, both the smtplib module (used by the SMTPDirect
 > delivery in Mailman) as the Sendmail deliverer use CRLF's, adding CR's where
 > necessary.

CRLF's issues notwithstanding, looping digests has given much distress
to many list members and the patch above prevents foul behaviour.
If there is a better suggestion, I'll be greatful.

 > My question was whether the message text, at that moment, was guaranteed to
 > contain CR's (or guaranteed not to contain them.)

Guaranteed not to contain CR's; I've saved a few of the 'bombing messages'
and the single dot on a line is preceeded and followed by LF's.

This said, thanks to the Mailman team for the wonderful software; Mailman 
has been a great success for mailing lists for which I am responsible
(on two different domains); which is the very reason for getting into this...

Kaja