aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/http.c16
-rw-r--r--lib/url.c4
-rw-r--r--tests/data/test54013
3 files changed, 17 insertions, 16 deletions
diff --git a/lib/http.c b/lib/http.c
index 961c80080..0b680b2d6 100644
--- a/lib/http.c
+++ b/lib/http.c
@@ -2312,20 +2312,10 @@ CURLcode Curl_http(struct connectdata *conn, bool *done)
te
);
- /* clear userpwd to avoid re-using credentials from re-used connections */
+ /* clear userpwd and proxyuserpwd to avoid re-using old credentials
+ * from re-used connections */
Curl_safefree(conn->allocptr.userpwd);
-
- /*
- * Free proxyuserpwd for Negotiate/NTLM. Cannot reuse as it is associated
- * with the connection and shouldn't be repeated over it either.
- */
- switch(data->state.authproxy.picked) {
- case CURLAUTH_NEGOTIATE:
- case CURLAUTH_NTLM:
- case CURLAUTH_NTLM_WB:
- Curl_safefree(conn->allocptr.proxyuserpwd);
- break;
- }
+ Curl_safefree(conn->allocptr.proxyuserpwd);
if(result)
return result;
diff --git a/lib/url.c b/lib/url.c
index 97c88f3cd..01e02de54 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -3277,9 +3277,7 @@ proxy_info_matches(const struct proxy_info* data,
{
if((data->proxytype == needle->proxytype) &&
(data->port == needle->port) &&
- Curl_safe_strcasecompare(data->host.name, needle->host.name) &&
- Curl_safe_strcasecompare(data->user, needle->user) &&
- Curl_safe_strcasecompare(data->passwd, needle->passwd))
+ Curl_safe_strcasecompare(data->host.name, needle->host.name))
return TRUE;
return FALSE;
diff --git a/tests/data/test540 b/tests/data/test540
index 8decaea9d..8391cbe78 100644
--- a/tests/data/test540
+++ b/tests/data/test540
@@ -11,6 +11,9 @@ multi
# Server-side
<reply>
+<servercmd>
+connection-monitor
+</servercmd>
# this is returned first since we get no proxy-auth
<data>
@@ -40,6 +43,10 @@ Content-Length: 21
Server: no
Nice proxy auth sir!
+HTTP/1.1 407 Authorization Required to proxy me my dear
+Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
+Content-Length: 33
+
HTTP/1.1 200 OK
Content-Length: 21
Server: no
@@ -88,10 +95,16 @@ Proxy-Connection: Keep-Alive
GET http://test.remote.example.com/path/540 HTTP/1.1
Host: custom.set.host.name
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://test.remote.example.com/path/540 HTTP/1.1
+Host: custom.set.host.name
Proxy-Authorization: Digest username="silly", realm="weirdorealm", nonce="12345", uri="/path/540", response="ca507dcf189196b6a5374d3233042261"
Accept: */*
Proxy-Connection: Keep-Alive
+[DISCONNECT]
</protocol>
</verify>
</testcase>