[Mailman-Developers] [Fwd: URGENT: Something in message is breaking mailman!]

Kambiz Aghaiepour kambiz@colltech.com
Tue, 20 Feb 2001 17:47:11 -0500


This is a multi-part message in MIME format.
--------------411069A381CA9810B284F32A
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

I sent this to mailman-users and now I'm sending this to you to see if anyone
has any insight into this.

Actually, I've been able to track this down to a problem in the python library
mimetools.py.  The message that causes problems has a header as such:

Content-Type: multipart/report; report-type=delivery-status
        boundary="-------=_2EF51FF1.3FFF45E0"

And if you notice, the report-type value is not terminated with a ';'
character. As a result, the value gets set to:

    "delivery-status
        boundary=...."

So when ~mailman/Mailman/Bouncers/Netscape.py  (or whatever) goes to run (in
the process routine):

   boundary = msg.getparam('boundary')

it gets back None which gets pushed onto the stack.  Later, when str is popped
off the stack python fails because it can't do a string operation on None.

If you look at the mimetools.py in the python library, and look at the
parsetype method of the Message class, you'll see that the problem is in the
assumption that each of the variable declarations in the Content-Type: header
of the mime encoded message are always terminated by a semicolon.  Just as a
test, I hand modified the message in the qfiles directory and change the above
Content-Type: header to read:

Content-Type: multipart/report; report-type=delivery-status;
        boundary="-------=_2EF51FF1.3FFF45E0"

and the message was processed.  So, what is the fix?  Occasionally, a message
will come back and end up in the qfiles directory that has the header as
described above. As a result, qrunner fails (errors out) and NONE of the email
on the system is processed.  This is a critical problem.  Could you please
help out with this?

Thanks
Kambiz

ps. Please reply directly to me, as I am not on this list. Thanks

-- 
\o__O  o    -=<  Kambiz Aghaiepour - (919)593-1964   >=-    o   o
  \_  /|\   -=<  Senior Consultant - The Collective  >=-   //\ //\
   |\  |\   -=<  mailto:kambiz@collectivetech.com    >=-    //  //
  / /  |/   -=<  http://www.collectivetech.com/      >=-    |\  ||
--------------411069A381CA9810B284F32A
Content-Type: message/rfc822
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Message-ID: <3A91E65D.E1697BA5@colltech.com>
Date: Mon, 19 Feb 2001 22:37:01 -0500
From: Kambiz Aghaiepour <kambiz@colltech.com>
X-Mailer: Mozilla 4.75 [en] (Windows NT 5.0; U)
X-Accept-Language: en
MIME-Version: 1.0
To: mailman-users@python.org
Subject: URGENT: Something in message is breaking mailman!
Content-Type: multipart/mixed;
 boundary="------------1B82DA4AF17B451A26B7C01E"

This is a multi-part message in MIME format.
--------------1B82DA4AF17B451A26B7C01E
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

We are running mailman-2.0.1 under Red Hat Linux 6.2.  Python is version
1.5.2.  For some reason that I can't figure the following message is
breaking qrunner and if ever such a message should end up in the qfiles
directory, ALL list processing comes to a stand still (why?!!).  It
would be nice if mailman would file "bad" messages that cause problems
into a different directory for future examination.  Anyhow, please
excuse the .tgz attachment (gzip compressed tar file containing a .msg
and a .db file).  Additionally, I have attached the error file from
~mailman/logs.  Something odd is going on in multipart.py and I don't
know python at all so I was hoping someone on the list can figure out
what's going on.  Maybe you can somehow reproduce the problem.  Thanks
for your attention.

Kambiz

-- 
\o__O  o   Kambiz Aghaiepour, RHCE  -    Phone: (919) 524-7423   o   o
  \_  /|\  Collective Technologies  |\|  Pager: (800) 946-4646  //\ //\
   |\  |\  -=-=-=-=-=-=-=-=-=-=-=-  | | -=-=-=-  Pin# 1412622 =- //  //
  / /  |/ mailto:kambiz@colltech.com  | http://www.colltech.com  |\  ||
--------------1B82DA4AF17B451A26B7C01E
Content-Type: text/plain; charset=us-ascii;
 name="error"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="error"

