From: Daniel Stenberg Date: Fri, 9 Dec 2011 21:51:08 +0000 (+0100) Subject: create_conn: don't switch to HTTP protocol if tunneling is enabled X-Git-Tag: curl-7_24_0~142 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=07e3b7512c9a2723daac046501c7ea40ede4bd28;p=thirdparty%2Fcurl.git create_conn: don't switch to HTTP protocol if tunneling is enabled This is a regression since who knows when. When spotting that a HTTP proxy is used we must not uncondititionally enable the HTTP protocol since if we do tunneling through the proxy we're still using the target protocol. Reported by: Naveen Chandran --- diff --git a/lib/url.c b/lib/url.c index 2c5cb39b84..42e1756f96 100644 --- a/lib/url.c +++ b/lib/url.c @@ -4900,8 +4900,9 @@ static CURLcode create_conn(struct SessionHandle *data, return CURLE_UNSUPPORTED_PROTOCOL; #else /* force this connection's protocol to become HTTP if not already - compatible */ - if(!(conn->handler->protocol & CURLPROTO_HTTP)) + compatible - if it isn't tunneling through */ + if(!(conn->handler->protocol & CURLPROTO_HTTP) && + !conn->bits.tunnel_proxy) conn->handler = &Curl_handler_http; conn->bits.httpproxy = TRUE;