Skip to content
Snippets Groups Projects
Commit 1d977b78 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

When basic is the only auth wanted (which it is by default), the auth phase

is always considered done immediately as Basic needs to extra passes.

This fix corrects bug report #848371.
parent b3803903
No related branches found
No related tags found
No related merge requests found
......@@ -227,13 +227,15 @@ CURLcode http_auth_headers(struct connectdata *conn,
}
else
#endif
if((data->state.authwant == CURLAUTH_BASIC) && /* Basic */
conn->bits.proxy_user_passwd &&
!checkheaders(data, "Proxy-authorization:")) {
auth=(char *)"Basic";
result = Curl_output_basic_proxy(conn);
if(result)
return result;
if(data->state.authwant == CURLAUTH_BASIC) {
/* Basic */
if(conn->bits.proxy_user_passwd &&
!checkheaders(data, "Proxy-authorization:")) {
auth=(char *)"Basic";
result = Curl_output_basic_proxy(conn);
if(result)
return result;
}
*ready = TRUE;
/* Switch to web authentication after proxy authentication is done */
Curl_http_auth_stage(data, 401);
......@@ -276,13 +278,15 @@ CURLcode http_auth_headers(struct connectdata *conn,
return result;
*ready = TRUE;
}
else if((data->state.authwant == CURLAUTH_BASIC) && /* Basic */
conn->bits.user_passwd &&
!checkheaders(data, "Authorization:")) {
auth=(char *)"Basic";
result = Curl_output_basic(conn);
if(result)
return result;
else if(data->state.authwant == CURLAUTH_BASIC) {/* Basic */
if(conn->bits.user_passwd &&
!checkheaders(data, "Authorization:")) {
auth=(char *)"Basic";
result = Curl_output_basic(conn);
if(result)
return result;
}
/* basic is always ready */
*ready = TRUE;
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment