-*- coding: utf-8 -*-
Changes with Apache 2.2.9
+ *) mod_proxy_http: Fix processing of chunked responses if
+ Connection: Transfer-Encoding is set in the response of the proxied
+ system. PR 44311 [Ruediger Pluem]
+
*) mod_rewrite: Don't canonicalise URLs with [P,NE]
PR 43319 [<rahul sun.com>]
wrowe notes; Win32 is already ready for this, and there's no rush
to push this into the immediate next-release.
- * mod_proxy: Fix processing of chunked responses if
- Connection: Transfer-Encoding is set in the response of the
- proxied system. PR: 44311
- Trunk version of patch:
- http://svn.apache.org/viewvc?view=rev&revision=616517
- http://svn.apache.org/viewvc?view=rev&revision=617653
- Backport version of 2.2.x of patch:
- Trunk version works (minus CHANGES conflict)
- +1: jim, rpluem, mturk
-
PATCHES PROPOSED TO BACKPORT FROM TRUNK:
[ New proposals should be added at the end of the list ]
static const char *hop_by_hop_hdrs[] =
{"Keep-Alive", "Proxy-Authenticate", "TE", "Trailer", "Upgrade", NULL};
int i;
+ const char *te = NULL;
bb = apr_brigade_create(p, c->bucket_alloc);
backend->close += 1;
}
+ /*
+ * Save a possible Transfer-Encoding header as we need it later for
+ * ap_http_filter to know where to end.
+ */
+ te = apr_table_get(r->headers_out, "Transfer-Encoding");
/* strip connection listed hop-by-hop headers from response */
backend->close += ap_proxy_liststr(apr_table_get(r->headers_out,
"Connection"),
* ap_http_filter to know where to end.
*/
rp->headers_in = apr_table_copy(r->pool, r->headers_out);
+ /*
+ * Restore Transfer-Encoding header from response if we saved
+ * one before and there is none left. We need it for the
+ * ap_http_filter. See above.
+ */
+ if (te && !apr_table_get(rp->headers_in, "Transfer-Encoding")) {
+ apr_table_add(rp->headers_in, "Transfer-Encoding", te);
+ }
apr_table_unset(r->headers_out,"Transfer-Encoding");