- From: Kannan Goundan <kannan@cakoose.com>
- Date: Wed, 04 May 2016 07:38:54 +0000
- To: Julian Reschke <julian.reschke@greenbytes.de>
- Cc: RFC Errata System <rfc-editor@rfc-editor.org>, fielding@gbiv.com, ylafon@w3.org, ben@nostrum.com, alissa@cooperw.in, aamelnikov@fastmail.fm, mnot@mnot.net, ietf-http-wg@w3.org
- Message-Id: <CAM7aVoVqOxKy48CFj73NJ=S7A87So1Fq25HgmXHQECaoQM5q5Q@mail.gmail.com>
My mistake again, sorry! It looks like I used the first definition of "1#element", intended for producers, instead of the second definition, intended for consumers. On Tue, May 3, 2016 at 11:51 PM, Julian Reschke <julian.reschke@greenbytes.de <mailto:julian.reschke@greenbytes.de>> wrote: On 2016-05-04 00:41, RFC Errata System wrote: The following errata report has been submitted for RFC7233, "Hypertext Transfer Protocol (HTTP/1.1): Range Requests". -------------------------------------- You may review the report below and at: http://www.rfc-editor.org/errata_search.php?rfc=7233&eid=4682 <http://www.rfc-editor.org/errata_search.php?rfc=7233&eid=4682> -------------------------------------- Type: Technical Reported by: Kannan Goundan <kannan@cakoose.com <mailto:kannan@cakoose.com>> Section: 2.1 Original Text ------------- byte-range-set= 1#( byte-range-spec / suffix-byte-range-spec ) Corrected Text -------------- According to the "1#element" rule, the expansion would be: byte-range-set = ( byte-range-spec / suffix-byte-range-spec ) *( OWS "," OWS ( byte-range-spec / suffix-byte-range-spec ) ) But Appendix D has the definition: byte-range-set = *( "," OWS ) ( byte-range-spec / suffix-byte-range-spec ) *( OWS "," [ OWS ( byte-range-spec / suffix-byte-range-spec ) ] ) Notes ----- This is a followup to my original report: <http://www.rfc-editor.org/errata_search.php?rfc=7233&eid=4681 <http://www.rfc-editor.org/errata_search.php?rfc=7233&eid=4681>> My original report was incorrect because I didn't notice the difference between "1*element" and "1#element". Thanks to Julian Reschke for pointing this out to me. After looking up the "1#element" rule <https://tools.ietf.org/html/rfc7230#section-7 <https://tools.ietf.org/html/rfc7230#section-7>>, it looks like Section 2.1 and Appendix D are more similar, but not exactly equivalent. The Appendix D version of the rule seems to allow extra commas and OWS. I'm trying to write strict parsing code for this header and am not sure which definition to follow. P.S. I hope I didn't screw up again. I apologize for wasting your time (again) if I did. As far as I can tell, this expansion is exactly as defined in <https://greenbytes.de/tech/webdav/rfc7230.html#rfc.section.7.p.3 <https://greenbytes.de/tech/webdav/rfc7230.html#rfc.section.7.p.3>>: For compatibility with legacy list rules, a recipient MUST parse and ignore a reasonable number of empty list elements: enough to handle common mistakes by senders that merge values, but not so much that they could be used as a denial-of-service mechanism. In other words, a recipient MUST accept lists that satisfy the following syntax: #element => [ ( "," / element ) *( OWS "," [ OWS element ] ) ] 1#element => *( "," OWS ) element *( OWS "," [ OWS element ] ) Best regards, Julian
Received on Wednesday, 4 May 2016 08:46:55 UTC