1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 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--
|