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 2004/12/19 01:57:26 UTC

DO NOT REPLY [Bug 16518] - unexpected 1xx responses MUST be forwarded

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

http://issues.apache.org/bugzilla/show_bug.cgi?id=16518





------- Additional Comments From schappy@mail.gr  2004-12-19 01:57 -------
(From update of attachment 13454)
--- proxy.org\proxy_util.c	2004-05-26 06:00:58.000000000 +0200
+++ proxy.good\proxy_util.c	2004-12-19 01:10:36.604355200 +0100
@@ -422,10 +422,21 @@
		    }
		}
	    }
-	    /* this is the psc->badopt == bad_ignore case */
-	    ap_log_error(APLOG_MARK, APLOG_WARNING, 0, r->server,
-			 "proxy: Ignoring bogus HTTP header "
-			 "returned by %s (%s)", r->uri, r->method);
+		// Because of RFC2616 section 10.1, we have to forward ALL 1xx
responses to http client
+		// using a protocol newer than HTTP/1.0 (see bug #16518 for
details).
+		if (apr_date_checkmask(buffer, "HTTP/#.# ###*") && // it is a
status code line
+		    ((HTTP_VERSION_MAJOR(r->proto_num) == 1 &&
HTTP_VERSION_MINOR(r->proto_num) > 0) || // it is > HTTP/1.y, y > 0
+		    HTTP_VERSION_MAJOR(r->proto_num) > 1) && // or it is
HTTP/x.*, x > 1
+		    atoi(&buffer[9]) >= 100 && // all status codes between 100
+		    atoi(&buffer[9]) <= 199) // and 200 have to be directed
+		{
+			r->status_line = apr_psprintf(r->pool, "%s\r\n%s",
r->status_line, buffer); // add to output buffer
+		} else {
+			/* this is the psc->badopt == bad_ignore case */
+			ap_log_error(APLOG_MARK, APLOG_WARNING, 0, r->server,
+				"proxy: Ignoring bogus HTTP header "
+				"returned by %s (%s)", r->uri, r->method);
+		}
	    continue;
	}



-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

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