From: Stefan Eissing Date: Sat, 28 Apr 2018 09:41:01 +0000 (+0000) Subject: On the trunk: X-Git-Tag: 2.5.0-alpha2-ci-test-only~2653 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7befd3612de20d6a2bd4a7bf385a55f4674ef1cc;p=thirdparty%2Fapache%2Fhttpd.git On the trunk: mod_http2: adding regular memory cleanup when transferring large response bodies. This reduces memory footprint and avoids memory exhaustion when transferring large files on 32-bit architectures. Fixes PR 62325. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1830419 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index 67e5486063c..86f7b71782e 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,10 @@ -*- coding: utf-8 -*- Changes with Apache 2.5.1 + *) mod_http2: adding regular memory cleanup when transferring large response bodies. This + reduces memory footprint and avoids memory exhaustion when transferring large files + on 32-bit architectures. Fixes PR 62325. [Stefan Eissing] + *) http: LimitRequestBody applies to proxied requests. [Yann Ylavic] *) mod_proxy_http: Fix response header thrown away after the previous one diff --git a/modules/http2/h2_bucket_beam.c b/modules/http2/h2_bucket_beam.c index 7653ec1092e..9f6fa824f62 100644 --- a/modules/http2/h2_bucket_beam.c +++ b/modules/http2/h2_bucket_beam.c @@ -923,6 +923,7 @@ apr_status_t h2_beam_send(h2_bucket_beam *beam, while (!APR_BRIGADE_EMPTY(sender_bb) && APR_SUCCESS == rv) { if (space_left <= 0) { report_prod_io(beam, force_report, &bl); + r_purge_sent(beam); rv = wait_not_full(beam, block, &space_left, &bl); if (APR_SUCCESS != rv) { break; diff --git a/modules/http2/h2_version.h b/modules/http2/h2_version.h index 01c4232cf42..91c71960755 100644 --- a/modules/http2/h2_version.h +++ b/modules/http2/h2_version.h @@ -27,7 +27,7 @@ * @macro * Version number of the http2 module as c string */ -#define MOD_HTTP2_VERSION "1.10.17-DEV" +#define MOD_HTTP2_VERSION "1.10.19-DEV" /** * @macro @@ -35,7 +35,7 @@ * release. This is a 24 bit number with 8 bits for major number, 8 bits * for minor and 8 bits for patch. Version 1.2.3 becomes 0x010203. */ -#define MOD_HTTP2_VERSION_NUM 0x010a11 +#define MOD_HTTP2_VERSION_NUM 0x010a13 #endif /* mod_h2_h2_version_h */