mirror of https://github.com/python/cpython
A boiled down example from Anthony's MIME torture tests. This one has a
separating boundary for an outer part inside an inner part.
This commit is contained in:
parent
c3d931685b
commit
dce231fb14
|
@ -0,0 +1,101 @@
|
|||
MIME-Version: 1.0
|
||||
Content-Type: multipart/mixed; boundary="----- =_aaaaaaaaaa0"
|
||||
|
||||
------- =_aaaaaaaaaa0
|
||||
Content-Type: multipart/mixed; boundary="----- =_aaaaaaaaaa1"
|
||||
Content-ID: <20592.1022586929.1@example.com>
|
||||
|
||||
------- =_aaaaaaaaaa1
|
||||
Content-Type: multipart/alternative; boundary="----- =_aaaaaaaaaa2"
|
||||
Content-ID: <20592.1022586929.2@example.com>
|
||||
|
||||
------- =_aaaaaaaaaa2
|
||||
Content-Type: text/plain
|
||||
Content-ID: <20592.1022586929.3@example.com>
|
||||
Content-Description: very tricky
|
||||
Content-Transfer-Encoding: 7bit
|
||||
|
||||
|
||||
Unlike the test test_nested-multiples-with-internal-boundary, this
|
||||
piece of text not only contains the outer boundary tags
|
||||
------- =_aaaaaaaaaa1
|
||||
and
|
||||
------- =_aaaaaaaaaa0
|
||||
but puts them at the start of a line! And, to be even nastier, it
|
||||
even includes a couple of end tags, such as this one:
|
||||
|
||||
------- =_aaaaaaaaaa1--
|
||||
|
||||
and this one, which is from a multipart we haven't even seen yet!
|
||||
|
||||
------- =_aaaaaaaaaa4--
|
||||
|
||||
This will, I'm sure, cause much breakage of MIME parsers. But, as
|
||||
far as I can tell, it's perfectly legal. I have not yet ever seen
|
||||
a case of this in the wild, but I've seen *similar* things.
|
||||
|
||||
|
||||
------- =_aaaaaaaaaa2
|
||||
Content-Type: application/octet-stream
|
||||
Content-ID: <20592.1022586929.4@example.com>
|
||||
Content-Description: patch2
|
||||
Content-Transfer-Encoding: base64
|
||||
|
||||
XXX
|
||||
|
||||
------- =_aaaaaaaaaa2--
|
||||
|
||||
------- =_aaaaaaaaaa1
|
||||
Content-Type: multipart/alternative; boundary="----- =_aaaaaaaaaa3"
|
||||
Content-ID: <20592.1022586929.6@example.com>
|
||||
|
||||
------- =_aaaaaaaaaa3
|
||||
Content-Type: application/octet-stream
|
||||
Content-ID: <20592.1022586929.7@example.com>
|
||||
Content-Description: patch3
|
||||
Content-Transfer-Encoding: base64
|
||||
|
||||
XXX
|
||||
|
||||
------- =_aaaaaaaaaa3
|
||||
Content-Type: application/octet-stream
|
||||
Content-ID: <20592.1022586929.8@example.com>
|
||||
Content-Description: patch4
|
||||
Content-Transfer-Encoding: base64
|
||||
|
||||
XXX
|
||||
|
||||
------- =_aaaaaaaaaa3--
|
||||
|
||||
------- =_aaaaaaaaaa1
|
||||
Content-Type: multipart/alternative; boundary="----- =_aaaaaaaaaa4"
|
||||
Content-ID: <20592.1022586929.10@example.com>
|
||||
|
||||
------- =_aaaaaaaaaa4
|
||||
Content-Type: application/octet-stream
|
||||
Content-ID: <20592.1022586929.11@example.com>
|
||||
Content-Description: patch5
|
||||
Content-Transfer-Encoding: base64
|
||||
|
||||
XXX
|
||||
|
||||
------- =_aaaaaaaaaa4
|
||||
Content-Type: application/octet-stream
|
||||
Content-ID: <20592.1022586929.12@example.com>
|
||||
Content-Description: patch6
|
||||
Content-Transfer-Encoding: base64
|
||||
|
||||
XXX
|
||||
|
||||
------- =_aaaaaaaaaa4--
|
||||
|
||||
------- =_aaaaaaaaaa1--
|
||||
|
||||
------- =_aaaaaaaaaa0
|
||||
Content-Type: text/plain; charset="us-ascii"
|
||||
Content-ID: <20592.1022586929.15@example.com>
|
||||
|
||||
--
|
||||
It's never too late to have a happy childhood.
|
||||
|
||||
------- =_aaaaaaaaaa0--
|
Loading…
Reference in New Issue