don't ignore window updates for unknown streams, see #108

This commit is contained in:
Lucas Clemente
2016-05-17 13:02:53 +02:00
parent d2766cad02
commit 078b563526

View File

@@ -24,7 +24,7 @@ type receivedPacket struct {
var ( var (
errRstStreamOnInvalidStream = errors.New("RST_STREAM received for unknown stream") errRstStreamOnInvalidStream = errors.New("RST_STREAM received for unknown stream")
errWindowUpdateOnInvalidStream = errors.New("WINDOW_UPDATE received for unknown stream") errWindowUpdateOnInvalidStream = qerr.Error(qerr.InvalidWindowUpdateData, "WINDOW_UPDATE received for unknown stream")
errWindowUpdateOnClosedStream = errors.New("WINDOW_UPDATE received for an already closed stream") errWindowUpdateOnClosedStream = errors.New("WINDOW_UPDATE received for an already closed stream")
) )
@@ -173,8 +173,6 @@ func (s *Session) run() {
utils.Errorf("Ignoring error in session: %s", err.Error()) utils.Errorf("Ignoring error in session: %s", err.Error())
// Can happen when we already sent the last StreamFrame with the FinBit, but the client already sent a WindowUpdate for this Stream // Can happen when we already sent the last StreamFrame with the FinBit, but the client already sent a WindowUpdate for this Stream
case errWindowUpdateOnClosedStream: case errWindowUpdateOnClosedStream:
// Can happen when the packet opening the stream was lost.
case errWindowUpdateOnInvalidStream:
default: default:
s.Close(err, true) s.Close(err, true)
} }