From: Yann Ylavic Date: Fri, 14 May 2021 19:15:11 +0000 (+0000) Subject: mod_proxy: Fix flushing of THRESHOLD_MIN_WRITE data while tunneling. BZ 65294 X-Git-Tag: 2.4.48~11 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=01a8f46983e4cac336fc5a5dea104ca144102eac;p=thirdparty%2Fapache%2Fhttpd.git mod_proxy: Fix flushing of THRESHOLD_MIN_WRITE data while tunneling. BZ 65294 Submitted by: ylavic Reviewed by: ylavic, covener, rpluem git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1889901 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index 5dbf3af2807..adea3c83857 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,9 @@ -*- coding: utf-8 -*- Changes with Apache 2.4.48 + *) mod_proxy: Fix flushing of THRESHOLD_MIN_WRITE data while tunneling. + BZ 65294. [Yann Ylavic] + *) core: Fix a regression that stripped the ETag header from 304 responses. PR 61820 [Ruediger Pluem, Roy T. Fielding] diff --git a/modules/proxy/proxy_util.c b/modules/proxy/proxy_util.c index 9537b17539a..9ad5b56f228 100644 --- a/modules/proxy/proxy_util.c +++ b/modules/proxy/proxy_util.c @@ -4526,12 +4526,9 @@ PROXY_DECLARE(apr_status_t) ap_proxy_transfer_between_connections( /* Yield if the output filters stack is full? This is to avoid * blocking and give the caller a chance to POLLOUT async. */ - if (flags & AP_PROXY_TRANSFER_YIELD_PENDING) { - int rc = OK; - - if (!ap_filter_should_yield(c_o->output_filters)) { - rc = ap_filter_output_pending(c_o); - } + if ((flags & AP_PROXY_TRANSFER_YIELD_PENDING) + && ap_filter_should_yield(c_o->output_filters)) { + int rc = ap_filter_output_pending(c_o); if (rc == OK) { ap_log_rerror(APLOG_MARK, APLOG_TRACE2, 0, r, "ap_proxy_transfer_between_connections: "