]> Cypherpunks repositories - gostls13.git/commitdiff
net/http: update bundled http2
authorBrad Fitzpatrick <bradfitz@golang.org>
Wed, 23 Jan 2019 20:35:37 +0000 (20:35 +0000)
committerBrad Fitzpatrick <bradfitz@golang.org>
Wed, 23 Jan 2019 21:33:28 +0000 (21:33 +0000)
Updates bundled http2 to x/net git rev ed066c81e7 for:

    http2: Revert a closed stream cannot receive data
    https://golang.org/cl/153977

Updates golang/go#28204

Change-Id: I0a489e4e8a581a107970199f64f0fa9281982efe
Reviewed-on: https://go-review.googlesource.com/c/159179
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
src/net/http/h2_bundle.go

index 676eebdfdf9e09f88dd36a199c61629d1ee3575f..f714cbb9a138d78ba68dd451a595556a6fcb2787 100644 (file)
@@ -4852,7 +4852,7 @@ func (sc *http2serverConn) resetStream(se http2StreamError) {
 
 // processFrameFromReader processes the serve loop's read from readFrameCh from the
 // frame-reading goroutine.
-// processFrameFromReader reports whether the connection should be kept open.
+// processFrameFromReader returns whether the connection should be kept open.
 func (sc *http2serverConn) processFrameFromReader(res http2readFrameResult) bool {
        sc.serveG.check()
        err := res.err
@@ -5157,12 +5157,6 @@ func (sc *http2serverConn) processData(f *http2DataFrame) error {
                // type PROTOCOL_ERROR."
                return http2ConnectionError(http2ErrCodeProtocol)
        }
-       // RFC 7540, sec 6.1: If a DATA frame is received whose stream is not in
-       // "open" or "half-closed (local)" state, the recipient MUST respond with a
-       // stream error (Section 5.4.2) of type STREAM_CLOSED.
-       if state == http2stateClosed {
-               return http2streamError(id, http2ErrCodeStreamClosed)
-       }
        if st == nil || state != http2stateOpen || st.gotTrailerHeader || st.resetQueued {
                // This includes sending a RST_STREAM if the stream is
                // in stateHalfClosedLocal (which currently means that