Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
6d94bd47
Commit
6d94bd47
authored
Mar 16, 2011
by
R David Murray
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
#9298: restore proper folding of base64 encoded bodies.
Patch by Yves Dorfsman.
parent
d3b7a55f
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
21 additions
and
6 deletions
+21
-6
Lib/email/encoders.py
Lib/email/encoders.py
+1
-1
Lib/email/test/test_email.py
Lib/email/test/test_email.py
+15
-5
Misc/ACKS
Misc/ACKS
+1
-0
Misc/NEWS
Misc/NEWS
+4
-0
No files found.
Lib/email/encoders.py
View file @
6d94bd47
...
...
@@ -12,7 +12,7 @@ __all__ = [
]
from
base64
import
b64encode
as
_bencode
from
base64
import
encodebytes
as
_bencode
from
quopri
import
encodestring
as
_encodestring
...
...
Lib/email/test/test_email.py
View file @
6d94bd47
...
...
@@ -553,9 +553,18 @@ class TestMessageAPI(TestEmailBase):
msg
[
'Dummy'
]
=
'dummy
\
n
X-Injected-Header: test'
self
.
assertRaises
(
errors
.
HeaderParseError
,
msg
.
as_string
)
# Test the email.encoders module
class
TestEncoders
(
unittest
.
TestCase
):
def
test_EncodersEncode_base64
(
self
):
with
openfile
(
'PyBanner048.gif'
,
'rb'
)
as
fp
:
bindata
=
fp
.
read
()
mimed
=
email
.
mime
.
image
.
MIMEImage
(
bindata
)
base64ed
=
mimed
.
get_payload
()
# the transfer-encoded body lines should all be <=76 characters
lines
=
base64ed
.
split
(
'
\
n
'
)
self
.
assertLessEqual
(
max
([
len
(
x
)
for
x
in
lines
]),
76
)
def
test_encode_empty_payload
(
self
):
eq
=
self
.
assertEqual
msg
=
Message
()
...
...
@@ -1107,10 +1116,11 @@ class TestMIMEApplication(unittest.TestCase):
def
test_body
(
self
):
eq
=
self
.
assertEqual
bytes
=
b'
\
xfa
\
xfb
\
xfc
\
xfd
\
xfe
\
xff
'
msg
=
MIMEApplication
(
bytes
)
eq
(
msg
.
get_payload
(),
'+vv8/f7/'
)
eq
(
msg
.
get_payload
(
decode
=
True
),
bytes
)
bytesdata
=
b'
\
xfa
\
xfb
\
xfc
\
xfd
\
xfe
\
xff
'
msg
=
MIMEApplication
(
bytesdata
)
# whitespace in the cte encoded block is RFC-irrelevant.
eq
(
msg
.
get_payload
().
strip
(),
'+vv8/f7/'
)
eq
(
msg
.
get_payload
(
decode
=
True
),
bytesdata
)
...
...
Misc/ACKS
View file @
6d94bd47
...
...
@@ -202,6 +202,7 @@ Daniel Dittmar
Jaromir Dolecek
Ismail Donmez
Dima Dorfman
Yves Dorfsman
Cesar Douady
Dean Draayer
Fred L. Drake, Jr.
...
...
Misc/NEWS
View file @
6d94bd47
...
...
@@ -40,6 +40,10 @@ Core and Builtins
Library
-------
- Issue #9298: base64 bodies weren't being folded to line lengths less than 78,
which was a regression relative to Python2. Unlike Python2, the last line
of the folded body now ends with a carriage return.
- Issue #11569: use absolute path to the sysctl command in multiprocessing to
ensure that it will be found regardless of the shell PATH. This ensures
that multiprocessing.cpu_count works on default installs of MacOSX.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment