mirror of
https://github.com/python/cpython.git
synced 2025-09-26 10:19:53 +00:00
Issue #1670765: Prevent email.generator.Generator from re-wrapping
headers in multipart/signed MIME parts, which fixes one of the sources of invalid modifications to such parts by Generator. Patch and tests by Martin von Gagern.
This commit is contained in:
parent
57cd8ebc20
commit
ed44dfa4c7
4 changed files with 86 additions and 0 deletions
|
@ -237,6 +237,17 @@ class Generator:
|
|||
print >> self._fp
|
||||
self._fp.write(msg.epilogue)
|
||||
|
||||
def _handle_multipart_signed(self, msg):
|
||||
# The contents of signed parts has to stay unmodified in order to keep
|
||||
# the signature intact per RFC1847 2.1, so we disable header wrapping.
|
||||
# RDM: This isn't enough to completely preserve the part, but it helps.
|
||||
old_maxheaderlen = self._maxheaderlen
|
||||
try:
|
||||
self._maxheaderlen = 0
|
||||
self._handle_multipart(msg)
|
||||
finally:
|
||||
self._maxheaderlen = old_maxheaderlen
|
||||
|
||||
def _handle_message_delivery_status(self, msg):
|
||||
# We can't just write the headers directly to self's file object
|
||||
# because this will leave an extra newline between the last header
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue