-*- coding: utf-8 -*-
Changes with Apache 2.2.7
+ *) mod_filter: Don't segfault on (unsupported) chained FilterProvider usage.
+ PR 43956 [Nick Kew, Ruediger Pluem]
+
*) core: Handle unrecognised transfer-encodings.
PR 43882 [Nick Kew, Jeff Trawick]
PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
[ start all new proposals below, under PATCHES PROPOSED. ]
- * mod_filter: Don't try to support chained filters when it doesn't work
- PR 43956
- http://svn.apache.org/viewvc?view=rev&revision=598299
- http://svn.apache.org/viewvc?view=rev&revision=599393
- +1: niq, rpluem, jim
-
* http_protocol: Escape request method in 413 error reporting.
Determined to be not generally exploitable, but a flaw in any case.
PR 44014 [Victor Stinner <victor.stinner inl.fr>]
harness_ctx *fctx = apr_pcalloc(f->r->pool, sizeof(harness_ctx));
for (p = filter->providers; p; p = p->next) {
- if (p->frec->filter_init_func) {
+ if (p->frec->filter_init_func == filter_init) {
+ ap_log_cerror(APLOG_MARK, APLOG_ERR, 0, f->c,
+ "Chaining of FilterProviders not supported");
+ return HTTP_INTERNAL_SERVER_ERROR;
+ }
+ else if (p->frec->filter_init_func) {
f->ctx = NULL;
if ((err = p->frec->filter_init_func(f)) != OK) {
ap_log_cerror(APLOG_MARK, APLOG_ERR, 0, f->c,
/* if provider has been registered, we can look it up */
provider_frec = ap_get_output_filter_handle(pname);
- if (!provider_frec) {
- provider_frec = apr_hash_get(cfg->live_filters, pname,
- APR_HASH_KEY_STRING);
- }
if (!provider_frec) {
return apr_psprintf(cmd->pool, "Unknown filter provider %s", pname);
}