- From: RFC Errata System <rfc-editor@rfc-editor.org>
- Date: Tue, 29 Mar 2016 01:05:10 -0700 (PDT)
- To: mike@belshe.com, fenix@google.com, martin.thomson@gmail.com, barryleiba@computer.org, mnot@mnot.net
- Cc: jingzl@microsoft.com, ietf-http-wg@w3.org, rfc-editor@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:
http://www.rfc-editor.org/errata_search.php?rfc=7540&eid=4645
--------------------------------------
Type: Technical
Reported by: Jessie Liu <jingzl@microsoft.com>
Section: 5.1
Original Text
-------------
idle:
All streams start in the "idle" state.
The following transitions are valid from this state:
* Sending or receiving a HEADERS frame causes the stream to
become "open". The stream identifier is selected as described
in Section 5.1.1. The same HEADERS frame can also cause a
stream to immediately become "half-closed".
* Sending a PUSH_PROMISE frame on another stream reserves the
idle stream that is identified for later use. The stream state
for the reserved stream transitions to "reserved (local)".
* Receiving a PUSH_PROMISE frame on another stream reserves an
idle stream that is identified for later use. The stream state
for the reserved stream transitions to "reserved (remote)".
* Note that the PUSH_PROMISE frame is not sent on the idle stream
but references the newly reserved stream in the Promised Stream
ID field.
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.
Corrected Text
--------------
idle:
All streams start in the "idle" state.
The following transitions are valid from this state:
* Sending or receiving a HEADERS frame causes the stream to
become "open". The stream identifier is selected as described
in Section 5.1.1. The same HEADERS frame can also cause a
stream to immediately become "half-closed".
* Sending a PUSH_PROMISE frame on another stream reserves the
idle stream that is identified for later use. The stream state
for the reserved stream transitions to "reserved (local)".
* Receiving a PUSH_PROMISE frame on another stream reserves an
idle stream that is identified for later use. The stream state
for the reserved stream transitions to "reserved (remote)".
* Note that the PUSH_PROMISE frame is not sent on the idle stream
but references the newly reserved stream in the Promised Stream
ID field.
Receiving any frame other than HEADERS, PUSH_PROMISE or
PRIORITY on a stream in this state MUST be treated as a
connection error (Section 5.4.1) of type PROTOCOL_ERROR.
Notes
-----
According to the description above and the state transformation in Figure 2, a stream in the 'idle' state could receive a PUSH_PROMISE frame.
While in the last statement of Original Text, receiving a PUSH_PROMISE on a stream in 'idle' state is a connection error.
Please fix this inconsistency problem.
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.
--------------------------------------
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 Tuesday, 29 March 2016 08:06:08 UTC