Commit 58a7f75d authored by R. David Murray's avatar R. David Murray

Merged revisions 80062 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r80062 | r.david.murray | 2010-04-13 16:57:40 -0400 (Tue, 13 Apr 2010) | 2 lines

  Issue #5277: Fix quote counting when parsing RFC 2231 encoded parameters.
........
parent 6aca57e7
...@@ -62,7 +62,7 @@ def _parseparam(s): ...@@ -62,7 +62,7 @@ def _parseparam(s):
while s[:1] == ';': while s[:1] == ';':
s = s[1:] s = s[1:]
end = s.find(';') end = s.find(';')
while end > 0 and s.count('"', 0, end) % 2: while end > 0 and (s.count('"', 0, end) - s.count('\\"', 0, end)) % 2:
end = s.find(';', end + 1) end = s.find(';', end + 1)
if end < 0: if end < 0:
end = len(s) end = len(s)
......
...@@ -338,6 +338,14 @@ class TestMessageAPI(TestEmailBase): ...@@ -338,6 +338,14 @@ class TestMessageAPI(TestEmailBase):
self.assertEqual(msg.get_param('name', unquote=False), self.assertEqual(msg.get_param('name', unquote=False),
'"Jim&amp;&amp;Jill"') '"Jim&amp;&amp;Jill"')
def test_get_param_with_quotes(self):
msg = email.message_from_string(
'Content-Type: foo; bar*0="baz\\"foobar"; bar*1="\\"baz"')
self.assertEqual(msg.get_param('bar'), 'baz"foobar"baz')
msg = email.message_from_string(
"Content-Type: foo; bar*0=\"baz\\\"foobar\"; bar*1=\"\\\"baz\"")
self.assertEqual(msg.get_param('bar'), 'baz"foobar"baz')
def test_has_key(self): def test_has_key(self):
msg = email.message_from_string('Header: exists') msg = email.message_from_string('Header: exists')
self.failUnless(msg.has_key('header')) self.failUnless(msg.has_key('header'))
......
...@@ -149,6 +149,7 @@ Greg Couch ...@@ -149,6 +149,7 @@ Greg Couch
Steve Cousins Steve Cousins
Alex Coventry Alex Coventry
Matthew Dixon Cowles Matthew Dixon Cowles
Ryan Coyner
Christopher A. Craig Christopher A. Craig
Laura Creighton Laura Creighton
Simon Cross Simon Cross
...@@ -627,6 +628,7 @@ Hajime Saitou ...@@ -627,6 +628,7 @@ Hajime Saitou
Rich Salz Rich Salz
Kevin Samborn Kevin Samborn
Ilya Sandler Ilya Sandler
Mark Sapiro
Ty Sarna Ty Sarna
Ben Sayer Ben Sayer
Michael Scharf Michael Scharf
......
...@@ -28,6 +28,8 @@ Core and Builtins ...@@ -28,6 +28,8 @@ Core and Builtins
Library Library
------- -------
- Issue #5277: Fix quote counting when parsing RFC 2231 encoded parameters.
- Issue #8179: Fix macpath.realpath() on a non-existing path. - Issue #8179: Fix macpath.realpath() on a non-existing path.
- Issue #8310: Allow dis to examine new style classes. - Issue #8310: Allow dis to examine new style classes.
......
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