Message8766
I don't believe this is fixed in 2.1.2 or 2.2, but
haven't checked.
The code in rfc822.Message.readheaders incorrectly
unfolds long message headers. The relevant information
from rfc2822 is in section 2.2.3. In short:
"""
The process of moving from this folded multiple-line
representation of a header field to its single line
representation is called "unfolding". Unfolding is
accomplished by simply removing any CRLF that is
immediately followed by WSP. Each header field should
be treated in its unfolded form for further syntactic
and semantic evaluation.
"""
This means that the code in readheaders:
if headerseen and line[0] in ' \t':
# It's a continuation line.
list.append(line)
x = (self.dict[headerseen] + "\n " +
line.strip())
self.dict[headerseen] = x.strip()
continue
should be:
if headerseen and line[0] in ' \t':
# It's a continuation line.
list.append(line)
x = self.dict[headerseen] + line
self.dict[headerseen] = x.strip()
continue
ie. no stripping of the leading whitespace and no
adding the newline.
|
|
Date |
User |
Action |
Args |
2007-08-23 13:58:41 | admin | link | issue504152 messages |
2007-08-23 13:58:41 | admin | create | |
|