You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by ji...@apache.org on 2014/08/31 18:07:45 UTC
svn commit: r1621601 - in /httpd/httpd/branches/2.4.x: ./ CHANGES STATUS
modules/proxy/mod_proxy_http.c
Author: jim
Date: Sun Aug 31 16:07:45 2014
New Revision: 1621601
URL: http://svn.apache.org/r1621601
Log:
Merge r1615289, r1620324 from trunk:
PR53420: Proxy responses with error status and
"ProxyErrorOverride On" hang until proxy timeout.
Regression from 2.2. It was introduced by r912063
in order to fix PR41646.
Switch preference for headers, Transfer-Encoding
first, Content-Length second.
Addition to r1615289.
Submitted by: rjung
Reviewed/backported by: jim
Modified:
httpd/httpd/branches/2.4.x/ (props changed)
httpd/httpd/branches/2.4.x/CHANGES
httpd/httpd/branches/2.4.x/STATUS
httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy_http.c
Propchange: httpd/httpd/branches/2.4.x/
------------------------------------------------------------------------------
Merged /httpd/httpd/trunk:r1615289,1620324
Modified: httpd/httpd/branches/2.4.x/CHANGES
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/CHANGES?rev=1621601&r1=1621600&r2=1621601&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/CHANGES [utf-8] (original)
+++ httpd/httpd/branches/2.4.x/CHANGES [utf-8] Sun Aug 31 16:07:45 2014
@@ -2,6 +2,10 @@
Changes with Apache 2.4.11
+ *) mod_proxy_http: Proxy responses with error status and
+ "ProxyErrorOverride On" hang until proxy timeout.
+ PR53420 [Rainer Jung]
+
*) SECURITY: CVE-2013-5704 (cve.mitre.org)
core: HTTP trailers could be used to replace HTTP headers
late during request processing, potentially undoing or
Modified: httpd/httpd/branches/2.4.x/STATUS
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/STATUS?rev=1621601&r1=1621600&r2=1621601&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/STATUS (original)
+++ httpd/httpd/branches/2.4.x/STATUS Sun Aug 31 16:07:45 2014
@@ -101,14 +101,6 @@ RELEASE SHOWSTOPPERS:
PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
[ start all new proposals below, under PATCHES PROPOSED. ]
- * mod_proxy_http: Proxy responses with error status and "ProxyErrorOverride On"
- hang until proxy timeout. PR53420
- Regression from 2.2. It was introduced by r912063 in order to fix PR41646.
- trunk patch: http://svn.apache.org/r1615289
- http://svn.apache.org/r1620324
- 2.4.x patch: trunk works (modulo CHANGES)
- +1: rjung, ylavic, covener
-
* mod_proxy_fcgi: Fix faulty logging of large amounts of stderr from the
application. PR 56858.
trunk patch: http://svn.apache.org/r1618401
Modified: httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy_http.c
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy_http.c?rev=1621601&r1=1621600&r2=1621601&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy_http.c (original)
+++ httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy_http.c Sun Aug 31 16:07:45 2014
@@ -1652,6 +1652,18 @@ apr_status_t ap_proxy_http_process_respo
if (!r->header_only && /* not HEAD request */
(proxy_status != HTTP_NO_CONTENT) && /* not 204 */
(proxy_status != HTTP_NOT_MODIFIED)) { /* not 304 */
+ const char *tmp;
+ /* Add minimal headers needed to allow http_in filter
+ * detecting end of body without waiting for a timeout. */
+ if ((tmp = apr_table_get(r->headers_out, "Transfer-Encoding"))) {
+ apr_table_set(backend->r->headers_in, "Transfer-Encoding", tmp);
+ }
+ else if ((tmp = apr_table_get(r->headers_out, "Content-Length"))) {
+ apr_table_set(backend->r->headers_in, "Content-Length", tmp);
+ }
+ else if (te) {
+ apr_table_set(backend->r->headers_in, "Transfer-Encoding", te);
+ }
ap_discard_request_body(backend->r);
}
return proxy_status;