New submission from Forest:

When a multipart message erroneously defines a boundary string that conflicts 
with an inner message's boundary string, the parser ignores the (correct) inner 
message's boundary, and treats all matching boundary lines as if they belong to 
the (defective) outer message.

This file from the test_email suite demonstrates the problem:
Python-3.5.0/Lib/test/test_email/data/msg_15.txt

Consequentially, the inner multipart/alternative message is parsed with 
is_multipart() returning False, and a truncated payload.

Moreover, unit tests like test_same_boundary_inner_outer() expect to find the 
StartBoundaryNotFoundDefect defect on the inner message in that file, which 
seems wrong to me, since the inner message is not defective.  According to the 
RFCs, the outer message should have been generated with a boundary string that 
does not appear anywhere in its encoded body (including the inner message).  
The outer message is therefore the defective one.

----------
components: email
messages: 255309
nosy: barry, forest, r.david.murray
priority: normal
severity: normal
status: open
title: email parser ignores inner multipart boundary when outer message 
duplicates it
type: behavior
versions: Python 2.7, Python 3.4

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue25728>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to