summaryrefslogtreecommitdiff
path: root/lib/url.c
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2017-06-07 23:02:26 +0200
committerDaniel Stenberg <daniel@haxx.se>2017-06-07 23:02:26 +0200
commit32eddae1b56bbd5f3e5921cbe10897f6ed76dde4 (patch)
tree62e891af4760af1d78e4f411abd1147fdb4948d1 /lib/url.c
parent68c6dcb2cb682bc7363cdf3d2e58da225cf4e72e (diff)
downloadcurl-bagder/HTTP-CONNECT-non-blocking.tar.gz
http-proxy: do the HTTP CONNECT process entirely non-blockingbagder/HTTP-CONNECT-non-blocking
Mentioned as a problem since 2007 (8f87c15bdac63) and of course it existed even before that.
Diffstat (limited to 'lib/url.c')
-rw-r--r--lib/url.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/url.c b/lib/url.c
index b33579c70..e7b7a02c8 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -3020,7 +3020,7 @@ static void conn_free(struct connectdata *conn)
Curl_safefree(conn->http_proxy.host.rawalloc); /* http proxy name buffer */
Curl_safefree(conn->socks_proxy.host.rawalloc); /* socks proxy name buffer */
Curl_safefree(conn->master_buffer);
- Curl_safefree(conn->connect_buffer);
+ Curl_safefree(conn->connect_state);
conn_reset_all_postponed_data(conn);
@@ -4010,7 +4010,7 @@ CURLcode Curl_protocol_connect(struct connectdata *conn,
return CURLE_OK;
if(conn->bits.tunnel_proxy && conn->bits.httpproxy &&
- (conn->tunnel_state[FIRSTSOCKET] != TUNNEL_COMPLETE))
+ Curl_connect_ongoing(conn))
/* when using an HTTP tunnel proxy, await complete tunnel establishment
before proceeding further. Return CURLE_OK so we'll be called again */
return CURLE_OK;