- From: Roy T. Fielding <fielding@gbiv.com>
- Date: Fri, 6 Feb 2015 14:32:30 -0800
- To: Barry Leiba <barryleiba@computer.org>
- Cc: Julian Reschke <julian.reschke@greenbytes.de>, RFC Errata System <rfc-editor@rfc-editor.org>, Pete Resnick <presnick@qti.qualcomm.com>, Mark Nottingham <mnot@mnot.net>, simon.schueppel@googlemail.com, HTTP Working Group <ietf-http-wg@w3.org>
On Feb 6, 2015, at 6:28 AM, Barry Leiba wrote:
> On Thu, Nov 27, 2014 at 2:20 AM, Julian Reschke <julian.reschke@greenbytes.de> wrote:
>> On 2014-11-26 20:56, RFC Errata System wrote:
>>>
>>> The following errata report has been submitted for RFC7230,
>>> "Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing".
>>>
>>> --------------------------------------
>>> You may review the report below and at:
>>> http://www.rfc-editor.org/errata_search.php?rfc=7230&eid=4189
>>>
>>> --------------------------------------
>>> Type: Technical
>>> Reported by: Simon Schueppel <simon.schueppel@googlemail.com>
>>>
>>> Section: 3.2
>>>
>>> Original Text
>>> -------------
>>> header-field = field-name ":" OWS field-value OWS
>>>
>>> field-name = token
>>> field-value = *( field-content / obs-fold )
>>> field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]
>>> field-vchar = VCHAR / obs-text
>>>
>>> obs-fold = CRLF 1*( SP / HTAB )
>>> ; obsolete line folding
>>> ; see Section 3.2.4
>>>
>>> Corrected Text
>>> --------------
>>> header-field = field-name ":" FWS field-value FWS
>>>
>>> field-name = token
>>> FWS = field-ows
>>> field-value = [ field-vchar *( field-ows field-vchar ) ]
>>> field-vchar = VCHAR / obs-text
>>> field-ows = *( SP / HTAB ) *obs-fold
>>>
>>> obs-fold = CRLF 1*( SP / HTAB )
>>> ; obsolete line folding
>>> ; see Section 3.2.4
>>>
>>> Notes
>>> -----
>>> the field-value rule given in Section 3.2 will not recognize several
>>> strings recognized by specific header rules.
>>>
>>> Examples:
>>> - ", , ," recognized by legacy list rule
>>> - "abrowser/0.001 (C O M M E N T)" recognized by User-Agent rule
>>> - "gzip , chunked" recognized by Transfer-Encoding rule
>>> - etc.
>>>
>>> General Problem:
>>> the specified field-value rule does not allow single field-vchar
>>> surrounded by whitespace anywhere
>>>
>>> Further Notes:
>>> -what the authors propably wanted to say:
>>> a string of octets is a field-value if, and only if:
>>> -it is *( field-vchar / SP / HTAB / obs-fold )
>>> -if it is not empty, it starts and ends with field-vchar
>>>
>>> -the suggested correction was designed according to these criteria
>>>
>>> Instructions:
>>> -------------
>>> This erratum is currently posted as "Reported". If necessary, please
>>> use "Reply All" to discuss whether it should be verified or
>>> rejected. When a decision is reached, the verifying party (IESG)
>>> can log in to change the status and edit the report, if necessary.
>>>
>>> --------------------------------------
>>> RFC7230 (draft-ietf-httpbis-p1-messaging-26)
>>> --------------------------------------
>>> Title : Hypertext Transfer Protocol (HTTP/1.1): Message
>>> Syntax and Routing
>>> Publication Date : June 2014
>>> Author(s) : R. Fielding, Ed., J. Reschke, Ed.
>>> Category : PROPOSED STANDARD
>>> Source : Hypertext Transfer Protocol Bis
>>> Area : Applications
>>> Stream : IETF
>>> Verifying Party : IESG
>> Hi there,
>>
>> I agree that there is indeed a problem ("the specified field-value rule does
>> not allow single field-vchar surrounded by whitespace anywhere.
>>
>> I'm however not sure that the proposed fix is what we want. In particular,
>> it's not clear why we need to modify the header-field production at all.
>>
>> Best regards, Julian
>>
> I should do something with this errata report; can you give me more
> input? If it's indeed a problem, can the report be edited
> appropriately and marked "Verified"? If so, please tell me what the
> edit should be. If not, give me some explanation that I can put in
> for marking it "Held for Document Update".
>
> Barry
I looked at this originally and thought it made sense, but figured
I would have to check carefully first before responding ... and
then lost it.
It should be verified as technical, but (like Julian) I think the
fix should be limited to field-content and obs-fold:
Section: 3.2
Original Text
-------------
field-name = token
field-value = *( field-content / obs-fold )
field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]
field-vchar = VCHAR / obs-text
obs-fold = CRLF 1*( SP / HTAB )
; obsolete line folding
; see Section 3.2.4
Corrected Text
--------------
field-name = token
field-value = *( field-content / obs-fold )
field-content = field-vchar [ 1*( SP / HTAB / field-vchar ) field-vchar ]
field-vchar = VCHAR / obs-text
obs-fold = OWS CRLF RWS
; obsolete line folding
; see Section 3.2.4
This fixes the problem examples and keeps obs-fold separate from field-content.
It would be best if some other folks could confirm the above before making
the errata official.
....Roy
Received on Friday, 6 February 2015 22:32:52 UTC