* According to RFC 2616 8.2.3 we are not allowed to forward an
Expect: 100-continue to an HTTP/1.0 server. Instead we MUST return
a HTTP_EXPECTATION_FAILED.
Submitted by: rpluem
Reviewed by: jim, rpluem, niq
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@678203
13f79535-47bb-0310-9956-
ffa450edef68
-*- coding: utf-8 -*-
Changes with Apache 2.2.10
+ *) mod_proxy_http: Do not forward requests with 'Expect: 100-continue' to
+ known HTTP/1.0 servers. Return 'Expectation failed' (417) instead.
+ [Ruediger Pluem]
Changes with Apache 2.2.9
PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
[ start all new proposals below, under PATCHES PROPOSED. ]
- * mod_proxy_http: Do not forward an Expect: 100-continue to
- an HTTP/1.0 server
- Trunk version of patch:
- http://svn.apache.org/viewvc?view=rev&revision=661506
- Backport version for 2.2.x of patch:
- Trunk version of patch works
- +1: jim, rpluem, niq
-
PATCHES PROPOSED TO BACKPORT FROM TRUNK:
[ New proposals should be added at the end of the list ]
if (apr_table_get(r->subprocess_env, "force-proxy-request-1.0")) {
buf = apr_pstrcat(p, r->method, " ", url, " HTTP/1.0" CRLF, NULL);
force10 = 1;
+ /*
+ * According to RFC 2616 8.2.3 we are not allowed to forward an
+ * Expect: 100-continue to an HTTP/1.0 server. Instead we MUST return
+ * a HTTP_EXPECTATION_FAILED
+ */
+ if (r->expecting_100) {
+ return HTTP_EXPECTATION_FAILED;
+ }
p_conn->close++;
} else {
buf = apr_pstrcat(p, r->method, " ", url, " HTTP/1.1" CRLF, NULL);