aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2009-08-01 11:02:10 +0000
committerDaniel Stenberg <daniel@haxx.se>2009-08-01 11:02:10 +0000
commit2642638fcae2c51a3407f0af6a90b3c6aca895f5 (patch)
tree7ce16cacd7867adee4817ce984a5c046cb5c066b /lib
parent8b0fc9819f656daaa035d8e74213282e2cbffdec (diff)
- Alexander Beedie provided the patch for a noproxy problem: If I have set
CURLOPT_NOPROXY to "*", or to a host that should not use a proxy, I actually could still end up using a proxy if a proxy environment variable was set.
Diffstat (limited to 'lib')
-rw-r--r--lib/url.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/url.c b/lib/url.c
index 5f209fe5e..96db7e481 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -4419,14 +4419,17 @@ static CURLcode create_conn(struct SessionHandle *data,
}
}
- if(!proxy)
- proxy = detect_proxy(conn);
- else if(data->set.str[STRING_NOPROXY]) {
- if(check_noproxy(conn->host.name, data->set.str[STRING_NOPROXY])) {
+
+ if(data->set.str[STRING_NOPROXY] &&
+ check_noproxy(conn->host.name, data->set.str[STRING_NOPROXY])) {
+ if(proxy) {
free(proxy); /* proxy is in exception list */
proxy = NULL;
}
}
+ else if(!proxy)
+ proxy = detect_proxy(conn);
+
if(proxy && !*proxy) {
free(proxy); /* Don't bother with an empty proxy string */
proxy = NULL;