aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2011-08-05 00:44:40 +0200
committerDaniel Stenberg <daniel@haxx.se>2011-08-05 00:44:40 +0200
commit17f343290c9888ab5f108b0e4c8f6510cff47959 (patch)
treee4179931f6f705a20ed9e450a133635e8e793b80
parent75fa3d2d6ee2f2858b158142cb1574340d210898 (diff)
create_conn: mark non-HTTP proxies accordingly
A proxy could be marked 'httpproxy' wrongly before if set with an environment variable or with the CURLOPT_PROXY option with a socks*:// prefix or similar. Added test 710 to verify Bug: http://curl.haxx.se/mail/lib-2011-07/0194.html
-rw-r--r--lib/url.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/url.c b/lib/url.c
index a3a475dfd..400ceffde 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -3501,6 +3501,8 @@ static struct connectdata *allocate_conn(struct SessionHandle *data)
#else /* CURL_DISABLE_PROXY */
+ /* note that these two proxy bits are now just on what looks to be
+ requested, they may be altered down the road */
conn->bits.proxy = (bool)(data->set.str[STRING_PROXY] &&
*data->set.str[STRING_PROXY]);
conn->bits.httpproxy = (bool)(conn->bits.proxy &&
@@ -4825,6 +4827,8 @@ static CURLcode create_conn(struct SessionHandle *data,
conn->bits.httpproxy = TRUE;
#endif
}
+ else
+ conn->bits.httpproxy = FALSE; /* not a HTTP proxy */
conn->bits.proxy = TRUE;
}
else {