aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBrad Fitzpatrick <bradfitz@golang.org>2016-11-03 00:44:16 +0000
committerBrad Fitzpatrick <bradfitz@golang.org>2016-11-03 00:53:52 +0000
commit827f2accc1a25b77003303d3c35db5fc054bf8f1 (patch)
treea4ab4eaca2378f2bece444ced0fdcccf16ee750d /src
parent627f4d85ba4fa71e5af11ee047ba42196cea1f2c (diff)
downloadgo-827f2accc1a25b77003303d3c35db5fc054bf8f1.tar.xz
net/http: update bundled http2 to fix test flake
Updates http2 to x/net/http2 git rev 569280fa for: http2: fix over-aggressive ignoring of frames while in "go away" mode https://golang.org/cl/32583 Fixes #17733 Change-Id: I4008d2e14ce89782ce7e18b441b1181f98623b9d Reviewed-on: https://go-review.googlesource.com/32584 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: David Crawshaw <crawshaw@golang.org>
Diffstat (limited to 'src')
-rw-r--r--src/net/http/h2_bundle.go13
1 files changed, 2 insertions, 11 deletions
diff --git a/src/net/http/h2_bundle.go b/src/net/http/h2_bundle.go
index 71f511723a..6367d20aac 100644
--- a/src/net/http/h2_bundle.go
+++ b/src/net/http/h2_bundle.go
@@ -3957,7 +3957,7 @@ func (sc *http2serverConn) processPing(f *http2PingFrame) error {
return http2ConnectionError(http2ErrCodeProtocol)
}
- if sc.inGoAway {
+ if sc.inGoAway && sc.goAwayCode != http2ErrCodeNo {
return nil
}
sc.writeFrame(http2FrameWriteRequest{write: http2writePingAck{f}})
@@ -3966,9 +3966,6 @@ func (sc *http2serverConn) processPing(f *http2PingFrame) error {
func (sc *http2serverConn) processWindowUpdate(f *http2WindowUpdateFrame) error {
sc.serveG.check()
- if sc.inGoAway {
- return nil
- }
switch {
case f.StreamID != 0:
state, st := sc.state(f.StreamID)
@@ -3994,9 +3991,6 @@ func (sc *http2serverConn) processWindowUpdate(f *http2WindowUpdateFrame) error
func (sc *http2serverConn) processResetStream(f *http2RSTStreamFrame) error {
sc.serveG.check()
- if sc.inGoAway {
- return nil
- }
state, st := sc.state(f.StreamID)
if state == http2stateIdle {
@@ -4049,9 +4043,6 @@ func (sc *http2serverConn) processSettings(f *http2SettingsFrame) error {
}
return nil
}
- if sc.inGoAway {
- return nil
- }
if err := f.ForeachSetting(sc.processSetting); err != nil {
return err
}
@@ -4108,7 +4099,7 @@ func (sc *http2serverConn) processSettingInitialWindowSize(val uint32) error {
func (sc *http2serverConn) processData(f *http2DataFrame) error {
sc.serveG.check()
- if sc.inGoAway {
+ if sc.inGoAway && sc.goAwayCode != http2ErrCodeNo {
return nil
}
data := f.Data()