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
This commit is contained in:
Daniel Stenberg 2011-12-09 22:51:08 +01:00
parent 50d88bf4b5
commit 07e3b7512c
1 changed files with 3 additions and 2 deletions

View File

@ -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;