mirror of
https://github.com/curl/curl.git
synced 2025-09-12 15:12:42 +03:00
Jean-Philippe Barrette-LaPierre fixed the CURLOPT_PASSWDFUNCTION to make
NULL set back the internal default function
This commit is contained in:
parent
b86e543a13
commit
017be8a882
22
lib/url.c
22
lib/url.c
|
@ -765,6 +765,13 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option, ...)
|
||||||
* Password prompt callback
|
* Password prompt callback
|
||||||
*/
|
*/
|
||||||
data->set.fpasswd = va_arg(param, curl_passwd_callback);
|
data->set.fpasswd = va_arg(param, curl_passwd_callback);
|
||||||
|
/*
|
||||||
|
* if the callback provided is null, reset the default callback
|
||||||
|
*/
|
||||||
|
if(!data->set.fpasswd)
|
||||||
|
{
|
||||||
|
data->set.fpasswd = my_getpass;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case CURLOPT_PASSWDDATA:
|
case CURLOPT_PASSWDDATA:
|
||||||
/*
|
/*
|
||||||
|
@ -1456,11 +1463,14 @@ static CURLcode CreateConnection(struct SessionHandle *data,
|
||||||
|
|
||||||
/* check for password, if no ask for one */
|
/* check for password, if no ask for one */
|
||||||
if( !data->state.passwd[0] ) {
|
if( !data->state.passwd[0] ) {
|
||||||
if(!data->set.fpasswd ||
|
if(!data->set.fpasswd ||
|
||||||
data->set.fpasswd(data->set.passwd_client,
|
data->set.fpasswd(data->set.passwd_client,
|
||||||
"password:", data->state.passwd,
|
"password:", data->state.passwd,
|
||||||
sizeof(data->state.passwd)))
|
sizeof(data->state.passwd)))
|
||||||
|
{
|
||||||
|
failf(data, "Bad password from password callback");
|
||||||
return CURLE_BAD_PASSWORD_ENTERED;
|
return CURLE_BAD_PASSWORD_ENTERED;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1486,8 +1496,10 @@ static CURLcode CreateConnection(struct SessionHandle *data,
|
||||||
data->set.fpasswd( data->set.passwd_client,
|
data->set.fpasswd( data->set.passwd_client,
|
||||||
"proxy password:",
|
"proxy password:",
|
||||||
data->state.proxypasswd,
|
data->state.proxypasswd,
|
||||||
sizeof(data->state.proxypasswd)))
|
sizeof(data->state.proxypasswd))) {
|
||||||
|
failf(data, "Bad password from password callback");
|
||||||
return CURLE_BAD_PASSWORD_ENTERED;
|
return CURLE_BAD_PASSWORD_ENTERED;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1860,8 +1872,10 @@ static CURLcode CreateConnection(struct SessionHandle *data,
|
||||||
if(!data->set.fpasswd ||
|
if(!data->set.fpasswd ||
|
||||||
data->set.fpasswd(data->set.passwd_client,
|
data->set.fpasswd(data->set.passwd_client,
|
||||||
"password:", data->state.passwd,
|
"password:", data->state.passwd,
|
||||||
sizeof(data->state.passwd)))
|
sizeof(data->state.passwd))) {
|
||||||
|
failf(data, "Bad password from password callback");
|
||||||
return CURLE_BAD_PASSWORD_ENTERED;
|
return CURLE_BAD_PASSWORD_ENTERED;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
/* we have a password found in the URL, decode it! */
|
/* we have a password found in the URL, decode it! */
|
||||||
|
|
Loading…
Reference in New Issue
Block a user