Commit 827f2acc authored by Brad Fitzpatrick's avatar Brad Fitzpatrick

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: default avatarDavid Crawshaw <crawshaw@golang.org>
parent 627f4d85
...@@ -3957,7 +3957,7 @@ func (sc *http2serverConn) processPing(f *http2PingFrame) error { ...@@ -3957,7 +3957,7 @@ func (sc *http2serverConn) processPing(f *http2PingFrame) error {
return http2ConnectionError(http2ErrCodeProtocol) return http2ConnectionError(http2ErrCodeProtocol)
} }
if sc.inGoAway { if sc.inGoAway && sc.goAwayCode != http2ErrCodeNo {
return nil return nil
} }
sc.writeFrame(http2FrameWriteRequest{write: http2writePingAck{f}}) sc.writeFrame(http2FrameWriteRequest{write: http2writePingAck{f}})
...@@ -3966,9 +3966,6 @@ func (sc *http2serverConn) processPing(f *http2PingFrame) error { ...@@ -3966,9 +3966,6 @@ func (sc *http2serverConn) processPing(f *http2PingFrame) error {
func (sc *http2serverConn) processWindowUpdate(f *http2WindowUpdateFrame) error { func (sc *http2serverConn) processWindowUpdate(f *http2WindowUpdateFrame) error {
sc.serveG.check() sc.serveG.check()
if sc.inGoAway {
return nil
}
switch { switch {
case f.StreamID != 0: case f.StreamID != 0:
state, st := sc.state(f.StreamID) state, st := sc.state(f.StreamID)
...@@ -3994,9 +3991,6 @@ func (sc *http2serverConn) processWindowUpdate(f *http2WindowUpdateFrame) error ...@@ -3994,9 +3991,6 @@ func (sc *http2serverConn) processWindowUpdate(f *http2WindowUpdateFrame) error
func (sc *http2serverConn) processResetStream(f *http2RSTStreamFrame) error { func (sc *http2serverConn) processResetStream(f *http2RSTStreamFrame) error {
sc.serveG.check() sc.serveG.check()
if sc.inGoAway {
return nil
}
state, st := sc.state(f.StreamID) state, st := sc.state(f.StreamID)
if state == http2stateIdle { if state == http2stateIdle {
...@@ -4049,9 +4043,6 @@ func (sc *http2serverConn) processSettings(f *http2SettingsFrame) error { ...@@ -4049,9 +4043,6 @@ func (sc *http2serverConn) processSettings(f *http2SettingsFrame) error {
} }
return nil return nil
} }
if sc.inGoAway {
return nil
}
if err := f.ForeachSetting(sc.processSetting); err != nil { if err := f.ForeachSetting(sc.processSetting); err != nil {
return err return err
} }
...@@ -4108,7 +4099,7 @@ func (sc *http2serverConn) processSettingInitialWindowSize(val uint32) error { ...@@ -4108,7 +4099,7 @@ func (sc *http2serverConn) processSettingInitialWindowSize(val uint32) error {
func (sc *http2serverConn) processData(f *http2DataFrame) error { func (sc *http2serverConn) processData(f *http2DataFrame) error {
sc.serveG.check() sc.serveG.check()
if sc.inGoAway { if sc.inGoAway && sc.goAwayCode != http2ErrCodeNo {
return nil return nil
} }
data := f.Data() data := f.Data()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment