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.
The text was updated successfully, but these errors were encountered:
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
The
struct dynamically_allocated_data
is stored within theconnectdata
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.The text was updated successfully, but these errors were encountered: