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 | ||||||
|  |          compatible */ | ||||||
|  |       if(!(conn->handler->protocol & CURLPROTO_HTTP)) | ||||||
|         conn->handler = &Curl_handler_http; |         conn->handler = &Curl_handler_http; | ||||||
|  |  | ||||||
|       conn->bits.httpproxy = TRUE; |       conn->bits.httpproxy = TRUE; | ||||||
| #endif | #endif | ||||||
|     } |     } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Daniel Stenberg
					Daniel Stenberg