diff options
author | Daniel Stenberg <daniel@haxx.se> | 2017-06-07 23:02:26 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2017-06-14 23:43:52 +0200 |
commit | 5113ad0424044458ac497fa1458ebe0101356b22 (patch) | |
tree | a0fa92f49271bf09338e45fbed4173d303a4ae50 /lib/url.c | |
parent | 1213baba27a30a14f917e3c8c044f22cac2389b6 (diff) |
http-proxy: do the HTTP CONNECT process entirely non-blocking
Mentioned as a problem since 2007 (8f87c15bdac63) and of course it
existed even before that.
Closes #1547
Diffstat (limited to 'lib/url.c')
-rw-r--r-- | lib/url.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -3023,7 +3023,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); @@ -4013,7 +4013,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; |