On Thu, 8 Oct 2009 at 15:49, Barry Warsaw wrote:
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.
But it should be recording a couple defects in that case, right?
--David
_______________________________________________
Email-SIG mailing list
Email-SIG@python.org
Your options:
http://mail.python.org/mailman/options/email-sig/archive%40mail-archive.com