Feb 19 22:03:00 2001 qrunner(10243): Traceback (innermost last):
Feb 19 22:03:00 2001 qrunner(10243):   File "/usr/share/mailman/cron/qrunner", line 283, in ?
Feb 19 22:03:00 2001 qrunner(10243):      kids = main(lock)
Feb 19 22:03:00 2001 qrunner(10243):   File "/usr/share/mailman/cron/qrunner", line 252, in main
Feb 19 22:03:00 2001 qrunner(10243):      keepqueued = dispose_message(mlist, msg, msgdata)
Feb 19 22:03:00 2001 qrunner(10243):   File "/usr/share/mailman/cron/qrunner", line 121, in dispose_message
Feb 19 22:03:00 2001 qrunner(10243):      if BouncerAPI.ScanMessages(mlist, mimemsg):
Feb 19 22:03:00 2001 qrunner(10243):   File "/var/mailman/Mailman/Bouncers/BouncerAPI.py", line 59, in ScanMessages
Feb 19 22:03:00 2001 qrunner(10243):      addrs = func(msg)
Feb 19 22:03:00 2001 qrunner(10243):   File "/var/mailman/Mailman/Bouncers/Netscape.py", line 62, in process
Feb 19 22:03:00 2001 qrunner(10243):      more = mfile.next()
Feb 19 22:03:00 2001 qrunner(10243):   File "/usr/lib/python1.5/multifile.py", line 121, in next
Feb 19 22:03:00 2001 qrunner(10243):      while self.readline(): pass
Feb 19 22:03:00 2001 qrunner(10243):   File "/usr/lib/python1.5/multifile.py", line 93, in readline
Feb 19 22:03:00 2001 qrunner(10243):      if marker == self.section_divider(sep):
Feb 19 22:03:00 2001 qrunner(10243):   File "/usr/lib/python1.5/multifile.py", line 157, in section_divider
Feb 19 22:03:00 2001 qrunner(10243):      return "--" + str
Feb 19 22:03:00 2001 qrunner(10243): TypeError :  illegal argument type for built-in operation 
Feb 19 22:03:15 2001 qrunner(10253): Traceback (innermost last):
Feb 19 22:03:15 2001 qrunner(10253):   File "/usr/share/mailman/cron/qrunner", line 283, in ?
Feb 19 22:03:15 2001 qrunner(10253):      kids = main(lock)
Feb 19 22:03:15 2001 qrunner(10253):   File "/usr/share/mailman/cron/qrunner", line 252, in main
Feb 19 22:03:15 2001 qrunner(10253):      keepqueued = dispose_message(mlist, msg, msgdata)
Feb 19 22:03:15 2001 qrunner(10253):   File "/usr/share/mailman/cron/qrunner", line 121, in dispose_message
Feb 19 22:03:15 2001 qrunner(10253):      if BouncerAPI.ScanMessages(mlist, mimemsg):
Feb 19 22:03:15 2001 qrunner(10253):   File "/var/mailman/Mailman/Bouncers/BouncerAPI.py", line 59, in ScanMessages
Feb 19 22:03:15 2001 qrunner(10253):      addrs = func(msg)
Feb 19 22:03:15 2001 qrunner(10253):   File "/var/mailman/Mailman/Bouncers/Netscape.py", line 62, in process
Feb 19 22:03:15 2001 qrunner(10253):      more = mfile.next()
Feb 19 22:03:15 2001 qrunner(10253):   File "/usr/lib/python1.5/multifile.py", line 121, in next
Feb 19 22:03:15 2001 qrunner(10253):      while self.readline(): pass
Feb 19 22:03:15 2001 qrunner(10253):   File "/usr/lib/python1.5/multifile.py", line 93, in readline
Feb 19 22:03:15 2001 qrunner(10253):      if marker == self.section_divider(sep):
Feb 19 22:03:15 2001 qrunner(10253):   File "/usr/lib/python1.5/multifile.py", line 157, in section_divider
Feb 19 22:03:15 2001 qrunner(10253):      return "--" + str
Feb 19 22:03:15 2001 qrunner(10253): TypeError :  illegal argument type for built-in operation 
Feb 19 22:03:22 2001 qrunner(10256): Traceback (innermost last):
Feb 19 22:03:22 2001 qrunner(10256):   File "/usr/share/mailman/cron/qrunner", line 283, in ?
Feb 19 22:03:22 2001 qrunner(10256):      kids = main(lock)
Feb 19 22:03:22 2001 qrunner(10256):   File "/usr/share/mailman/cron/qrunner", line 252, in main
Feb 19 22:03:22 2001 qrunner(10256):      keepqueued = dispose_message(mlist, msg, msgdata)
Feb 19 22:03:22 2001 qrunner(10256):   File "/usr/share/mailman/cron/qrunner", line 121, in dispose_message
Feb 19 22:03:22 2001 qrunner(10256):      if BouncerAPI.ScanMessages(mlist, mimemsg):
Feb 19 22:03:22 2001 qrunner(10256):   File "/var/mailman/Mailman/Bouncers/BouncerAPI.py", line 59, in ScanMessages
Feb 19 22:03:22 2001 qrunner(10256):      addrs = func(msg)
Feb 19 22:03:22 2001 qrunner(10256):   File "/var/mailman/Mailman/Bouncers/Netscape.py", line 62, in process
Feb 19 22:03:22 2001 qrunner(10256):      more = mfile.next()
Feb 19 22:03:22 2001 qrunner(10256):   File "/usr/lib/python1.5/multifile.py", line 121, in next
Feb 19 22:03:22 2001 qrunner(10256):      while self.readline(): pass
Feb 19 22:03:22 2001 qrunner(10256):   File "/usr/lib/python1.5/multifile.py", line 93, in readline
Feb 19 22:03:22 2001 qrunner(10256):      if marker == self.section_divider(sep):
Feb 19 22:03:22 2001 qrunner(10256):   File "/usr/lib/python1.5/multifile.py", line 157, in section_divider
Feb 19 22:03:22 2001 qrunner(10256):      return "--" + str
Feb 19 22:03:22 2001 qrunner(10256): TypeError :  illegal argument type for built-in operation 


--------------1B82DA4AF17B451A26B7C01E
Content-Type: application/x-compressed;
 name="cruft.tgz"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="cruft.tgz"

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

--------------1B82DA4AF17B451A26B7C01E--

--------------411069A381CA9810B284F32A
Content-Type: application/octet-stream;
 name="cruft.tgz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="cruft.tgz"

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
--------------411069A381CA9810B284F32A--