- Jad Chamcham pointed out a bug with connection re-use. If a connection had

CURLOPT_HTTPPROXYTUNNEL enabled over a proxy, a subsequent request using the
  same proxy with the tunnel option disabled would still wrongly re-use that
  previous connection and the outcome would only be badness.
This commit is contained in:
Daniel Stenberg
2009-11-20 13:27:21 +00:00
parent 6da73d09f1
commit a41493b3b0
3 changed files with 9 additions and 1 deletions

View File

@@ -6,6 +6,12 @@
Changelog Changelog
Daniel Stenberg (20 Nov 2009)
- Jad Chamcham pointed out a bug with connection re-use. If a connection had
CURLOPT_HTTPPROXYTUNNEL enabled over a proxy, a subsequent request using the
same proxy with the tunnel option disabled would still wrongly re-use that
previous connection and the outcome would only be badness.
Daniel Stenberg (17 Nov 2009) Daniel Stenberg (17 Nov 2009)
- Constantine Sapuntzakis provided another fix for the DNS cache that could - Constantine Sapuntzakis provided another fix for the DNS cache that could
end up with entries that wouldn't time-out: end up with entries that wouldn't time-out:

View File

@@ -23,6 +23,7 @@ This release includes the following bugfixes:
o configure --with-nss is set but not "yes" o configure --with-nss is set but not "yes"
o don't store LDFLAGS in pkg-config file o don't store LDFLAGS in pkg-config file
o never-pruned DNS cached entries o never-pruned DNS cached entries
o HTTP proxy tunnel re-used connection even if tunnel got disabled
This release includes the following known bugs: This release includes the following known bugs:
@@ -33,6 +34,6 @@ advice from friends like these:
Yang Tse, Kamil Dudka, Christian Schmitz, Constantine Sapuntzakis, Yang Tse, Kamil Dudka, Christian Schmitz, Constantine Sapuntzakis,
Marco Maggi, Camille Moncelier, Claes Jakobsson, Kevin Baughman, Marco Maggi, Camille Moncelier, Claes Jakobsson, Kevin Baughman,
Marc Kleine-Budde Marc Kleine-Budde, Jad Chamcham
Thanks! (and sorry if I forgot to mention someone) Thanks! (and sorry if I forgot to mention someone)

View File

@@ -2758,6 +2758,7 @@ ConnectionExists(struct SessionHandle *data,
is the checked one using the same host, port and type? */ is the checked one using the same host, port and type? */
if(check->bits.proxy && if(check->bits.proxy &&
(needle->proxytype == check->proxytype) && (needle->proxytype == check->proxytype) &&
(needle->bits.tunnel_proxy == check->bits.tunnel_proxy) &&
Curl_raw_equal(needle->proxy.name, check->proxy.name) && Curl_raw_equal(needle->proxy.name, check->proxy.name) &&
needle->port == check->port) { needle->port == check->port) {
/* This is the same proxy connection, use it! */ /* This is the same proxy connection, use it! */