aboutsummaryrefslogtreecommitdiff
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
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.
-rw-r--r--CHANGES5
-rw-r--r--RELEASE-NOTES3
-rw-r--r--TODO-RELEASE2
-rw-r--r--lib/url.c11
4 files changed, 14 insertions, 7 deletions
diff --git a/CHANGES b/CHANGES
index 52995a6bf..6d7b833e8 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,11 @@
Changelog
+Daniel Stenberg (1 Aug 2009)
+- 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.
+
Daniel Stenberg (27 Jul 2009)
- All the quote options (CURLOPT_QUOTE, CURLOPT_POSTQUOTE and
CURLOPT_PREQUOTE) now accept a preceeding asterisk before the command to
diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index 1b94e20c1..b715d5aef 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -38,6 +38,7 @@ This release includes the following bugfixes:
o improved the support for client certificates in libcurl+NSS
o fix leak in gtls code
o missing algorithms in libcurl+OpenSSL
+ o with noproxy set you could still get a proxy if a proxy env was set
This release includes the following known bugs:
@@ -50,6 +51,6 @@ advice from friends like these:
Andre Guibert de Bruet, Mike Crowe, Claes Jakobsson, John E. Malmberg,
Aaron Oneal, Igor Novoseltsev, Eric Wong, Bill Hoffman, Daniel Steinberg,
Fabian Keil, Michal Marek, Reuven Wachtfogel, Markus Koetter,
- Constantine Sapuntzakis, David Binderman, Johan van Selst
+ Constantine Sapuntzakis, David Binderman, Johan van Selst, Alexander Beedie
Thanks! (and sorry if I forgot to mention someone)
diff --git a/TODO-RELEASE b/TODO-RELEASE
index cda345f9a..513ad81cd 100644
--- a/TODO-RELEASE
+++ b/TODO-RELEASE
@@ -1,8 +1,6 @@
To be addressed in 7.19.6 (planned release: August 2009)
=========================
-246 - small logic error with CURLOPT_NOPROXY
-
248 - "Pausing pipeline problems."
249 - Wildcard cert name checking and null termination
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;