Re: Issue in ABNF syntax for the User-Agent: header

Julien ÉLIE <[email protected]> Tue, 3 Nov 2009 18:31:42 +0100
Newsgroups gmane.ietf.usenet.format
Organization TrigoFACILE -- http://www.trigofacile.com/
Message-ID <4BDD33BEF50E446384BA00E80CC09722@Iulius>
Hi Antti-Juhani,

>> I read in USEFOR:
>>
>>   user-agent      =  "User-Agent:" SP 1*product [CFWS] CRLF
>>   product         =  [CFWS] token [ [CFWS] "/" product-version ]
>>   product-version =  [CFWS] token
>>
>> and in RFC 2045:
>>
>>     token := 1*<any (US-ASCII) CHAR except SPACE, CTLs,
>>                 or tspecials>
>>
>>     tspecials :=  "(" / ")" / "<" / ">" / "@" /
>>                   "," / ";" / ":" / "\" / <"> /
>>                   "/" / "[" / "]" / "?" / "="
>>                   ; Must be in quoted-string,
>>                   ; to use within parameter values
>>
>>
>> However, a quick "HDR User-Agent -" on news.software.nntp gives at least:
>>
>> 7710 Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)
>> 7704 slrn/pre1.0.0-15 (Linux)
>> 7660 tin/1.9.5-20091003 ("Rieclachan") (UNIX) (Linux/2.6.24-24-generic (i686))
>> 7659 Thunderbird 2.0.0.23 (Windows/20090812)
>> 7600 MacSOUP/2.8.2 (Mac OS X version 10.5.8 (x86))
>> 7594 Turnpike/6.07-M (<wztiu2+cqs7vk6mlt6f268lB5p>)
>> 7587 Pan/0.133 (House of Butterflies)
>>
>> All of them are not USEFOR-compliant!
>
> In any case, as far as I can seem they all comply.  Can you explain in more
> detail why you think they don't?

Because a parenthesis, for instance "(", is NOT allowed in a token.

I believe USEFOR should introduce the notion of a comment here (which allows
such a construction, as RFC 2626 does), besides the product.

-- 
Julien ÉLIE

« La différence entre un chanteur et une paire de chaussures est que le chanteur
  doit partir avant de lasser. La paire de chaussures, il vaut mieux les lacer
  avant de partir. » (Philippe Geluck)