[go: nahoru, domu]

Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reject RESET_STREAM and STREAM_DATA_BLOCKED on non-existent streams #1457

Open
martinthomson opened this issue Aug 10, 2023 · 0 comments
Open

Comments

@martinthomson
Copy link
Member

The specification doesn't mention what to do when you receive a RESET_STREAM or STREAM_DATA_BLOCKED frame on a bidirectional stream that you are responsible for creating, but you haven't created it yet.

We should kill the connection if this happens. Otherwise, we are acknowledging frames that make changes to the state of streams. We need to stop ignoring those frames. However, the frame could be a late-arriving frame for a stream that has been discarded, so a little care is needed to distinguish between streams that haven't been created yet from streams that have been closed already.

It also looks like we ignore STREAM frames in the same way, despite the spec being clear on that point. That's at least as bad as ignoring RESET_STREAM.

We might also ignore these frames when they are sent in the wrong direction for unidirectional streams. That would be bad too.

As the specification is not clear about what error code to use, but STREAM_STATE_ERROR seems most appropriate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant