Commit a1e7b88e authored by Barry Warsaw's avatar Barry Warsaw

Tests for message/external-body and for duplicate boundary lines.

parent fd09d0a8
...@@ -306,9 +306,18 @@ class FeedParser: ...@@ -306,9 +306,18 @@ class FeedParser:
capturing_preamble = False capturing_preamble = False
self._input.unreadline(line) self._input.unreadline(line)
continue continue
# We saw a boundary separating two parts. Recurse to # We saw a boundary separating two parts. Consume any
# parse this subpart; the input stream points at the # multiple boundary lines that may be following. Our
# subpart's first line. # interpretation of RFC 2046 BNF grammar does not produce
# body parts within such double boundaries.
while True:
line = self._input.readline()
mo = boundaryre.match(line)
if not mo:
self._input.unreadline(line)
break
# Recurse to parse this subpart; the input stream points
# at the subpart's first line.
self._input.push_eof_matcher(boundaryre.match) self._input.push_eof_matcher(boundaryre.match)
for retval in self._parsegen(): for retval in self._parsegen():
if retval is NeedMoreData: if retval is NeedMoreData:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment