W3C home > Mailing lists > Public > ietf-http-wg@w3.org > October to December 2020

[Technical Errata Reported] RFC7540 (6309)

From: RFC Errata System <rfc-editor@rfc-editor.org>
Date: Sun, 18 Oct 2020 19:05:34 -0700 (PDT)
To: mike@belshe.com, fenix@google.com, martin.thomson@gmail.com, superuser@gmail.com, barryleiba@computer.org, mnot@mnot.net, tpauly@apple.com
Cc: mbishop@evequefou.be, ietf-http-wg@w3.org, rfc-editor@rfc-editor.org
Message-Id: <20201019020534.50446F406F4@rfc-editor.org>
The following errata report has been submitted for RFC7540,
"Hypertext Transfer Protocol Version 2 (HTTP/2)".

You may review the report below and at:

Type: Technical
Reported by: Mike Bishop <mbishop@evequefou.be>

Section: 5.1

Original Text
      Receiving any frame other than HEADERS or PRIORITY on a stream in
      this state MUST be treated as a connection error (Section 5.4.1)
      of type PROTOCOL_ERROR.

...and similar throughout the section

Corrected Text
      Receiving any frame defined in this document other than HEADERS
      or PRIORITY on a stream in
      this state MUST be treated as a connection error (Section 5.4.1)
      of type PROTOCOL_ERROR.  Frames of unknown types are ignored.

Discovered via Chrome's GREASE experiment and discussed on-list, but never filed that I can find.  The HTTP/2 RFC mandates tolerance of any unknown frame type, but also mandates rejection of frames which are not the few listed.  The conservative solution in current deployments is, of course, to restrict sending extension frame types to open (and half-closed (remote)) streams.  The text which should have been in the document to begin with, however, is that only frame types defined in the HTTP/2 specification were to be impacted by that restriction.

This is already stated in section 5.1:

   In the absence of more specific guidance elsewhere in this document,
   implementations SHOULD treat the receipt of a frame that is not
   expressly permitted in the description of a state as a connection
   error (Section 5.4.1) of type PROTOCOL_ERROR.  Note that PRIORITY can
   be sent and received in any stream state.  Frames of unknown types
   are ignored.

However, it's unclear whether the "any frame other than" language is to be construed as "more specific guidance."

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  
can log in to change the status and edit the report, if necessary. 

RFC7540 (draft-ietf-httpbis-http2-17)
Title               : Hypertext Transfer Protocol Version 2 (HTTP/2)
Publication Date    : May 2015
Author(s)           : M. Belshe, R. Peon, M. Thomson, Ed.
Category            : PROPOSED STANDARD
Source              : Hypertext Transfer Protocol Bis APP
Area                : Applications
Stream              : IETF
Verifying Party     : IESG
Received on Monday, 19 October 2020 02:05:52 UTC

This archive was generated by hypermail 2.4.0 : Monday, 19 October 2020 02:05:53 UTC