mirror of
https://github.com/curl/curl.git
synced 2026-04-11 12:01:42 +08:00
url: improve connection reuse on negotiate
Check state of negotiate to allow proper connection reuse. Closes #21203
This commit is contained in:
parent
b27e828b93
commit
33e43985b8
12
lib/url.c
12
lib/url.c
@ -1085,11 +1085,17 @@ static bool url_match_auth_ntlm(struct connectdata *conn,
|
||||
if(m->want_ntlm_http) {
|
||||
if(Curl_timestrcmp(m->needle->user, conn->user) ||
|
||||
Curl_timestrcmp(m->needle->passwd, conn->passwd)) {
|
||||
|
||||
/* we prefer a credential match, but this is at least a connection
|
||||
that can be reused and "upgraded" to NTLM */
|
||||
if(conn->http_ntlm_state == NTLMSTATE_NONE)
|
||||
that can be reused and "upgraded" to NTLM if it does
|
||||
not have any auth ongoing. */
|
||||
#ifdef USE_SPNEGO
|
||||
if((conn->http_ntlm_state == NTLMSTATE_NONE)
|
||||
&& (conn->http_negotiate_state == GSS_AUTHNONE)) {
|
||||
#else
|
||||
if(conn->http_ntlm_state == NTLMSTATE_NONE) {
|
||||
#endif
|
||||
m->found = conn;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user