Re: Parsing the Injection-Info: header field

Antti-Juhani Kaijanaho <[email protected]> Sat, 9 Jan 2010 09:31:19 +0200
Newsgroups gmane.ietf.usenet.format
Message-ID <[email protected]>
On Sat, Jan 09, 2010 at 12:21:42AM +0100, Julien =C9LIE wrote:
>=20
> Hi,
>=20
> I follow a discussion that was initiated in news.software.nntp:
>=20
>    http://groups.google.fr/group/news.software.nntp/browse_frm/thread/c=
704d0859dd84d38
>    <news:[email protected]>
>=20
>=20
> According to Section 3.2.8 of RFC 5536:
>=20
>=20
>   injection-info  =3D  "Injection-Info:" SP [CFWS] path-identity
>                      [CFWS] *( ";" [CFWS] parameter ) [CFWS] CRLF
>=20
>      NOTE: The syntax of <parameter> (Section 5.1 of [RFC2045], as
>      amended by [RFC2231]), taken in conjunction with the folding rules
>      of [RFC0822] (note: not [RFC2822] or [RFC5322]), effectively
>      allows [CFWS] to occur on either side of the "=3D" inside a
>      <parameter>.
>=20
>=20
> I do not understand well that point.
> Does it mean that CFWS is allowed both before and after the "=3D"?

I believe so, yes.

> Why should RFC 822 be followed here?

This is how I understand it:

Because RFC 2231 is what defines <parameter>, and RFC 2231 is written in =
the
context of RFC 822 ABNF, not RFC 5322 (or RFC 2822) ABNF.  Thus, the impl=
icit
CFWS semantics of RFC 822 must be applied to the definition of <parameter=
>,
even though the rest of RFC 5536 follows RFC 5322 in not having implicit =
CFWS.

I suspect the same note applies to all other nonterminals imported from t=
he
MIME specs (token, value, attribute).

This confusion is caused by that the MIME specs have not (yet?) been upda=
ted to
match RFC 5322.  The yam (Yet Another Mail) working group is, AFAICT, the=
 place
where any decision to do that would be initially made.

> And why doesn't RFC 5322 mention that?

Why would it?

> So it shows that a space is allowed before "=3D".
> Isn't it a difference with RFC 5322 that ought to be mentioned in appen=
dix C?

What difference is that?  RFC 5322 does not define <parameter>.

--=20
Antti-Juhani Kaijanaho, Jyv=E4skyl=E4, Finland
http://antti-juhani.kaijanaho.fi/newblog/
http://www.flickr.com/photos/antti-juhani/