On Oct 8, 2009, at 11:09 AM, Stephen J. Turnbull wrote:

Barry Warsaw writes:

from email import message_from_string
with open('/dev/urandom') as wire:
...   data = wire.read(1024)
...

# insert A

msg = message_from_string(data)
# number of headers
... len(msg)
0
len(msg.get_payload())
1024
msg.defects
[]

This actually makes perfect sense.  A message with no headers and a
mass of 1024 bytes in its payload is RFC valid!

If you insert at A

wire = "".join(chr(ord(ch) & 127) for ch in wire)
# optional with reasonably high probability:
wire = wire[0:512] + "\r\n" + wire[512:1024]

or similar.  Otherwise not. ;-)

Right!  That makes it legal.

What's interesting of course is that the parser can (and I submit, still should) handle the stream even without that.

-Barry


Attachment: PGP.sig
Description: This is a digitally signed message part

_______________________________________________
Email-SIG mailing list
[email protected]
Your options: 
http://mail.python.org/mailman/options/email-sig/archive%40mail-archive.com

Reply via email to