File tree 2 files changed +3
-6
lines changed 2 files changed +3
-6
lines changed Original file line number Diff line number Diff line change @@ -1594,12 +1594,6 @@ func (sc *serverConn) processData(f *DataFrame) error {
1594
1594
// type PROTOCOL_ERROR."
1595
1595
return ConnectionError (ErrCodeProtocol )
1596
1596
}
1597
- // RFC 7540, sec 6.1: If a DATA frame is received whose stream is not in
1598
- // "open" or "half-closed (local)" state, the recipient MUST respond with a
1599
- // stream error (Section 5.4.2) of type STREAM_CLOSED.
1600
- if state == stateClosed {
1601
- return streamError (id , ErrCodeStreamClosed )
1602
- }
1603
1597
if st == nil || state != stateOpen || st .gotTrailerHeader || st .resetQueued {
1604
1598
// This includes sending a RST_STREAM if the stream is
1605
1599
// in stateHalfClosedLocal (which currently means that
Original file line number Diff line number Diff line change @@ -2361,6 +2361,9 @@ func TestServer_NoCrash_HandlerClose_Then_ClientClose(t *testing.T) {
2361
2361
// it did before.
2362
2362
st .writeData (1 , true , []byte ("foo" ))
2363
2363
2364
+ // Get our flow control bytes back, since the handler didn't get them.
2365
+ st .wantWindowUpdate (0 , uint32 (len ("foo" )))
2366
+
2364
2367
// Sent after a peer sends data anyway (admittedly the
2365
2368
// previous RST_STREAM might've still been in-flight),
2366
2369
// but they'll get the more friendly 'cancel' code
You can’t perform that action at this time.
0 commit comments