buildroot/package/curl/curl-7.13.1-auth.patch
2007-05-07 03:58:30 +00:00

49 lines
2.0 KiB
Diff

--- curl-7.13.1/lib/http.c.pom 2005-02-19 00:53:07.000000000 +0100
+++ curl-7.13.1/lib/http.c 2005-04-27 11:48:40.000000000 +0200
@@ -455,6 +455,7 @@
/* 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 ||
+ conn->bits.netrc ||
!data->state.first_host ||
curl_strequal(data->state.first_host, conn->host.name) ||
data->set.http_disable_hostname_check_before_authentication) {
--- curl-7.13.1/lib/url.c.pom 2005-02-09 23:47:57.000000000 +0100
+++ curl-7.13.1/lib/url.c 2005-04-27 11:45:59.000000000 +0200
@@ -3131,15 +3131,23 @@
user, passwd);
}
+ conn->bits.netrc = FALSE;
if (data->set.use_netrc != CURL_NETRC_IGNORED) {
if(Curl_parsenetrc(conn->host.name,
user, passwd,
data->set.netrc_file)) {
- infof(data, "Couldn't find host %s in the " DOT_CHAR "netrc file, using defaults\n",
+ infof(data, "Couldn't find host %s in the " DOT_CHAR
+ "netrc file, using defaults\n",
conn->host.name);
}
- else
+ else {
+ /* set bits.netrc TRUE to remember that we got the name from a .netrc
+ file, so that it is safe to use even if we followed a Location: to a
+ different host or similar. */
+ conn->bits.netrc = TRUE;
+
conn->bits.user_passwd = 1; /* enable user+password */
+ }
}
/* If our protocol needs a password and we have none, use the defaults */
--- curl-7.13.1/lib/urldata.h.pom 2005-02-09 14:06:56.000000000 +0100
+++ curl-7.13.1/lib/urldata.h 2005-04-27 11:50:31.000000000 +0200
@@ -388,6 +388,7 @@
bool ftp_use_lprt; /* As set with CURLOPT_FTP_USE_EPRT, but if we find out
LPRT doesn't work we disable it for the forthcoming
requests */
+ bool netrc; /* name+password provided by netrc */
};
struct hostname {