diff options
author | Lars Wirzenius <liw@iki.fi> | 2006-08-12 14:07:01 +0300 |
---|---|---|
committer | Lars Wirzenius <liw@iki.fi> | 2006-08-12 14:07:01 +0300 |
commit | 747343e09d2930ebc783f9cc657a87877e823fb8 (patch) | |
tree | 5e4766962aa5e5eafb2e6b2f24d7531ade328e99 /eoc.py | |
parent | d7274d7ec9adf3186386a740572615660016f2ea (diff) | |
download | eoc-747343e09d2930ebc783f9cc657a87877e823fb8.tar.gz |
Handle folder headers with colons correctly. Based on patch from Johannes Berg.
Diffstat (limited to 'eoc.py')
-rw-r--r-- | eoc.py | 12 |
1 files changed, 10 insertions, 2 deletions
@@ -850,15 +850,23 @@ class MailingList: return mail headers = mail[:endpos].split("\n") body = mail[endpos:] + + headers_to_remove = [x.lower() for x in headers_to_remove] remaining = [] add_continuation_lines = 0 + for header in headers: - pos = header.find(":") - if pos == -1: + if header[0] in [' ','\t']: + # this is a continuation line if add_continuation_lines: remaining.append(header) else: + pos = header.find(":") + if pos == -1: + # malformed message, try to remove the junk + add_continuation_lines = 0 + continue name = header[:pos].lower() if name in headers_to_remove: add_continuation_lines = 0 |