Commit ac0bad24 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

remake Host: for each connection and it'll work with proxies too

parent 67d5c0a9
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -469,10 +469,14 @@ CURLcode Curl_http(struct connectdata *conn)
    http->sendit = Curl_getFormData(data->httppost, &http->postsize);
  }

  if(!checkheaders(data, "Host:") &&
     !conn->allocptr.host) {
    /* if ptr_host is already set, it is OK since we only re-use connections
       to the very same host and port */
  if(!checkheaders(data, "Host:")) {
    /* if ptr_host is already set, it is almost OK since we only re-use
       connections to the very same host and port, but when we use a HTTP
       proxy we have a persistant connect and yet we must change the Host:
       header! */

    if(conn->allocptr.host)
      free(conn->allocptr.host);

    if(((conn->protocol&PROT_HTTPS) && (conn->remote_port == PORT_HTTPS)) ||
       (!(conn->protocol&PROT_HTTPS) && (conn->remote_port == PORT_HTTP)) )