Bug report and fix by Thomas Guettler.
the high level email.header class for that functionality.
"""
s = s.replace('_', ' ')
- return re.sub(r'=\w{2}', _unquote_match, s, re.ASCII)
+ return re.sub(r'=[a-fA-F0-9]{2}', _unquote_match, s, re.ASCII)
dh = decode_header(s % q)
self.assertEqual(dh, [(a, 'iso-8859-1')])
+ def test_rfc2047_Q_invalid_digits(self):
+ # issue 10004.
+ s = '=?iso-8659-1?Q?andr=e9=zz?='
+ self.assertEqual(decode_header(s),
+ [(b'andr\xe9=zz', 'iso-8659-1')])
+
\f
# Test the MIMEMessage class
class TestMIMEMessage(TestEmailBase):
Library
-------
+- Issue #10004: quoprimime no longer generates a traceback when confronted
+ with invalid characters after '=' in a Q-encoded word.
+
- Issue #1491: BaseHTTPServer nows send a 100 Continue response before sending
a 200 OK for the Expect: 100-continue request header.