Commit 017ee34b authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

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
parent 340228cc
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -4812,8 +4812,11 @@ static CURLcode create_conn(struct SessionHandle *data,
      /* asking for a HTTP proxy is a bit funny when HTTP is disabled... */
      return CURLE_UNSUPPORTED_PROTOCOL;
#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->bits.httpproxy = TRUE;
#endif
    }