[Python-Dev] Parameters in message headers
Gustavo Niemeyer
niemeyer@conectiva.com
Sun, 7 Apr 2002 18:49:57 -0300
Hi Barry!
I've had some problems with messages which doesn't follow the RFC when
regarding to parameter building. More specificaly, I've found the
following header in a message (in one line):
Content-Type: multipart/mixed;
boundary = b71528a4d486932a8bdd3c50d1048d7c7
This breaks the email package because, following the RFC, there should be no
spaces surrounding the "=" symbol, and the Message class, as expected, breaks
this spliting in "=". OTOH, the RFC defines parameters as follows:
parameter := attribute "=" value
attribute := token
; Matching of attributes
; is ALWAYS case-insensitive.
value := token / quoted-string
token := 1*<any (US-ASCII) CHAR except SPACE, CTLs,
or tspecials>
So, there's no chance of finding a space surrounding "=", unless the parameter
is not written as defined in the RFC. Thus, it's safe to strip the name and
value fields.
If you choose to keep following the RFC strictly, I'll understand. OTOH,
parsing bad written headers safely would be nice as well. I can send a patch,
if necessary.
Thanks!
--
Gustavo Niemeyer
[ 2AAC 7928 0FBF 0299 5EB5 60E2 2253 B29A 6664 3A0C ]