I just discovered a show-stopper for Mailman 2.0.6:
A user on one of my lists suddenly started bouncing messages. The bounce causes qrunner to die when it gets to that message, and stops processing files after that. Here's the python errors:
Nov 04 02:56:01 2001 qrunner(2605): Traceback (most recent call last):
Nov 04 02:56:01 2001 qrunner(2605): File "/home/csc/mailman/cron/qrunner", line 282, in ?
Nov 04 02:56:01 2001 qrunner(2605): kids = main(lock)
Nov 04 02:56:01 2001 qrunner(2605): File "/home/csc/mailman/cron/qrunner", line 252, in main
Nov 04 02:56:01 2001 qrunner(2605): keepqueued = dispose_message(mlist, msg, msgdata)
Nov 04 02:56:01 2001 qrunner(2605): File "/home/csc/mailman/cron/qrunner", line 121, in dispose_message
Nov 04 02:56:01 2001 qrunner(2605): if BouncerAPI.ScanMessages(mlist, mimemsg):
Nov 04 02:56:01 2001 qrunner(2605): File "/home/csc/mailman/Mailman/Bouncers/BouncerAPI.py", line 59, in ScanMessages
Nov 04 02:56:01 2001 qrunner(2605): addrs = func(msg)
Nov 04 02:56:01 2001 qrunner(2605): File "/home/csc/mailman/Mailman/Bouncers/DSN.py", line 46, in process
Nov 04 02:56:01 2001 qrunner(2605): if string.lower(msg.gettype()) <> 'multipart/report' or
Nov 04 02:56:01 2001 qrunner(2605): File "/usr/local/lib/python2.2/string.py", line 54, in lower
Nov 04 02:56:01 2001 qrunner(2605): return s.lower()
Nov 04 02:56:01 2001 qrunner(2605): AttributeError : 'NoneType' object has no attribute 'lower'
And here's an example of a bounce coming from the offending user:
Received: by main.nlenet.net (mbox bob) (with Cubic Circle's cucipop (v1.31 1998/05/13) Sun Nov 4 02:46:01 2001) X-From_: postmaster@btconnect.com Sun Nov 4 02:45:50 2001
From bob Sun Nov 4 02:45:50 2001 Return-Path: <postmaster@btconnect.com> Delivered-To: bob@nlenet.net Received: from c2bapps1.btconnect.com (c2bapps1.btconnect.com [193.113.209.21]) by main.nlenet.net (Postfix) with SMTP id ED8D113D126 for <bob@nleaudio.com>; Sun, 4 Nov 2001 02:45:49 -0500 (EST) Received: from btconnect.com by c2bapps1.btconnect.com id <g.02673-0@c2bapps1.btconnect.com>; Sun, 4 Nov 2001 07:45:32 +0000 Message-Type: Delivery Report X400-Received: by /ADMD= /C=WW/; Relayed; Sun, 4 Nov 2001 07:45:31 +0000 X400-Received: by mta c2bapps1-hme1 in /ADMD= /C=WW/; Relayed; Sun, 4 Nov 2001 07:45:31 +0000 X400-MTS-Identifier: [/ADMD= /C=WW/;c2bapps1.b:026710:20011104074531] From: postmaster@btconnect.com To: bob@nleaudio.com Subject: Delivery Report (failure) for pr@allen-heath.com Date: Sun, 4 Nov 2001 07:45:32 +0000 Message-ID: <"c2bapps1.b:026710:20011104074531"@btconnect.com> Content-Identifier: test MIME-Version: 1.0 Content-Type: multipart/report; boundary="---Multi-Part-Report-Level-1-1-2672" X-Mozilla-Status: 8001 X-Mozilla-Status2: 00000000 X-UIDL: 34456246710d0000
-----Multi-Part-Report-Level-1-1-2672
This report relates to your message: Subject: test, Message-ID: <3BE4F1EC.8306C281@nleaudio.com>, To: pr@allen-heath.com
of Sun, 4 Nov 2001 07:45:31 +0000
Your message was not delivered to: pr@allen-heath.com for the following reason: Diagnostic was Unable to transfer, -1 Information MTA '62.6.150.133' gives error message 5.7.1 Unable to relay for pr@allen-heath.com
The Original Message follows:
-----Multi-Part-Report-Level-1-1-2672 Content-Type: message/delivery-status
Reporting-MTA: x400; mta c2bapps1-hme1 in /ADMD= /C=WW/ Arrival-Date: Sun, 4 Nov 2001 07:45:00 +0000 DSN-Gateway: dns; c2bapps1.btconnect.com X400-Conversion-Date: Sun, 4 Nov 2001 07:45:32 +0000 Original-Envelope-Id: [/ADMD= /C=WW/;<3BE4F1EC.8306C281@nleaudio.com>] X400-Content-Identifier: test X400-Encoded-Info: ia5-text X400-Content-Correlator: Subject: test, Message-ID: <3BE4F1EC.8306C281@nleaudio.com>, To: pr@allen-heath.com
Original-Recipient: rfc822; pr@allen-heath.com Final-Recipient: x400; /RFC-822=pr(a)allen-heath.com/ADMD= /C=WW/ X400-Originally-Specified-Recipient-Number: 1 Action: failed Diagnostic-Code: Reason 1 (Unable-To-Transfer); Diagnostic -1 (Unknown) Status: 5.0.0 X400-Supplementary-Info: "MTA '62.6.150.133' gives error message 5.7.1 Unable to relay for pr(a)allen-heath.com" X400-Last-Trace: Sun, 4 Nov 2001 07:45:00 +0000
-----Multi-Part-Report-Level-1-1-2672 Content-Type: message/rfc822
Received: from ns.nlenet.net by c2bapps1 with SMTP (XT-PP); Sun, 4 Nov 2001 07:45:00 +0000 Received: from nleaudio.com (66-133-142-213.roc.frontiernet.net [66.133.142.213]) by ns.nlenet.net (Postfix) with ESMTP id E354A770C for <pr@allen-heath.com>; Sun, 4 Nov 2001 02:44:57 -0500 (EST) Message-ID: <3BE4F1EC.8306C281@nleaudio.com> Date: Sun, 04 Nov 2001 02:44:44 -0500 From: "Bob Puff@NLE" <bob@nleaudio.com> X-Mailer: Mozilla 4.78 [en] (Win95; U) X-Accept-Language: en MIME-Version: 1.0 To: pr@allen-heath.com Subject: test Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit
test, please disregard.
-----Multi-Part-Report-Level-1-1-2672--
This was a bomb that kept me up till the wee hours tracing down. I looked through the bug reports, found something similar, but there was no fix! Yikes! This needs fixing asap!
Bob
Here's a patch to at least avoid the traceback. I'm heading out in a few minutes, but I'll try to put together a real patch when I get back. This, plus the bogus cookie value DoS warrant a 2.0.7 release. -Barry -------------------- snip snip -------------------- Index: DSN.py =================================================================== RCS file: /cvsroot/mailman/mailman/Mailman/Bouncers/DSN.py,v retrieving revision 1.7.2.1 diff -u -r1.7.2.1 DSN.py --- DSN.py 2001/07/25 18:04:42 1.7.2.1 +++ DSN.py 2001/11/06 00:46:32 @@ -43,8 +43,10 @@ def process(msg): - if string.lower(msg.gettype()) <> 'multipart/report' or \ - string.lower(msg.getparam('report-type')) <> 'delivery-status': + ctype = msg.gettype() + param = msg.getparam('report-type') or '' + if string.lower(ctype) <> 'multipart/report' or \ + string.lower(param) <> 'delivery-status': # then return None boundary = msg.getparam('boundary')
participants (2)
-
barry@zope.com
-
Bob Puff@NLE