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

h2: stream error improvements #6910

Closed
wants to merge 4 commits into from
Closed

h2: stream error improvements #6910

wants to merge 4 commits into from

Conversation

bagder
Copy link
Member

@bagder bagder commented Apr 18, 2021

  1. move the stream error field to the per-transfer storage
  2. call the handle-closed function correctly on closed stream

@bagder bagder added the HTTP/2 label Apr 18, 2021
@bagder

This comment has been minimized.

This was this one condition where the stream could be closed due to an
error and the function would still wrongly just return 0 for it.

Reported-by: Gergely Nagy
Fixes #6862
Closes #6910
Storing a stream error in the per-connection struct was an error that lead to
race conditions as subsequent stream handling could overwrite the error code
before it was used for the stream with the actual problem.

Closes #6910
@bagder bagder changed the title transfer/readwrite_data: bail out the read loop when the h2 stream ends h2: stream error improvements Apr 19, 2021
The ConnectionExists() function will note that the new transfer wants
less then h2 and that it can't multiplex it and therefor opt to open a
new connection instead.
... for situations when multiplexing isn't enabled on the h2 connection
and h1 is explicitly requested for the transfer.

Assisted-by: Gergely Nagy
@bagder bagder closed this in 252790c Apr 21, 2021
bagder added a commit that referenced this pull request Apr 21, 2021
Storing a stream error in the per-connection struct was an error that lead to
race conditions as subsequent stream handling could overwrite the error code
before it was used for the stream with the actual problem.

Closes #6910
@bagder bagder deleted the bagder/h1-reuse-not-h2 branch July 30, 2021 14:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

Successfully merging this pull request may close these issues.

Connection is retried via HTTP/2 after HTTP_1_1_REQUIRED is received in some cases
1 participant