Commit 96447b5c authored by R. David Murray's avatar R. David Murray

Merged revisions 85142 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r85142 | r.david.murray | 2010-10-01 11:40:20 -0400 (Fri, 01 Oct 2010) | 5 lines

  #10004: in Q encoded word ignore '=xx' when xx is not valid hex.

  Bug report and fix by Thomas Guettler.
........
parent e52d7d80
...@@ -294,4 +294,4 @@ def header_decode(s): ...@@ -294,4 +294,4 @@ def header_decode(s):
the high level email.Header class for that functionality. the high level email.Header class for that functionality.
""" """
s = s.replace('_', ' ') 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)
...@@ -1655,6 +1655,12 @@ Re: =?mac-iceland?q?r=8Aksm=9Arg=8Cs?= baz foo bar =?mac-iceland?q?r=8Aksm?= ...@@ -1655,6 +1655,12 @@ Re: =?mac-iceland?q?r=8Aksm=9Arg=8Cs?= baz foo bar =?mac-iceland?q?r=8Aksm?=
dh = decode_header(s % q) dh = decode_header(s % q)
self.assertEqual(dh, [(a, 'iso-8859-1')]) 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')])
# Test the MIMEMessage class # Test the MIMEMessage class
class TestMIMEMessage(TestEmailBase): class TestMIMEMessage(TestEmailBase):
......
...@@ -121,6 +121,9 @@ C-API ...@@ -121,6 +121,9 @@ C-API
Library Library
------- -------
- Issue #10004: quoprimime no longer generates a traceback when confronted
with invalid characters after '=' in a Q-encoded word.
- Issue #9950: Fix socket.sendall() crash or misbehaviour when a signal is - Issue #9950: Fix socket.sendall() crash or misbehaviour when a signal is
received. Now sendall() properly calls signal handlers if necessary, received. Now sendall() properly calls signal handlers if necessary,
and retries sending if these returned successfully, including on sockets and retries sending if these returned successfully, including on sockets
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment