remote_port used in Host: headers only when non-default
authorDaniel Stenberg <daniel@haxx.se>
Fri, 20 Oct 2000 13:48:38 +0000 (13:48 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Fri, 20 Oct 2000 13:48:38 +0000 (13:48 +0000)
lib/http.c
lib/url.c

index 551fac3..1e6bd24 100644 (file)
@@ -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:"))
index c6f2606..7532221 100644 (file)
--- a/lib/url.c
+++ b/lib/url.c
@@ -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) {