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
This commit is contained in:
parent
687df5c8c3
commit
a1a5ba3d0a
@ -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:
|
||||
|
Loading…
x
Reference in New Issue
Block a user