mirror of
https://github.com/python/cpython.git
synced 2025-07-24 19:54:21 +00:00
#4768: store base64 encoded email body parts as text, not binary.
Patch and tests by Forest Bond.
This commit is contained in:
parent
deda8cb835
commit
7da8f06df0
4 changed files with 10 additions and 4 deletions
|
@ -29,7 +29,7 @@ def encode_base64(msg):
|
||||||
Also, add an appropriate Content-Transfer-Encoding header.
|
Also, add an appropriate Content-Transfer-Encoding header.
|
||||||
"""
|
"""
|
||||||
orig = msg.get_payload()
|
orig = msg.get_payload()
|
||||||
encdata = _bencode(orig)
|
encdata = str(_bencode(orig), 'ascii')
|
||||||
msg.set_payload(encdata)
|
msg.set_payload(encdata)
|
||||||
msg['Content-Transfer-Encoding'] = 'base64'
|
msg['Content-Transfer-Encoding'] = 'base64'
|
||||||
|
|
||||||
|
|
|
@ -970,7 +970,8 @@ class TestMIMEAudio(unittest.TestCase):
|
||||||
|
|
||||||
def test_encoding(self):
|
def test_encoding(self):
|
||||||
payload = self._au.get_payload()
|
payload = self._au.get_payload()
|
||||||
self.assertEqual(base64.decodebytes(payload), self._audiodata)
|
self.assertEqual(base64.decodebytes(bytes(payload, 'ascii')),
|
||||||
|
self._audiodata)
|
||||||
|
|
||||||
def test_checkSetMinor(self):
|
def test_checkSetMinor(self):
|
||||||
au = MIMEAudio(self._audiodata, 'fish')
|
au = MIMEAudio(self._audiodata, 'fish')
|
||||||
|
@ -1010,7 +1011,8 @@ class TestMIMEImage(unittest.TestCase):
|
||||||
|
|
||||||
def test_encoding(self):
|
def test_encoding(self):
|
||||||
payload = self._im.get_payload()
|
payload = self._im.get_payload()
|
||||||
self.assertEqual(base64.decodebytes(payload), self._imgdata)
|
self.assertEqual(base64.decodebytes(bytes(payload, 'ascii')),
|
||||||
|
self._imgdata)
|
||||||
|
|
||||||
def test_checkSetMinor(self):
|
def test_checkSetMinor(self):
|
||||||
im = MIMEImage(self._imgdata, 'fish')
|
im = MIMEImage(self._imgdata, 'fish')
|
||||||
|
@ -1050,7 +1052,7 @@ class TestMIMEApplication(unittest.TestCase):
|
||||||
eq = self.assertEqual
|
eq = self.assertEqual
|
||||||
bytes = b'\xfa\xfb\xfc\xfd\xfe\xff'
|
bytes = b'\xfa\xfb\xfc\xfd\xfe\xff'
|
||||||
msg = MIMEApplication(bytes)
|
msg = MIMEApplication(bytes)
|
||||||
eq(msg.get_payload(), b'+vv8/f7/')
|
eq(msg.get_payload(), '+vv8/f7/')
|
||||||
eq(msg.get_payload(decode=True), bytes)
|
eq(msg.get_payload(decode=True), bytes)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -83,6 +83,7 @@ Finn Bock
|
||||||
Paul Boddie
|
Paul Boddie
|
||||||
Matthew Boedicker
|
Matthew Boedicker
|
||||||
David Bolen
|
David Bolen
|
||||||
|
Forest Bond
|
||||||
Gawain Bolton
|
Gawain Bolton
|
||||||
Gregory Bond
|
Gregory Bond
|
||||||
Jurjen Bos
|
Jurjen Bos
|
||||||
|
|
|
@ -398,6 +398,9 @@ C-API
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #4768: base64 encoded email body parts were incorrectly stored as
|
||||||
|
binary strings. They are now correctly converted to strings.
|
||||||
|
|
||||||
- Issue #8833: tarfile created hard link entries with a size field != 0 by
|
- Issue #8833: tarfile created hard link entries with a size field != 0 by
|
||||||
mistake.
|
mistake.
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue