diff options
author | Daniel Stenberg <daniel@haxx.se> | 2010-08-02 23:17:30 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2010-08-02 23:17:30 +0200 |
commit | a1a5ba3d0adad64c4c028d5d3f2903abd0efb510 (patch) | |
tree | 62bd6d6ac372d7d2b145868a175ccd97a254c7e8 | |
parent | 687df5c8c39c370a59999b9afc0917d808d978b7 (diff) |
Curl_connected_proxy: skip the bits.tcpconnect check
Simply because the TCP might be connected already we cannot skip the
proxy connect procedure. We need to be careful to not overload more
meaning to the bits.tcpconnect field like this.
With this fix, SOCKS proxies work again when the multi interface is
used. I believe this regression was added with commit 4b351d018e,
released as 7.20.1.
Left todo: add a test case that verifies this functionality that
prevents us from breaking it again in the future!
Reported by: Robin Cornelius
Bug: http://curl.haxx.se/bug/view.cgi?id=3033966
-rw-r--r-- | lib/url.c | 8 |
1 files changed, 1 insertions, 7 deletions
@@ -3127,7 +3127,7 @@ ConnectionStore(struct SessionHandle *data, /* after a TCP connection to the proxy has been verified, this function does the next magic step. - Note: this function (and its sub-functions) calls failf() + Note: this function's sub-functions call failf() */ CURLcode Curl_connected_proxy(struct connectdata *conn) @@ -3135,12 +3135,6 @@ CURLcode Curl_connected_proxy(struct connectdata *conn) CURLcode result = CURLE_OK; struct SessionHandle *data = conn->data; - if(conn->bits.tcpconnect) - /* allow this to get called again from the multi interface when TCP is - found connected in the state machine, even though it has already been - called if the connection happened "instantly" */ - return CURLE_OK; - switch(data->set.proxytype) { #ifndef CURL_DISABLE_PROXY case CURLPROXY_SOCKS5: |