mirror of
https://github.com/curl/curl.git
synced 2025-04-18 16:30:45 +08:00
url: only reuse connections with same GSS delegation
Reported-by: Harry Sintonen Closes #10731
This commit is contained in:
parent
b725fe1944
commit
cb49e67303
@ -1279,6 +1279,11 @@ ConnectionExists(struct Curl_easy *data,
|
||||
}
|
||||
}
|
||||
|
||||
/* GSS delegation differences do not actually affect every connection
|
||||
and auth method, but this check takes precaution before efficiency */
|
||||
if(needle->gssapi_delegation != check->gssapi_delegation)
|
||||
continue;
|
||||
|
||||
/* If multiplexing isn't enabled on the h2 connection and h1 is
|
||||
explicitly requested, handle it: */
|
||||
if((needle->handler->protocol & PROTO_FAMILY_HTTP) &&
|
||||
@ -1573,6 +1578,7 @@ static struct connectdata *allocate_conn(struct Curl_easy *data)
|
||||
conn->fclosesocket = data->set.fclosesocket;
|
||||
conn->closesocket_client = data->set.closesocket_client;
|
||||
conn->lastused = Curl_now(); /* used now */
|
||||
conn->gssapi_delegation = data->set.gssapi_delegation;
|
||||
|
||||
return conn;
|
||||
error:
|
||||
|
@ -1061,6 +1061,7 @@ struct connectdata {
|
||||
unsigned char ip_version; /* copied from the Curl_easy at creation time */
|
||||
unsigned char httpversion; /* the HTTP version*10 reported by the server */
|
||||
unsigned char connect_only;
|
||||
unsigned char gssapi_delegation; /* inherited from set.gssapi_delegation */
|
||||
};
|
||||
|
||||
/* The end of connectdata. */
|
||||
|
Loading…
x
Reference in New Issue
Block a user