From fc242751072a1f65e8c8d0f8e81210a2e32ea282 Mon Sep 17 00:00:00 2001 From: Joe Orton Date: Apr 16 2019 07:49:29 +0000 Subject: - mod_reqtimeout: fix default values regression (PR 63325) --- diff --git a/httpd-2.4.37-r1857129.patch b/httpd-2.4.37-r1857129.patch new file mode 100644 index 0000000..4dbf05a --- /dev/null +++ b/httpd-2.4.37-r1857129.patch @@ -0,0 +1,65 @@ +# ./pullrev.sh 1857129 +http://svn.apache.org/viewvc?view=revision&revision=1857129 + +--- httpd-2.4.37/modules/filters/mod_reqtimeout.c ++++ httpd-2.4.37/modules/filters/mod_reqtimeout.c +@@ -31,7 +31,7 @@ + #define UNSET -1 + #define MRT_DEFAULT_handshake_TIMEOUT 0 /* disabled */ + #define MRT_DEFAULT_handshake_MAX_TIMEOUT 0 +-#define MRT_DEFAULT_handshake_MIN_RATE APR_INT32_MAX ++#define MRT_DEFAULT_handshake_MIN_RATE 0 + #define MRT_DEFAULT_header_TIMEOUT 20 + #define MRT_DEFAULT_header_MAX_TIMEOUT 40 + #define MRT_DEFAULT_header_MIN_RATE 500 +@@ -220,7 +220,7 @@ + if (block == APR_NONBLOCK_READ || mode == AP_MODE_INIT + || mode == AP_MODE_EATCRLF) { + rv = ap_get_brigade(f->next, bb, mode, block, readbytes); +- if (ccfg->cur_stage.rate_factor > 0 && rv == APR_SUCCESS) { ++ if (ccfg->cur_stage.rate_factor && rv == APR_SUCCESS) { + extend_timeout(ccfg, bb); + } + return rv; +@@ -254,7 +254,7 @@ + } + + if (!APR_BRIGADE_EMPTY(bb)) { +- if (ccfg->cur_stage.rate_factor > 0) { ++ if (ccfg->cur_stage.rate_factor) { + extend_timeout(ccfg, bb); + } + +@@ -315,7 +315,7 @@ + * the real (relevant) bytes to be asked later, within the + * currently alloted time. + */ +- if (ccfg->cur_stage.rate_factor > 0 && rv == APR_SUCCESS ++ if (ccfg->cur_stage.rate_factor && rv == APR_SUCCESS + && mode != AP_MODE_SPECULATIVE) { + extend_timeout(ccfg, bb); + } +@@ -638,17 +638,17 @@ + ap_hook_post_read_request(reqtimeout_before_body, NULL, NULL, + APR_HOOK_MIDDLE); + +-#if MRT_DEFAULT_HANDSHAKE_MIN_RATE > 0 ++#if MRT_DEFAULT_handshake_MIN_RATE + default_handshake_rate_factor = apr_time_from_sec(1) / +- MRT_DEFAULT_HANDSHAKE_MIN_RATE; ++ MRT_DEFAULT_handshake_MIN_RATE; + #endif +-#if MRT_DEFAULT_HEADER_MIN_RATE > 0 ++#if MRT_DEFAULT_header_MIN_RATE + default_header_rate_factor = apr_time_from_sec(1) / +- MRT_DEFAULT_HEADER_MIN_RATE; ++ MRT_DEFAULT_header_MIN_RATE; + #endif +-#if MRT_DEFAULT_BODY_MIN_RATE > 0 ++#if MRT_DEFAULT_body_MIN_RATE + default_body_rate_factor = apr_time_from_sec(1) / +- MRT_DEFAULT_BODY_MIN_RATE; ++ MRT_DEFAULT_body_MIN_RATE; + #endif + } + diff --git a/httpd.spec b/httpd.spec index d53c385..52287af 100644 --- a/httpd.spec +++ b/httpd.spec @@ -81,6 +81,8 @@ Patch39: httpd-2.4.37-sslprotdefault.patch # https://bugzilla.redhat.com/show_bug.cgi?id=1397243 Patch58: httpd-2.4.34-r1738878.patch Patch60: httpd-2.4.34-enable-sslv3.patch +# https://bz.apache.org/bugzilla/show_bug.cgi?id=63325 +Patch61: httpd-2.4.37-r1857129.patch # Security fixes @@ -228,6 +230,7 @@ interface for storing and accessing per-user session data. %patch58 -p1 -b .r1738878 %patch60 -p1 -b .enable-sslv3 +%patch61 -p1 -b .r1857129 # Patch in the vendor string sed -i '/^#define PLATFORM/s/Unix/%{vstring}/' os/unix/os.h @@ -733,6 +736,7 @@ exit $rv %changelog * Tue Apr 9 2019 Joe Orton - 2.4.39-3 - fix statedir symlink to point to /var/lib/httpd (#1697662) +- mod_reqtimeout: fix default values regression (PR 63325) * Tue Apr 02 2019 Lubos Uhliarik - 2.4.39-2 - update to 2.4.39