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

lib: defer collecting streams when ack'ing empty frames #742

Merged
merged 1 commit into from
Nov 23, 2020

Conversation

LPardue
Copy link
Contributor

@LPardue LPardue commented Nov 23, 2020

When processing ACK frames, quiche collects streams if the conditions
are suitable. Previously, endpoints exchanging 0-length STREAM frames
could confuse things, causing the stream to be collected while still
readable(). Applications that attempted to call stream_recv() would
encounter a InvalidStreamState error.

This change adds a check for is_readable() to the ACK processing, and
a test case to demonstrate the sequence of events that previously
triggered the error.

When processing ACK frames, quiche collects streams if the conditions
are suitable. Previously, endpoints exchanging 0-length STREAM frames
could confuse things, causing the stream to be collected while still
readable(). Applications that attempted to call stream_recv() would
encounter a InvalidStreamState error.

This change adds a check for is_readable() to the ACK processing, and
a test case to demonstrate the sequence of events that previously
triggered the error.
@LPardue LPardue requested a review from a team as a code owner November 23, 2020 10:27
@normanmaurer
Copy link
Contributor

@LPardue thanks a lot!

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

Successfully merging this pull request may close these issues.

3 participants