[New-bugs-announce] [issue30532] email.policy.SMTP.fold() mangles long headers
report at bugs.python.org
Wed May 31 18:08:53 EDT 2017
New submission from Chris Bradley:
When email.policy.SMTP.fold() attempts to wrap a line in which a chunk that does not contain a space is longer than the maximum line length, two things go wrong:
- The second line does not begin with a space, creating an invalid header.
- The space before the long chunk is stripped, causing the line break to occur in an invalid place.
In the attached test case, email.policy.SMTP.fold() is called on a line of the style:
Content-Disposition: attachment; filename="<filename>"
<filename> does not contain any spaces and increases in length with each pass. Everything works correctly when 'filename="<filename>"' fits onto one line. However, once it is longer than the maximum line length, the following happens:
- the space after the semicolon is dropped
- the line break often splits up the 'filename' keyword
- the second line loses the initial whitespace
nosy: chrisb at emergence.com
title: email.policy.SMTP.fold() mangles long headers
versions: Python 3.5
Added file: http://bugs.python.org/file46917/test_long_mime_headers.py
Python tracker <report at bugs.python.org>
More information about the New-bugs-announce