Re: Parsing the Injection-Info: header field

Antti-Juhani Kaijanaho <[email protected]> Mon, 11 Jan 2010 08:54:07 +0200
Newsgroups gmane.ietf.usenet.format
Message-ID <[email protected]>
On Sun, Jan 10, 2010 at 04:10:03PM +0100, Julien =C9LIE wrote:
>=20
> Hi Antti-Juhani,
>=20
> >>I understand that RFC 2045 now extends the syntax of RFC 5322 (instea=
d
> >>of RFC 822).
> >
> >That interpretation would mean that suddenly CFWS beciame forbidden in=
 MIME
> >constructs when RFC 2822 was published.  I don't think that was the in=
tent,
> >especially when "those mechanisms are outside of the scope".
>=20
> CFWS is not forbidden by RFC 2822/5322.  It just became obsolete syntax=
:

On RFC 822, and in specifications based on it, CFWS is *implicitly allowe=
d* in
structured field bodies.  That means that in such specifications, CFWS wa=
s not
included in the grammar, but it still was allowed.  What 2822 did was, am=
ong
other things, reweite the syntax to make CFWS explicit.

Thus, if we are to believe, as you argue, that all 822-based specificatio=
ns
(and specifically the MIME specifications) became 2822-based when 2822 wa=
s
accepted, then CFWS that was implicitly allowed under 822 rules became su=
ddenly
forbidden (since no CFWS constructs or obs- productions magically appear =
in old
specs), not just obsolete.

For example, in RFC 2045:

     content :=3D "Content-Type" ":" type "/" subtype
                *(";" parameter)

Under 822 rules, CFWS is implicitly allowed between all the symbols after=
 ":".
Under 2822 rules, no CFWS is allowed here (even as obsolete syntax), sinc=
e no
CFWS symbol, or an obs-content symbol, is included in this production (an=
d,
equivalently, in the productions of "type", "subtype" and "parameter").

> 4. Obsolete Syntax

I know; it's also irrelevant here.

> It is normal that an RFC-5322-compliant article does not use obsolete
> syntax.

I don't have a problem with not using obsolete syntax.  My point is that
pre-2822 specs effectively used a different grammar formalism than post-2=
822
specs, and trying to say "just use 2822 rules" is doomed to fail.  The sp=
ecs,
and their grammar, need a rewrite.

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