- 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.
This commit is contained in:
Daniel Stenberg 2009-08-01 11:02:10 +00:00
parent 8b0fc9819f
commit 2642638fca
4 changed files with 14 additions and 7 deletions

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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;