url: improve connection reuse on negotiate

Check state of negotiate to allow proper connection reuse.

Closes #21203
This commit is contained in:
Stefan Eissing 2026-04-02 11:33:39 +02:00 committed by Daniel Stenberg
parent b27e828b93
commit 33e43985b8
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2

View File

@ -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;
}
}