[Mailman-Developers] Bug (missing sanity check) in parseaddr.py

fox_muld at quakenet.org fox_muld at quakenet.org
Mon Sep 8 06:22:47 EDT 2003

I'm sorry if this is a known bug, the buglist on sourceforge isn't exactly helpful, there is just too much in it and no adequate method for searching it; and google didn't find anything on this.
Recently one of our Mailinglists stopped working, and senddigests would die everytime it ran with this error:

Traceback (most recent call last):
  File "/home/mailman/cron/senddigests", line 94, in ?
  File "/home/mailman/cron/senddigests", line 86, in main
  File "/home/mailman/Mailman/Digester.py", line 60, in send_digest_now
    ToDigest.send_digests(self, mboxfp)
  File "/home/mailman/Mailman/Handlers/ToDigest.py", line 130, in send_digests
    send_i18n_digests(mlist, mboxfp)
  File "/home/mailman/Mailman/Handlers/ToDigest.py", line 303, in send_i18n_digests
    msg = scrubber(mlist, msg)
  File "/home/mailman/Mailman/Handlers/Scrubber.py", line 162, in process
    dir = calculate_attachments_dir(mlist, msg, msgdata)
  File "/home/mailman/Mailman/Handlers/Scrubber.py", line 120, in
    now = parsedate(datestr)
  File "/home/mailman/pythonlib/email/Utils.py", line 249, in parsedate
    return _parsedate(data)
  File "/home/mailman/pythonlib/email/_parseaddr.py", line 133, in parsedate
    t = parsedate_tz(data)
  File "/home/mailman/pythonlib/email/_parseaddr.py", line 126, in parsedate_tz
    tzoffset = tzsign * ( (tzoffset/100)*3600 + (tzoffset % 100)*60)
OverflowError: integer multiplication

It turned out to be caused by some invalid Date: header in a mail in digest.mbox (strange it was accepted, but then killed mailman everytime it tried to do something with it?). The header was:

Date: Tue, 26 Aug 2003 19:10:55 -119304547

That messed up timezone-offset obviously kills parseaddr. The obvious fix is to add some sanity check to that calculation, but as I don't speak python, I won't submit a patch for that.

More information about the Mailman-Developers mailing list