[Mailman-Developers] message posting in a loop with mailman 2.1b1
Marc MERLIN
marc_news@vasoftware.com
Tue, 16 Apr 2002 16:28:17 -0700
On Tue, Apr 16, 2002 at 06:33:59PM -0400, Barry A. Warsaw wrote:
> SMTP> 451 Temporary local problem - please try later
>
> MM> The problem is that mailman decided that the whole post
> MM> failed, and started to resend it in a loop.
>
> If I'm reading RFC 2821 correctly, this is the right thing for Mailman
> to do. A 451 error code means:
I'm not saying that mailman is incorrect on the interpretation of the RFC,
I'm saying that if mailman feeds an incorrect Email address or something
that causes the MTA to reject the mail, it will endlessly spam all the
subscribers that are being delivered to every time mailman tries.
This can't be the desired behaviour...
What if mailman gets a 5xx? Does it give up on the message and drop it on
the floor?
My point is that in both cases it should log a clear error of what happened,
and save the message that triggered the problem somewhere.
But you are right that in theory mailman should know who the message was
delivered to, and who didn't get it.
> "The command was not accepted, and the requested action did not
> occur. However, the error condition is temporary and the action
> may be requested again. The sender should return to the beginning
> of the command sequence (if any)."
>
> So it looks to me like we're correct in assuming that none of the
> recipients of that chunk got the message. If Exim is doing partial
> deliveries and still returning 451, that doesn't seem right.
Here's what exim does:
220 mail2.merlins.org ESMTP Exim 4.01 #1 Tue, 16 Apr 2002 16:03:46 -0700 - mm1
helo foo
250 mail2.merlins.org Hello root at moremagic.merlins.org [204.80.101.251]
mail from: nobody@merlins.org
250 OK
rcpt to: nobody@uu.net
250 Accepted
rcpt to: champney@scruznet.com
451 Temporary local problem - please try later
Indeed this *shouldn't* have caused mailman to loop, but it sure did. Then
I'm afraid the only explanation that comes to mind is that it delivered one
block, got a 451 on the next one, and the previous block didn't get marked
as delivered, and mailman delivers it again to people who already got it
(I know, I got 12 copies in my mailbox before I was able to stop it)
Actually I checked closer, and my system is setup to use VERP, so mailman
would only have issued one RCPT per message, or blocks of 1 receipient.
Ok, so my exim logs show:
2002-04-15 05:43:31 16x5pS-0004XH-00 => keskydee <keskydee@lists.merlins.org> F=
<jean-luc@maisiere.com> R=mm21_main_director T=mm21_transport S=2850
2002-04-15 05:43:34 16x5pW-0004RZ-00 <= keskydee-bounces+jean-luc=maisiere.com@m
erlins.org H=localhost (moremagic.merlins.org) [127.0.0.1]:49371 I=[127.0.0.1]:2
5 U=mailman P=esmtp S=1350 id=mailman.9.1018874612.25713.keskydee@lists.merlins.
org T="Your message to Keskydee awaits moderator approval" from <keskydee-bounce
s+jean-luc=maisiere.com@lists.merlins.org> for jean-luc@maisiere.com
(I'm still sleeping, wake up, approve the message, and it starts gettting sent)
2002-04-15 08:06:03 16x83P-0001tW-00 <= keskydee-bounces+sylvie=stanfordalumni.o
rg@merlins.org H=localhost (moremagic.merlins.org) [127.0.0.1]:46865 I=[127.0.0.
1]:25 U=mailman P=esmtp S=3893 id=200204151259.OAA09104@serv5.sc3m.net T="[Kesky
dee] recherche collaboration" from <keskydee-bounces+sylvie=stanfordalumni.org@l
ists.merlins.org> for sylvie@stanfordalumni.org
2002-04-15 08:06:05 16x83P-0001tW-00 => sylvie@stanfordalumni.org F=<keskydee-bo
unces+sylvie=stanfordalumni.org@merlins.org> R=lookuphost T=remote_smtp S=4009 H
=mx.usa.net [165.212.65.113] C="250 Mail accepted (240gDoPFv0045M01)"
2002-04-15 08:06:05 16x83P-0001tW-00 Completed
2002-04-15 08:06:09 H=localhost (moremagic.merlins.org) [127.0.0.1]:46865 (mailm
an) F=<keskydee-bounces+loic_fabro=notesetc.com@merlins.org> temporarily rejecte
d RCPT <Loic_Fabro@notesetc.com>: host lookup did not complete
Ahah, first 4xx
2002-04-15 08:06:09 SMTP connection from localhost (moremagic.merlins.org) [127.
0.0.1]:46865 closed by QUIT
mailman bails right after that.
2002-04-15 08:06:10 SMTP connection from localhost [127.0.0.1]:41158 (TCP/IP con
nection count = 1)
and comes back
delivers some other messages
and gets another 4xx
2002-04-15 08:06:29 H=localhost (moremagic.merlins.org) [127.0.0.1]:41158 (mailm
an) F=<keskydee-bounces+champney=scruznet.com@merlins.org> temporarily rejected
RCPT <champney@scruznet.com>: host lookup did not complete
2002-04-15 08:06:29 SMTP connection from localhost (moremagic.merlins.org) [127.
0.0.1]:41158 closed by QUIT
2002-04-15 08:06:29 SMTP connection from localhost [127.0.0.1]:60022 (TCP/IP con
nection count = 1)
delivers to more people, and then to me
2002-04-15 08:07:56 16x85E-00058R-00 <= keskydee-bounces+marc=merlins.org@merlins.org H=localhost (moremagic.merlins.org) [127.0.0.1]:42096 I=[127.0.0.1]:25 U=mailman P=esmtp S=3866 id=200204151259.OAA09104@serv5.sc3m.net T="[Keskydee] recherche collaboration" from <keskydee-bounces+marc=merlins.org@lists.merlins.org> for marc<at>merlins.org
Unfortunately, since there are 200+ members, I can't give you a sweet 10 lines of logs with the obvious problem, but I can show you this:
2002-04-15 08:14:27 16x8BX-0005WU-00 <= keskydee-bounces+marc=merlins.org@merlins.org H=localhost (moremagic.merlins.org) [127.0.0.1]:57729 I=[127.0.0.1]:25 U=mailman P=esmtp S=3866 id=200204151259.OAA09104@serv5.sc3m.net T="[Keskydee] recherche collaboration" from <keskydee-bounces+marc=merlins.org@lists.merlins.org> for marc<at>merlins.org
The same message gets sent back to me again, and again every 10-15mn until I
manually yanked the message from the spool.
I know you'd rather have the line of code that does the bad thing, or even a
patch, but I can at least tell you that something is amiss. My first report
just wasn't good because I didn't research the failure deeply enough.
Marc
--
Microsoft is to operating systems & security ....
.... what McDonalds is to gourmet cooking
Home page: http://marc.merlins.org/ | Finger marc_f@merlins.org for PGP key