mirror of
https://github.com/moparisthebest/curl
synced 2024-12-21 23:58:49 -05:00
Bug report #1812190 (http://curl.haxx.se/bug/view.cgi?id=1812190) points out
that libcurl tried to re-use connections a bit too much when using non-SSL protocols tunneled over a HTTP proxy.
This commit is contained in:
parent
b9a305983f
commit
949ff9715a
5
CHANGES
5
CHANGES
@ -6,6 +6,11 @@
|
|||||||
|
|
||||||
Changelog
|
Changelog
|
||||||
|
|
||||||
|
Daniel S (23 October 2007)
|
||||||
|
- Bug report #1812190 (http://curl.haxx.se/bug/view.cgi?id=1812190) points out
|
||||||
|
that libcurl tried to re-use connections a bit too much when using non-SSL
|
||||||
|
protocols tunneled over a HTTP proxy.
|
||||||
|
|
||||||
Daniel S (22 October 2007)
|
Daniel S (22 October 2007)
|
||||||
- Michal Marek forwarded the bug report
|
- Michal Marek forwarded the bug report
|
||||||
https://bugzilla.novell.com/show_bug.cgi?id=332917 about a HTTP redirect to
|
https://bugzilla.novell.com/show_bug.cgi?id=332917 about a HTTP redirect to
|
||||||
|
@ -41,6 +41,8 @@ This release includes the following bugfixes:
|
|||||||
o specifying a proxy with a trailing slash didn't work (unless it also
|
o specifying a proxy with a trailing slash didn't work (unless it also
|
||||||
contained a port number)
|
contained a port number)
|
||||||
o redirect from HTTP to FTP memory problem
|
o redirect from HTTP to FTP memory problem
|
||||||
|
o re-used connections a bit too much when using non-SSL protocols tunneled
|
||||||
|
over a HTTP proxy
|
||||||
|
|
||||||
This release includes the following known bugs:
|
This release includes the following known bugs:
|
||||||
|
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
To be addressed before 7.17.1 (planned release: November 2007)
|
To be addressed before 7.17.1 (planned release: late October 2007)
|
||||||
=============================
|
=============================
|
||||||
|
|
||||||
104 - [ curl-Bugs-1812190 ] libcurl can use wrong connection, when using
|
|
||||||
https
|
|
||||||
|
|
||||||
106 -
|
106 -
|
||||||
|
18
lib/url.c
18
lib/url.c
@ -2399,15 +2399,19 @@ ConnectionExists(struct SessionHandle *data,
|
|||||||
/* don't do mixed SSL and non-SSL connections */
|
/* don't do mixed SSL and non-SSL connections */
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if(!needle->bits.httpproxy || needle->protocol&PROT_SSL) {
|
if(needle->bits.proxy != check->bits.proxy)
|
||||||
/* The requested connection does not use a HTTP proxy or it
|
/* don't do mixed proxy and non-proxy connections */
|
||||||
uses SSL. */
|
|
||||||
|
|
||||||
if(!(needle->protocol&PROT_SSL) && check->bits.httpproxy)
|
|
||||||
/* we don't do SSL but the cached connection has a proxy,
|
|
||||||
then don't match this */
|
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
if(!needle->bits.httpproxy || needle->protocol&PROT_SSL ||
|
||||||
|
(needle->bits.httpproxy && check->bits.httpproxy &&
|
||||||
|
needle->bits.tunnel_proxy && check->bits.tunnel_proxy &&
|
||||||
|
strequal(needle->proxy.name, check->proxy.name) &&
|
||||||
|
(needle->port == check->port))) {
|
||||||
|
/* The requested connection does not use a HTTP proxy or it uses SSL or
|
||||||
|
it is a non-SSL protocol tunneled over the same http proxy name and
|
||||||
|
port number */
|
||||||
|
|
||||||
if(strequal(needle->protostr, check->protostr) &&
|
if(strequal(needle->protostr, check->protostr) &&
|
||||||
strequal(needle->host.name, check->host.name) &&
|
strequal(needle->host.name, check->host.name) &&
|
||||||
(needle->remote_port == check->remote_port) ) {
|
(needle->remote_port == check->remote_port) ) {
|
||||||
|
Loading…
Reference in New Issue
Block a user