create_conn: only switch protocol handler if necessary
When switching to HTTP because a HTTP proxy is being used, the existing handler is now checked if it already is "compatible". This allows the https handler remain while other non-http handlers will be redirected. Bug: http://curl.haxx.se/mail/lib-2011-05/0214.html Reported by: Jerome Robert
This commit is contained in:
@@ -4812,8 +4812,11 @@ static CURLcode create_conn(struct SessionHandle *data,
|
|||||||
/* asking for a HTTP proxy is a bit funny when HTTP is disabled... */
|
/* asking for a HTTP proxy is a bit funny when HTTP is disabled... */
|
||||||
return CURLE_UNSUPPORTED_PROTOCOL;
|
return CURLE_UNSUPPORTED_PROTOCOL;
|
||||||
#else
|
#else
|
||||||
/* force this connection's protocol to become HTTP */
|
/* force this connection's protocol to become HTTP if not already
|
||||||
conn->handler = &Curl_handler_http;
|
compatible */
|
||||||
|
if(!(conn->handler->protocol & CURLPROTO_HTTP))
|
||||||
|
conn->handler = &Curl_handler_http;
|
||||||
|
|
||||||
conn->bits.httpproxy = TRUE;
|
conn->bits.httpproxy = TRUE;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user