Home | History | Annotate | Download | only in data
      1 MIME-Version: 1.0
      2 Content-Type: multipart/mixed; boundary="----- =_aaaaaaaaaa0"
      3 
      4 ------- =_aaaaaaaaaa0
      5 Content-Type: multipart/mixed; boundary="----- =_aaaaaaaaaa1"
      6 Content-ID: <20592.1022586929.1 (a] example.com>
      7 
      8 ------- =_aaaaaaaaaa1
      9 Content-Type: multipart/alternative; boundary="----- =_aaaaaaaaaa2"
     10 Content-ID: <20592.1022586929.2 (a] example.com>
     11 
     12 ------- =_aaaaaaaaaa2
     13 Content-Type: text/plain
     14 Content-ID: <20592.1022586929.3 (a] example.com>
     15 Content-Description: very tricky
     16 Content-Transfer-Encoding: 7bit
     17 
     18 
     19 Unlike the test test_nested-multiples-with-internal-boundary, this
     20 piece of text not only contains the outer boundary tags 
     21 ------- =_aaaaaaaaaa1 
     22 and 
     23 ------- =_aaaaaaaaaa0 
     24 but puts them at the start of a line! And, to be even nastier, it
     25 even includes a couple of end tags, such as this one:
     26 
     27 ------- =_aaaaaaaaaa1--
     28 
     29 and this one, which is from a multipart we haven't even seen yet!
     30 
     31 ------- =_aaaaaaaaaa4--
     32 
     33 This will, I'm sure, cause much breakage of MIME parsers. But, as 
     34 far as I can tell, it's perfectly legal. I have not yet ever seen
     35 a case of this in the wild, but I've seen *similar* things.
     36 
     37 
     38 ------- =_aaaaaaaaaa2
     39 Content-Type: application/octet-stream
     40 Content-ID: <20592.1022586929.4 (a] example.com>
     41 Content-Description: patch2
     42 Content-Transfer-Encoding: base64
     43 
     44 XXX
     45 
     46 ------- =_aaaaaaaaaa2--
     47 
     48 ------- =_aaaaaaaaaa1
     49 Content-Type: multipart/alternative; boundary="----- =_aaaaaaaaaa3"
     50 Content-ID: <20592.1022586929.6 (a] example.com>
     51 
     52 ------- =_aaaaaaaaaa3
     53 Content-Type: application/octet-stream
     54 Content-ID: <20592.1022586929.7 (a] example.com>
     55 Content-Description: patch3
     56 Content-Transfer-Encoding: base64
     57 
     58 XXX
     59 
     60 ------- =_aaaaaaaaaa3
     61 Content-Type: application/octet-stream
     62 Content-ID: <20592.1022586929.8 (a] example.com>
     63 Content-Description: patch4
     64 Content-Transfer-Encoding: base64
     65 
     66 XXX
     67 
     68 ------- =_aaaaaaaaaa3--
     69 
     70 ------- =_aaaaaaaaaa1
     71 Content-Type: multipart/alternative; boundary="----- =_aaaaaaaaaa4"
     72 Content-ID: <20592.1022586929.10 (a] example.com>
     73 
     74 ------- =_aaaaaaaaaa4
     75 Content-Type: application/octet-stream
     76 Content-ID: <20592.1022586929.11 (a] example.com>
     77 Content-Description: patch5
     78 Content-Transfer-Encoding: base64
     79 
     80 XXX
     81 
     82 ------- =_aaaaaaaaaa4
     83 Content-Type: application/octet-stream
     84 Content-ID: <20592.1022586929.12 (a] example.com>
     85 Content-Description: patch6
     86 Content-Transfer-Encoding: base64
     87 
     88 XXX
     89 
     90 ------- =_aaaaaaaaaa4--
     91 
     92 ------- =_aaaaaaaaaa1--
     93 
     94 ------- =_aaaaaaaaaa0
     95 Content-Type: text/plain; charset="us-ascii"
     96 Content-ID: <20592.1022586929.15 (a] example.com>
     97 
     98 --
     99 It's never too late to have a happy childhood.
    100 
    101 ------- =_aaaaaaaaaa0--
    102