Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Nov 1999 14:41:25 -0800 (PST)
From:      mike@skew.org
To:        freebsd-gnats-submit@freebsd.org
Subject:   misc/15000: ftp(1) needs to send HTTP/1.1 Host: header
Message-ID:  <19991119224125.014141572C@hub.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         15000
>Category:       misc
>Synopsis:       ftp(1) needs to send HTTP/1.1 Host: header
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Nov 19 14:50:00 PST 1999
>Closed-Date:
>Last-Modified:
>Originator:     Mike Brown
>Release:        FreeBSD 3.2-RELEASE
>Organization:
>Environment:
FreeBSD chillout.skew.org 3.2-RELEASE FreeBSD 3.2-RELEASE #0: Sat Aug  7 10:25:47 MDT 1999     mike@chillout.skew.org:/usr/src/sys/compile/chillout  i386
>Description:
Section 19.6.1.1 of RFC 2616 (HTTP/1.1) says:

   Given the rate of growth of
   the Web, and the number of servers already deployed, it is extremely
   important that all implementations of HTTP (including updates to
   existing HTTP/1.0 applications) correctly implement these
   requirements:

      - Both clients and servers MUST support the Host request-header.
>How-To-Repeat:
This fails because the HTTP server needs to be told that the desired virtual host is xml.apache.org, not 209.133.83.18:

ftp http://xml.apache.org/dist/LICENSE.txt
>Fix:
I also submitted this patch to the NetBSD GNATS database.

*** fetch.c.orig        Tue Dec 16 01:58:15 1997
--- fetch.c     Fri Nov 19 15:35:49 1999
***************
*** 236,243 ****
                printf("Requesting %s\n", origline);
        else
                printf("Requesting %s (via %s)\n", origline, proxyenv);
!       len = snprintf(buf, sizeof(buf), "GET %s%s HTTP/1.0\r\n\r\n",
!           proxy ? "" : "/", path);
        if (write(s, buf, len) < len) {
                warn("Writing HTTP request");
                goto cleanup_url_get;
--- 236,243 ----
                printf("Requesting %s\n", origline);
        else
                printf("Requesting %s (via %s)\n", origline, proxyenv);
!       len = snprintf(buf, sizeof(buf), "GET %s%s HTTP/1.0\r\nHost: %s\r\n\r\n",
!           proxy ? "" : "/", path, host);
        if (write(s, buf, len) < len) {
                warn("Writing HTTP request");
                goto cleanup_url_get;


>Release-Note:
>Audit-Trail:
>Unformatted:


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19991119224125.014141572C>