x/net/http2: does not conform to RFC strictly #16046
I builded a HTTP2 Server Demo by x/net/http2 of Golang and found some behaviors that does not conform to RFC7540 strictly. I’d like to separate it into four categories: Wrong ErrorCode, Wrong ErrorType, WrongFrame and Ignoring.
all case code can be found from here.
The text was updated successfully, but these errors were encountered:
Per RFC 7540, section 5.1 discussing the "idle" state: "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."x Updates golang/go#16046 Change-Id: Ie0696059e76a092e483aea5ee017d9729339d309 Reviewed-on: https://go-review.googlesource.com/31736 Run-TryBot: Brad Fitzpatrick <email@example.com> TryBot-Result: Gobot Gobot <firstname.lastname@example.org> Reviewed-by: Ian Lance Taylor <email@example.com>
Fix spec bug: Section 5.3.1 says that self-dependencies should be treated as a stream error of type PROTOCOL_ERROR. Updates golang/go#16046 Change-Id: I8b5dc8808943dc96aac0c543c7032fa989ab9e0b Reviewed-on: https://go-review.googlesource.com/31858 Reviewed-by: Brad Fitzpatrick <firstname.lastname@example.org> Run-TryBot: Brad Fitzpatrick <email@example.com> TryBot-Result: Gobot Gobot <firstname.lastname@example.org>
But the spec on HEADERS says otherwise, which we implement:
In any case, please file a separate bug about this. Many small, independent bugs are easier than one big bug.
Fixed by 41c5c5cb12965112d2e298342c73e6b3e045a14a
Hmm, the GFE does it the way we do. As long as we reject it, it seems
Fixed by 65dfc08770ce66f74becfdff5f8ab01caef4e946
I'm going to close this bug for now.
Please file separate bugs for anything else you find. Again, I'd prefer many small bugs instead of 1 big bug with separate issues.