diff --git a/httpd-2.4.57-mod_status-duplicate-key.patch b/httpd-2.4.57-mod_status-duplicate-key.patch index 8702cb3..57b3726 100644 --- a/httpd-2.4.57-mod_status-duplicate-key.patch +++ b/httpd-2.4.57-mod_status-duplicate-key.patch @@ -1,6 +1,14 @@ ---- a/modules/generators/mod_status.c 2023/04/26 08:30:14 1909428 -+++ b/modules/generators/mod_status.c 2023/04/26 10:08:42 1909429 -@@ -186,7 +186,8 @@ +commit af065bb14238c2877f16dc955f6db69579d45b03 +Author: Tomas Korbar +Date: Thu Jul 20 09:48:17 2023 +0200 + + Fix duplicate presence of keys printed by mod_status + +diff --git a/modules/generators/mod_status.c b/modules/generators/mod_status.c +index 5917953..5bada07 100644 +--- a/modules/generators/mod_status.c ++++ b/modules/generators/mod_status.c +@@ -186,7 +186,8 @@ static int status_handler(request_rec *r) apr_uint32_t up_time; ap_loadavg_t t; int j, i, res, written; @@ -10,7 +18,7 @@ int busy; unsigned long count; unsigned long lres, my_lres, conn_lres; -@@ -203,6 +204,7 @@ +@@ -203,6 +204,7 @@ static int status_handler(request_rec *r) char *stat_buffer; pid_t *pid_buffer, worker_pid; int *thread_idle_buffer = NULL; @@ -18,7 +26,7 @@ int *thread_busy_buffer = NULL; clock_t tu, ts, tcu, tcs; clock_t gu, gs, gcu, gcs; -@@ -231,7 +233,8 @@ +@@ -231,7 +233,8 @@ static int status_handler(request_rec *r) #endif #endif @@ -28,7 +36,7 @@ busy = 0; count = 0; bcount = 0; -@@ -250,6 +253,7 @@ +@@ -250,6 +253,7 @@ static int status_handler(request_rec *r) stat_buffer = apr_palloc(r->pool, server_limit * thread_limit * sizeof(char)); if (is_async) { thread_idle_buffer = apr_palloc(r->pool, server_limit * sizeof(int)); @@ -36,7 +44,7 @@ thread_busy_buffer = apr_palloc(r->pool, server_limit * sizeof(int)); } -@@ -318,6 +322,7 @@ +@@ -318,6 +322,7 @@ static int status_handler(request_rec *r) ps_record = ap_get_scoreboard_process(i); if (is_async) { thread_idle_buffer[i] = 0; @@ -44,7 +52,7 @@ thread_busy_buffer[i] = 0; } for (j = 0; j < thread_limit; ++j) { -@@ -336,18 +341,20 @@ +@@ -336,18 +341,20 @@ static int status_handler(request_rec *r) && ps_record->pid) { if (res == SERVER_READY) { if (ps_record->generation == mpm_generation) @@ -61,9 +69,9 @@ - if (res == SERVER_GRACEFUL) - thread_idle_buffer[i]++; - else -+ if (res == SERVER_GRACEFUL) ++ if (res == SERVER_GRACEFUL) { + graceful++; -+ if (is_async) { ++ if (is_async) + thread_graceful_buffer[i]++; + } else { + busy++; @@ -71,7 +79,7 @@ thread_busy_buffer[i]++; } } -@@ -548,10 +555,10 @@ +@@ -548,10 +555,10 @@ static int status_handler(request_rec *r) } /* ap_extended_status */ if (!short_report) @@ -85,7 +93,7 @@ if (!short_report) ap_rputs("", r); -@@ -559,11 +566,6 @@ +@@ -559,11 +566,6 @@ static int status_handler(request_rec *r) if (is_async) { int write_completion = 0, lingering_close = 0, keep_alive = 0, connections = 0, stopping = 0, procs = 0; @@ -97,7 +105,7 @@ if (!short_report) ap_rputs("\n\n\n" "" -@@ -573,7 +575,7 @@ +@@ -573,7 +575,7 @@ static int status_handler(request_rec *r) "" "\n" "" @@ -106,7 +114,7 @@ "\n", r); for (i = 0; i < server_limit; ++i) { ps_record = ap_get_scoreboard_process(i); -@@ -582,8 +584,6 @@ +@@ -582,8 +584,6 @@ static int status_handler(request_rec *r) write_completion += ps_record->write_completion; keep_alive += ps_record->keep_alive; lingering_close += ps_record->lingering_close; @@ -115,7 +123,7 @@ procs++; if (ps_record->quiescing) { stopping++; -@@ -599,7 +599,7 @@ +@@ -599,7 +599,7 @@ static int status_handler(request_rec *r) ap_rprintf(r, "" "" "" @@ -124,7 +132,7 @@ "" "\n", i, ps_record->pid, -@@ -607,6 +607,7 @@ +@@ -607,6 +607,7 @@ static int status_handler(request_rec *r) ps_record->connections, ps_record->not_accepting ? "no" : "yes", thread_busy_buffer[i], @@ -132,7 +140,7 @@ thread_idle_buffer[i], ps_record->write_completion, ps_record->keep_alive, -@@ -618,25 +619,22 @@ +@@ -618,25 +619,22 @@ static int status_handler(request_rec *r) ap_rprintf(r, "" "" "" diff --git a/httpd.spec b/httpd.spec index f80a954..53fb065 100644 --- a/httpd.spec +++ b/httpd.spec @@ -13,7 +13,7 @@ Summary: Apache HTTP Server Name: httpd Version: 2.4.57 -Release: 4%{?dist} +Release: 5%{?dist} URL: https://httpd.apache.org/ Source0: https://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2 Source1: https://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2.asc @@ -850,6 +850,10 @@ exit $rv %{_rpmconfigdir}/macros.d/macros.httpd %changelog +* Thu Jul 20 2023 Tomas Korbar - 2.4.57-5 +- Fix issue found by covscan +- Related: #2222001 + * Tue Jul 18 2023 Joe Orton - 2.4.57-4 - Resolves: #2217726 - Make PROPFIND tolerant of deletion race
SlotThreadsAsync connections
totalacceptingwritingkeep-aliveclosing
%u%" APR_PID_T_FMT "%s%s%u%s%u%u%u
Sum%d%d%d