]> sjero.net Git - wget/commitdiff
[svn] Applied contributed patch.
authorhniksic <devnull@localhost>
Thu, 2 Mar 2000 13:34:05 +0000 (05:34 -0800)
committerhniksic <devnull@localhost>
Thu, 2 Mar 2000 13:34:05 +0000 (05:34 -0800)
src/ChangeLog
src/http.c

index 7b8cae52bd29da07937f205a4d33339498d60e7f..72eba003c447ce5bf0de977558f62702cd764e8b 100644 (file)
@@ -1,3 +1,8 @@
+1999-05-02  andrew deryabin  <djsf@softhome.net>
+
+       * http.c (gethttp): Specify port in `Host' header only if it's
+       different from 80.
+
 1998-11-03  Edward J. Sabol  <sabol@alderaan.gsfc.nasa.gov>
 
        * recur.c (recursive_retrieve): If a finite maximum depth is
index c79e6fecbfe31210f30d3aaf9f3ba7abb0cade0c..b25e01460719aa39ae02a43a4956b624e65109fc 100644 (file)
@@ -309,6 +309,8 @@ gethttp (struct urlinfo *u, struct http_stat *hs, int *dt)
   char *authenticate_h;
   char *proxyauth;
   char *all_headers;
+  char *host_port;
+  int host_port_len;
   int sock, hcount, num_written, all_length, remport, statcode;
   long contlen, contrange;
   struct urlinfo *ou;
@@ -454,10 +456,19 @@ gethttp (struct urlinfo *u, struct http_stat *hs, int *dt)
     }
   remhost = ou->host;
   remport = ou->port;
+
+  if (remport == 80) {
+      host_port = NULL; host_port_len = 0;
+  }
+  else {
+      host_port = (char *)alloca (numdigit (remport) + 2);
+      host_port_len = sprintf (host_port, ":%d", remport);
+  }
+
   /* Allocate the memory for the request.  */
   request = (char *)alloca (strlen (command) + strlen (path)
                            + strlen (useragent)
-                           + strlen (remhost) + numdigit (remport)
+                           + strlen (remhost) + host_port_len
                            + strlen (HTTP_ACCEPT)
                            + (referer ? strlen (referer) : 0)
                            + (wwwauth ? strlen (wwwauth) : 0)
@@ -470,11 +481,11 @@ gethttp (struct urlinfo *u, struct http_stat *hs, int *dt)
   sprintf (request, "\
 %s %s HTTP/1.0\r\n\
 User-Agent: %s\r\n\
-Host: %s:%d\r\n\
+Host: %s%s\r\n\
 Accept: %s\r\n\
 %s%s%s%s%s%s\r\n",
-         command, path, useragent, remhost, remport, HTTP_ACCEPT, 
-         referer ? referer : "", 
+         command, path, useragent, remhost, host_port ? host_port : "",
+         HTTP_ACCEPT, referer ? referer : "",
          wwwauth ? wwwauth : "", 
          proxyauth ? proxyauth : "", 
          range ? range : "",