summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/http.c2
-rw-r--r--lib/url.c4
-rw-r--r--lib/urldata.h4
3 files changed, 10 insertions, 0 deletions
diff --git a/lib/http.c b/lib/http.c
index 4d5d17665..05b971b20 100644
--- a/lib/http.c
+++ b/lib/http.c
@@ -850,7 +850,9 @@ Curl_http_output_auth(struct Curl_easy *data,
/* To prevent the user+password to get sent to other than the original
host due to a location-follow, we do some weirdo checks here */
if(!data->state.this_is_a_follow ||
+#ifndef CURL_DISABLE_NETRC
conn->bits.netrc ||
+#endif
!data->state.first_host ||
data->set.allow_auth_to_other_hosts ||
strcasecompare(data->state.first_host, conn->host.name)) {
diff --git a/lib/url.c b/lib/url.c
index a767f0212..864d0a69c 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -2887,11 +2887,13 @@ static CURLcode override_login(struct Curl_easy *data,
char **passwdp = &conn->passwd;
char **optionsp = &conn->options;
+#ifndef CURL_DISABLE_NETRC
if(data->set.use_netrc == CURL_NETRC_REQUIRED && conn->bits.user_passwd) {
Curl_safefree(*userp);
Curl_safefree(*passwdp);
conn->bits.user_passwd = FALSE; /* disable user+password */
}
+#endif
if(data->set.str[STRING_OPTIONS]) {
free(*optionsp);
@@ -2900,6 +2902,7 @@ static CURLcode override_login(struct Curl_easy *data,
return CURLE_OUT_OF_MEMORY;
}
+#ifndef CURL_DISABLE_NETRC
conn->bits.netrc = FALSE;
if(data->set.use_netrc && !data->set.str[STRING_USERNAME]) {
bool netrc_user_changed = FALSE;
@@ -2925,6 +2928,7 @@ static CURLcode override_login(struct Curl_easy *data,
conn->bits.user_passwd = TRUE; /* enable user+password */
}
}
+#endif
/* for updated strings, we update them in the URL */
if(*userp) {
diff --git a/lib/urldata.h b/lib/urldata.h
index 0df33c36d..29aa3928d 100644
--- a/lib/urldata.h
+++ b/lib/urldata.h
@@ -508,7 +508,9 @@ struct ConnectBits {
BIT(ftp_use_data_ssl); /* Enabled SSL for the data connection */
BIT(ftp_use_control_ssl); /* Enabled SSL for the control connection */
#endif
+#ifndef CURL_DISABLE_NETRC
BIT(netrc); /* name+password provided by netrc */
+#endif
BIT(bound); /* set true if bind() has already been done on this socket/
connection */
BIT(multiplex); /* connection is multiplexed */
@@ -1727,8 +1729,10 @@ struct UserDefined {
*/
curl_sshkeycallback ssh_keyfunc; /* key matching callback */
void *ssh_keyfunc_userp; /* custom pointer to callback */
+#ifndef CURL_DISABLE_NETRC
enum CURL_NETRC_OPTION
use_netrc; /* defined in include/curl.h */
+#endif
curl_usessl use_ssl; /* if AUTH TLS is to be attempted etc, for FTP or
IMAP or POP3 or others! */
long new_file_perms; /* Permissions to use when creating remote files */