You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When Http2Connection gets a RST_STREAM from the server, it calls Http2Stream.OnResetwhich can call Cancel method under some condition. Further, Cancel method calls CancelResponseBody which demands to send a RST_STREAM back to server if there is an unfinished response. Cancel does this by calling SendReset.
This behavior violates RFC which forbids sending a RST_STREAM in response to a RST_STREAM.
To avoid looping, an endpoint MUST NOT send a RST_STREAM in response to a RST_STREAM frame.
Tagging subscribers to this area: @dotnet/ncl
See info in area-owners.md if you want to be subscribed.
Issue Details
Description
When Http2Connection gets a RST_STREAM from the server, it calls Http2Stream.OnResetwhich can call Cancel method under some condition. Further, Cancel method calls CancelResponseBody which demands to send a RST_STREAM back to server if there is an unfinished response. Cancel does this by calling SendReset.
This behavior violates RFC which forbids sending a RST_STREAM in response to a RST_STREAM.
To avoid looping, an endpoint MUST NOT send a RST_STREAM in response to a RST_STREAM frame.
Description
When
Http2Connection
gets aRST_STREAM
from the server, it callsHttp2Stream.OnReset
which can call Cancel method under some condition. Further,Cancel
method callsCancelResponseBody
which demands to send a RST_STREAM back to server if there is an unfinished response. Cancel does this by callingSendReset
.This behavior violates RFC which forbids sending a
RST_STREAM
in response to aRST_STREAM
.To avoid looping, an endpoint MUST NOT send a RST_STREAM in response to a RST_STREAM frame.
https://httpwg.org/specs/rfc7540.html#StreamErrorHandler
After receiving a RST_STREAM on a stream, the receiver MUST NOT send additional frames for that stream, with the exception of PRIORITY.
https://httpwg.org/specs/rfc7540.html#RST_STREAM
Regression?
The same logic exists in .NET 5.0.
The text was updated successfully, but these errors were encountered: