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

HTTP header fields stored per connection causes problems #5566

Closed
bagder opened this issue Jun 15, 2020 · 0 comments
Closed

HTTP header fields stored per connection causes problems #5566

bagder opened this issue Jun 15, 2020 · 0 comments
Assignees

Comments

@bagder
Copy link
Member

bagder commented Jun 15, 2020

The struct dynamically_allocated_data is stored within the connectdata struct. That data is then used per connection, while all the data in that struct is actually per request. A mistake.

This causes (occasional) problems for multiplexed requests as then the same connection is used for multiple (independent) requests that could have a different setup of that data.

Solution: move that data to the per-request struct held in the Curl_easy struct.

@bagder bagder self-assigned this Jun 15, 2020
@bagder bagder added HTTP/2 HTTP/3 h3 or quic related labels Jun 15, 2020
bagder added a commit that referenced this issue Jun 15, 2020
Since the connection can be used by many independent requests (using
HTTP/2 or HTTP/3), things like user-agent and other transfer-specific
data MUST NOT be kept connection oriented as it could lead to requests
getting the wrong string for their requests. This struct data was
lingering like this due to old HTTP1 legacy thinking where it didn't
mattered..

Fixes #5566
@bagder bagder closed this as completed in e15e513 Jun 15, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging a pull request may close this issue.

1 participant