[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Parsing the Injection-Info: header field
On Sun, Jan 10, 2010 at 04:10:03PM +0100, Julien …LIE wrote:
> Hi Antti-Juhani,
> >>I understand that RFC 2045 now extends the syntax of RFC 5322 (instead
> >>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 intent,
> >especially when "those mechanisms are outside of the scope".
> 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 allowed* in
structured field bodies. That means that in such specifications, CFWS was not
included in the grammar, but it still was allowed. What 2822 did was, among
other things, reweite the syntax to make CFWS explicit.
Thus, if we are to believe, as you argue, that all 822-based specifications
(and specifically the MIME specifications) became 2822-based when 2822 was
accepted, then CFWS that was implicitly allowed under 822 rules became suddenly
forbidden (since no CFWS constructs or obs- productions magically appear in old
specs), not just obsolete.
For example, in RFC 2045:
content := "Content-Type" ":" type "/" subtype
Under 822 rules, CFWS is implicitly allowed between all the symbols after ":".
Under 2822 rules, no CFWS is allowed here (even as obsolete syntax), since no
CFWS symbol, or an obs-content symbol, is included in this production (and,
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
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-2822
specs, and trying to say "just use 2822 rules" is doomed to fail. The specs,
and their grammar, need a rewrite.
Antti-Juhani Kaijanaho, Jyvšskylš, Finland