You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2002/06/24 06:11:27 UTC

DO NOT REPLY [Bug 10166] New: - HTTP/1.1 proxy requests made even when client makes a 1.0 one

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10166>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10166

HTTP/1.1 proxy requests made even when client makes a 1.0 one

           Summary: HTTP/1.1 proxy requests made even when client makes a
                    1.0 one
           Product: Apache httpd-1.3
           Version: HEAD
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Minor
          Priority: Other
         Component: mod_proxy
        AssignedTo: bugs@httpd.apache.org
        ReportedBy: gozer@cpan.org


Starting from 1.3.24, mod_proxy's behavious has been changed to make HTTP/1.1
proxy requests.  This even in the case where the browser made a 1.0 request
originally. This results in old browsers (IE5.0) with broken 1.1 implementation
to recieve chunked-encoding HTTP data and breaks rendering of certain pages.



The following patch fixes this issue by making mod_proxy issue a request of the
same version the original client sent.

Index: proxy_ftp.c
===================================================================
RCS file:
/home/gozer/mirror/cvs.apache.org/apache-1.3-cvs/src/modules/proxy/proxy_ftp.c,v
retrieving revision 1.98
diff -b -B -u -I'$Id' -I'$Revision' -r1.98 proxy_ftp.c
--- proxy_ftp.c	7 Apr 2002 18:57:36 -0000	1.98
+++ proxy_ftp.c	24 Jun 2002 04:07:25 -0000
@@ -1333,7 +1333,7 @@
 
     /* send response */
     /* write status line and headers to the cache file */
-    ap_proxy_write_headers(c, ap_pstrcat(p, "HTTP/1.1 ", r->status_line, NULL),
resp_hdrs);
+    ap_proxy_write_headers(c, ap_pstrcat(p, r->protocol, " ", r->status_line,
NULL), resp_hdrs);
 
     /* Setup the headers for our client from upstreams response-headers */
     ap_overlap_tables(r->headers_out, resp_hdrs, AP_OVERLAP_TABLES_SET);
Index: proxy_http.c
===================================================================
RCS file:
/home/gozer/mirror/cvs.apache.org/apache-1.3-cvs/src/modules/proxy/proxy_http.c,v
retrieving revision 1.99
diff -b -B -u -I'$Id' -I'$Revision' -r1.99 proxy_http.c
--- proxy_http.c	30 May 2002 10:19:49 -0000	1.99
+++ proxy_http.c	24 Jun 2002 04:07:25 -0000
@@ -309,7 +309,7 @@
     ap_bpushfd(f, sock, sock);
 
     ap_hard_timeout("proxy send", r);
-    ap_bvputs(f, r->method, " ", proxyhost ? url : urlptr, " HTTP/1.1" CRLF,
+    ap_bvputs(f, r->method, " ", proxyhost ? url : urlptr, " ", r->protocol, CRLF,
               NULL);
     /* Send Host: now, adding it to req_hdrs wouldn't be much better */
     if (destportstr != NULL && destport != DEFAULT_HTTP_PORT)
@@ -579,7 +579,7 @@
         }
 
         /* write status line and headers to the cache file */
-        ap_proxy_write_headers(c, ap_pstrcat(p, "HTTP/1.1 ", r->status_line,
NULL), resp_hdrs);
+        ap_proxy_write_headers(c, ap_pstrcat(p, r->protocol, " ",
r->status_line, NULL), resp_hdrs);
     }
 
     /* Setup the headers for our client from upstreams response-headers */

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org