diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/http.c | 8 | ||||
| -rw-r--r-- | lib/url.c | 5 | 
2 files changed, 10 insertions, 3 deletions
| diff --git a/lib/http.c b/lib/http.c index 551fac339..1e6bd24b2 100644 --- a/lib/http.c +++ b/lib/http.c @@ -336,7 +336,13 @@ CURLcode http(struct connectdata *conn)    }    if(!checkheaders(data, "Host:")) { -    data->ptr_host = maprintf("Host: %s:%d\r\n", host, data->remote_port); +    if(((conn->protocol&PROT_HTTPS) && (data->remote_port == PORT_HTTPS)) || +       (!(conn->protocol&PROT_HTTPS) && (data->remote_port == PORT_HTTP)) ) +      /* If (HTTPS on port 443) OR (non-HTTPS on port 80) then don't include +         the port number in the host string */ +      data->ptr_host = maprintf("Host: %s\r\n", host); +    else +      data->ptr_host = maprintf("Host: %s:%d\r\n", host, data->remote_port);    }    if(!checkheaders(data, "Pragma:")) @@ -961,7 +961,7 @@ CURLcode curl_connect(CURL *curl, CURLconnect **in_connect)      conn->curl_close = http_close;  #else /* USE_SSLEAY */ -    failf(data, "SSL is disabled, https: not supported!"); +    failf(data, "libcurl was built with SSL disabled, https: not supported!");      return CURLE_UNSUPPORTED_PROTOCOL;  #endif /* !USE_SSLEAY */    } @@ -1137,7 +1137,8 @@ CURLcode curl_connect(CURL *curl, CURLconnect **in_connect)        *tmp++ = '\0';        data->port = atoi(tmp);      } -     +    data->remote_port = data->port; /* it is the same port */ +      /* Connect to target host right on */      conn->hp = GetHost(data, conn->name, &conn->hostent_buf);      if(!conn->hp) { | 
