Re: [Technical Errata Reported] RFC7230 (4189)

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