New submission from Guido van Rossum <gu...@python.org>: I am using an edge case of multipart/mixed and find that the multipart/mix parser in the email package is broken. See attached example. Similar code using cgi.FieldStorage (!) works fine.
The problem happens through the following combination of factors: 1. Content-Length given 2. Content-Transfer-Encoding: 8bit 3. Last two bytes of the part body are '\r\n' In this case, the final '\n' is removed from the part body, leaving it a byte short. Note that interior occurrences of '\r\n' work fine, as does any other binary data -- it's only a trailing '\r\n' that breaks. Note that technically perhaps the use of 8bit is invalid; but the same problem happens when using binary instead. The problem can be reproduced in Python 3.x using nearly the same demo by change the cStringIO import to "import io". ---------- components: Library (Lib) files: barry.py messages: 91466 nosy: gvanrossum severity: normal status: open title: email.parser clips trailing \n of multipart/mixed part if part ends in \r\n type: behavior versions: Python 2.6, Python 2.7, Python 3.0, Python 3.1, Python 3.2 Added file: http://bugs.python.org/file14689/barry.py _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue6681> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com