From: Eric Covener Date: Thu, 22 Dec 2016 23:04:44 +0000 (+0000) Subject: pass along error buckets X-Git-Tag: 2.5.0-alpha~881 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=423577d1f3ff7b1c0fd67aa44fefb706b00bfc72;p=thirdparty%2Fapache%2Fhttpd.git pass along error buckets In 2.4, they are generated by LimitRequestBody failures. trunk no longer uses error buckets in this path, but someone else could. PR60375 Submitted By: Eric Covener,Lubos Uhliarik Committed By: covener git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1775770 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index 4eff68ac075..e6dadc3ebf6 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,9 @@ -*- coding: utf-8 -*- Changes with Apache 2.5.0 + *) mod_ext_filter: Don't interfere with "error buckets" issued by other + modules. PR60375. [Eric Covener, Lubos Uhliarik] + *) mod_proxy_fcgi, mod_fcgid: Fix crashes in ap_fcgi_encoded_env_len() when modules add empty environment variables to the request. PR60275. [] diff --git a/modules/filters/mod_ext_filter.c b/modules/filters/mod_ext_filter.c index 9f183f69bca..7aac19d86e3 100644 --- a/modules/filters/mod_ext_filter.c +++ b/modules/filters/mod_ext_filter.c @@ -757,6 +757,13 @@ static int ef_unified_filter(ap_filter_t *f, apr_bucket_brigade *bb) break; } + if (AP_BUCKET_IS_ERROR(b)) { + apr_bucket *cpy; + apr_bucket_copy(b, &cpy); + APR_BRIGADE_INSERT_TAIL(bb_tmp, cpy); + break; + } + rv = apr_bucket_read(b, &data, &len, APR_BLOCK_READ); if (rv != APR_SUCCESS) { ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r, APLOGNO(01463) "apr_bucket_read()");