[ mailman-Patches-1189243 ] Unhandle exception in
Message.get_content_charset()
SourceForge.net
noreply at sourceforge.net
Fri Apr 29 15:30:01 CEST 2005
Patches item #1189243, was opened at 2005-04-25 00:16
Message generated for change (Comment added) made by bwarsaw
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=300103&aid=1189243&group_id=103
Category: None
Group: Mailman 2.1
Status: Closed
Resolution: Accepted
Priority: 5
Submitted By: Jon Parise (jparise)
Assigned to: Nobody/Anonymous (nobody)
Summary: Unhandle exception in Message.get_content_charset()
Initial Comment:
Message.get_content_charset() can encounter an
unhandled exception "(TypeError: unicode() argument 2
must be string, not None") when charset is None. This
can can only occur when the call to
email.Message.Message.get_content_charset(self,
failobj) itself returns None, but, not being acquainted
with the email package, I don't understand the
circumstances which can cause this situation.
Regardless, when charset is None, the call to unicode()
will throw the TypeError exception. The attached patch
recognizes this as a valid failure case such that
failobj will be returned.
----------------------------------------------------------------------
>Comment By: Barry A. Warsaw (bwarsaw)
Date: 2005-04-29 09:30
Message:
Logged In: YES
user_id=12800
Tokio, I don't like having duplicate code, so I think it's
best to fix the problem in one place and not keep the
workaround in Mailman's copy. I've installed email 2.5.6
now and will release Mailman 2.1.6rc3 in a little while. At
my own site, all the shunted messages that were broken
because of this problem have now been fixed and properly
unshunted. I will be updating python.org hopefully this
weekend.
Let's give rc3 a couple of weeks to shake out.
----------------------------------------------------------------------
Comment By: Tokio Kikuchi (tkikuchi)
Date: 2005-04-28 20:02
Message:
Logged In: YES
user_id=67709
Barry, TypeError is already avoided in email package by this
statement:
pcharset = charset[0] or 'us-ascii'
I want to keep the latter try/except in Mailman/Message.py
to assure the charset is known to mailman so that it can
serve as security precaution to future mailman code changes,
even after the email package is updated to 2.5.6.
----------------------------------------------------------------------
Comment By: Barry A. Warsaw (bwarsaw)
Date: 2005-04-25 13:02
Message:
Logged In: YES
user_id=12800
If it's not too much trouble. I'd love to have a test case
in the email package for the TypeError exception. If you
can't, no worries.
----------------------------------------------------------------------
Comment By: Jon Parise (jparise)
Date: 2005-04-25 11:46
Message:
Logged In: YES
user_id=485579
Sorry, I don't. Those messages were unshunted as a result
of my fix. I could try to instrument a collection mechanism
by trapping that exception and storing a copy of the
offensive message, however. Would that still be useful?
----------------------------------------------------------------------
Comment By: Barry A. Warsaw (bwarsaw)
Date: 2005-04-25 10:32
Message:
Logged In: YES
user_id=12800
Is there any possibility that you have a sample message that
exhibits this problem? I would /really/ like to add a test
case for this to the email package, which is where the patch
really belongs.
----------------------------------------------------------------------
Comment By: Tokio Kikuchi (tkikuchi)
Date: 2005-04-25 00:50
Message:
Logged In: YES
user_id=67709
Thank you! I just fixed in CVS.
(I'd rather make it bare except ...)
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=300103&aid=1189243&group_id=103
More information about the Mailman-coders
mailing list