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

----------
files: test_long_mime_headers.py
messages: 294875
nosy: chr...@emergence.com
priority: normal
severity: normal
status: open
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 <rep...@bugs.python.org>
<http://bugs.python.org/issue30532>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to