mirror of
https://github.com/curl/curl.git
synced 2026-04-14 18:01:41 +03:00
http: fix auth_used and auth_avail
Fix http auth to set the `picked` auth when sending the corresponding headers. Fix reporting Digest as avail. Fixes #21274 Reported-by: sergio-nsk on github Closes #21284
This commit is contained in:
parent
a483128b01
commit
afdd8f1290
1 changed files with 13 additions and 2 deletions
15
lib/http.c
15
lib/http.c
|
|
@ -723,6 +723,10 @@ static CURLcode output_auth_headers(struct Curl_easy *data,
|
|||
|
||||
if(auth) {
|
||||
#ifndef CURL_DISABLE_PROXY
|
||||
if(proxy)
|
||||
data->info.proxyauthpicked = authstatus->picked;
|
||||
else
|
||||
data->info.httpauthpicked = authstatus->picked;
|
||||
infof(data, "%s auth using %s with user '%s'",
|
||||
proxy ? "Proxy" : "Server", auth,
|
||||
proxy ? (data->state.aptr.proxyuser ?
|
||||
|
|
@ -737,8 +741,13 @@ static CURLcode output_auth_headers(struct Curl_easy *data,
|
|||
#endif
|
||||
authstatus->multipass = !authstatus->done;
|
||||
}
|
||||
else
|
||||
else {
|
||||
authstatus->multipass = FALSE;
|
||||
if(proxy)
|
||||
data->info.proxyauthpicked = 0;
|
||||
else
|
||||
data->info.httpauthpicked = 0;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
|
@ -945,8 +954,10 @@ static CURLcode auth_digest(struct Curl_easy *data,
|
|||
struct auth *authp,
|
||||
uint32_t *availp)
|
||||
{
|
||||
if(authp->avail & CURLAUTH_DIGEST)
|
||||
if(authp->avail & CURLAUTH_DIGEST) {
|
||||
*availp |= CURLAUTH_DIGEST;
|
||||
infof(data, "Ignoring duplicate digest auth header.");
|
||||
}
|
||||
else if(Curl_auth_is_digest_supported()) {
|
||||
CURLcode result;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue