847 Commits

Author SHA1 Message Date
b3a52bec98 mod_asis: Fix the log level of the message AH01236
Change the log level from ERROR to DEBUG.

The message \"mod_asis: ap_pass_brigade failed for file ...\" was logged with
the level ERROR. This log level is inappropriate here, because a client can
trigger this log message by aborting the request.

Most other modules don't log at all or use the log level DEBUG when
ap_pass_brigade() fails.

Submitted by: Michael Kaufmann <mail michael-kaufmann.ch>
Github: closes #527


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1924954 13f79535-47bb-0310-9956-ffa450edef68
2025-04-09 07:43:49 +00:00
ffeacdcc52 Fix typo in code comments; dependancies -> dependencies
Submitted by: John Bampton <jbampton gmail.com>
Github: closes #520


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1924446 13f79535-47bb-0310-9956-ffa450edef68
2025-03-18 09:54:15 +00:00
b5d2f5e34e * modules/generators/mod_autoindex.c (dsortf): Ensure the function
is transitive to avoid undefined behaviour, per:
  https://www.qualys.com/2024/01/30/qsort.txt

Submitted by: Kuan-Wei Chiu <visitorckw gmail.com>
Github: closes #500


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1922994 13f79535-47bb-0310-9956-ffa450edef68
2025-01-08 18:00:29 +00:00
0afe939c9d mod_status: "Threads" span three colomns (busy, graceful, idle), not two.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1919148 13f79535-47bb-0310-9956-ffa450edef68
2024-07-11 14:57:46 +00:00
42a467f78e mod_status: Follow up to r1918482: Bump colspan for the new wait-io colomn
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1919141 13f79535-47bb-0310-9956-ffa450edef68
2024-07-11 14:12:31 +00:00
fbe782e6c4 * Follow up to r1918814: Strings are from configuration and thus trusted
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918823 13f79535-47bb-0310-9956-ffa450edef68
2024-07-02 11:19:45 +00:00
aa4b05ee05 * Always trust content types that we set literally
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918814 13f79535-47bb-0310-9956-ffa450edef68
2024-07-02 06:35:53 +00:00
67c65983d5 mpm_event,mod_http2,mod_status: Follow up to r1918257: CONN_STATE_ASYNC_WAITIO.
Per discussion on PR #449, have a separate state for returning the connection
to the MPM to wait for an IO (namely CONN_STATE_ASYNC_WAITIO), rather than
(ab)using CONN_STATE_PROCESSING.

This removes the need for AGAIN added in r1918257 (for now), and AP_MPMQ_CAN_AGAIN
is renamed to AP_MPMQ_CAN_WAITIO.

This is also the state that mod_status accounts for, so rename ->processing
to ->wait_io in process_score (shows as "wait-io" in mod_status and mod_lua).



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918482 13f79535-47bb-0310-9956-ffa450edef68
2024-06-21 09:48:12 +00:00
f33ad20a02 mod_status: Fix missing initialization, follow up to r1918098
Submitted by: Vladimír Chlup <vchlup redhat.com>
Github: closes #452


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918127 13f79535-47bb-0310-9956-ffa450edef68
2024-06-03 08:02:09 +00:00
d821182d76 mpm_event, mod_status: Separate processing and write completion queues.
As a follow up to r1918022 which handled the new CONN_STATE_PROCESS(ing) and
existing CONN_STATE_WRITE_COMPLETION in the same async queue, let's now have
two separates ones which allows more relevant async accounting in mod_status.

Rename CONN_STATE_PROCESS to CONN_STATE_PROCESSING as it's how it will be
called in mod_status.

* include/ap_mmn.h:
  MMN minor bump for process_score->processing counter.

* include/httpd.h:
  Rename CONN_STATE_PROCESS to CONN_STATE_PROCESSING.

* include/scoreboard.h:
  Add process_score->processing field.

* include/httpd.h, modules/http/http_core.c, modules/http2/h2_c1.c,
    server/mpm/event/event.c, server/mpm/motorz/motorz.c,
    server/mpm/simple/simple_io.c:
  Rename CONN_STATE_PROCESS to CONN_STATE_PROCESSING.

* server/mpm/event/event.c:
  Restore write_completion_q to handle connections in CONN_STATE_WRITE_COMPLETION.
  Use processing_q (renamed from process_q) solely for CONN_STATE_PROCESSING.
  Update process_score->processing according to the length of processing_q.
  
* modules/generators/mod_status.c:
  Show the value of process_score->processing in the stats.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918098 13f79535-47bb-0310-9956-ffa450edef68
2024-06-01 15:08:46 +00:00
e03580554f Explicitly reject CGI output which includes a Transfer-Encoding
header, rather than drop it and send what's likely to be an unexpected
or corrupted response.

* modules/generators/cgi_common.h (cgi_handle_response): Send a 502
  error if Transfer-Encoding is present in the response headers.

PR: 68970
Github: closes #444


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1917835 13f79535-47bb-0310-9956-ffa450edef68
2024-05-20 09:18:10 +00:00
c14406763c * modules/generators/mod_cgi.c, mod_cgid.c: Since
r1916769 adds #include <util_script.h> to cgi_common.h,
  remove it here.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1916998 13f79535-47bb-0310-9956-ffa450edef68
2024-04-15 09:49:56 +00:00
61645eaac8 let httpd handle CL/TE for non-http handlers
Submitted By: ylavic, covener



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1916769 13f79535-47bb-0310-9956-ffa450edef68
2024-04-03 11:49:53 +00:00
218a545bfa Follow up to r1909429: Fix scope/block syntax.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1909606 13f79535-47bb-0310-9956-ffa450edef68
2023-05-04 10:30:25 +00:00
1e801bec03 mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
Resolve inconsistency between the previous two occurrences by
counting workers in state SERVER_GRACEFUL no longer as busy,
but instead in a new counter "GracefulWorkers" (or on HTML
view as "workers gracefully restarting"). Also add the graceful
counter as a new column to the existing HTML per process table
for async MPMs.
PR 63300


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1909429 13f79535-47bb-0310-9956-ffa450edef68
2023-04-26 10:08:42 +00:00
4859071fd0 log an error when ap_runtime_dir_relative fails.
spotted by rpluem@


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1908984 13f79535-47bb-0310-9956-ffa450edef68
2023-04-05 09:05:24 +00:00
51a3e29505 Fix a possible NULL pointer dereference of ap_runtime_dir_relative()
ap_runtime_dir_relative() will return NULL on failure. However cgid_init()
does not check the return value of ap_runtime_dir_relative() and use it
directly.

Fix this bug by adding a NULL check.

Submitted by: Zhou Qingyang <zhou1615@umn.edu>

Github: closes #304


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1908972 13f79535-47bb-0310-9956-ffa450edef68
2023-04-04 21:43:46 +00:00
b11e669f07 *) core/mod_ssl/mpm_event: reverting changes to nonblocing SSL handshakes
to stabilize CI tests again. Previous revision of trunk has been copied
     to branches/trunk-ssl-handshake-unblocking to make those into a PR where
     changes can be discussed and tested separately.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1897760 13f79535-47bb-0310-9956-ffa450edef68
2022-02-04 12:22:26 +00:00
b36b129f34 mod_cgi[d]: Close the connection after handling nph- scripts.
The HTTP output filters chain is bypassed for nph- scripts (whatever this
means), so there is no way to know whether the connection is reusable after
sending the cgi response (opaque header + body).

Set r->connection->keepalive = AP_CONN_CLOSE unconditionally.

For instance test frameork's "nph-foldhdr.pl" script responds with HTTP/1.0
and no Content-Length so closing the connection is the only way to detect the
end of response for the peer.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1897563 13f79535-47bb-0310-9956-ffa450edef68
2022-01-28 12:32:25 +00:00
54a200291b event: Add support for non blocking behaviour in the
CONN_STATE_READ_REQUEST_LINE phase, in addition to the existing
CONN_STATE_WRITE_COMPLETION phase. Update mod_ssl to perform non blocking
TLS handshakes.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1897281 13f79535-47bb-0310-9956-ffa450edef68
2022-01-21 00:09:24 +00:00
9c14928e79 add IndexForbiddenReturn404 to help silence scanners
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894455 13f79535-47bb-0310-9956-ffa450edef68
2021-10-21 18:52:48 +00:00
9b432e0ce0 mod_info: Output AP_MPMQ_MAX_DAEMONS instead of AP_MPMQ_MAX_DAEMON_USED.
The latter is maintained in the parent process only (for maintenance) and is
meaningless in the child process (by design).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894195 13f79535-47bb-0310-9956-ffa450edef68
2021-10-13 14:30:03 +00:00
f7e848dd28 * modules/generators/mod_cgid.c (cgid_server): Register cleanup for
socket earlier to avoid possible leaks on error paths.  (highlighted
  by Coverity scan)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1887727 13f79535-47bb-0310-9956-ffa450edef68
2021-03-16 15:31:58 +00:00
ce01739011 Enable mod_cgid stderr handling via Unix socket fd transfer by
default, rather than as an opt-in configure flag.  (This has been
tested in Fedora for >12 months without seeing any new problems)

* configure.in: Check for CMSG_DATA here, and define HAVE_FDPASSING
  and $ap_has_fdpassing if fd passing is supported.
    
* modules/generator/config5.m4,
  modules/generator/mod_cgid.c: Drop configure flag for mod_cgid
  fdpassing support, instead enable where possible by default.
    
* modules/proxy/config.m4: Rely on configure test for CMSG_DATA.
    
* .travis.yml: Switch test for cgid fdpassing for testing w/o
  CMSG_DATA.

Github: closes #172
PR: 54221


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1886912 13f79535-47bb-0310-9956-ffa450edef68
2021-02-25 09:11:57 +00:00
2e4c19c2e3 Fix a compilation error in maintainer mode and be consistent with 'make_autoindex_entry()'
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1882232 13f79535-47bb-0310-9956-ffa450edef68
2020-10-04 08:59:45 +00:00
4d82ec085b Save a few bytes of memory in mod_autoindex
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1882231 13f79535-47bb-0310-9956-ffa450edef68
2020-10-04 08:33:52 +00:00
eabfcda175 Further re-unification of code duplicated across mod_cgi/mod_cgid into
cgi_common.h.  Functional changes:

- brings the PR 61980 fix to mod_cgid as well, and 
- some mod_cgid-specific APLOGNOs are dropped in favour of the
  code used in the equivalent error path in mod_cgi

... otherwise no user-visible changes (intended).

* modules/generators/cgi_common.h (log_scripterror, log_script_err): Move
  here from mod_cgi.
  (cgi_handle_exec): Move here, renamed from mod_cgi's handle_exec.
  (cgi_optfns_retrieve): New function, split out from mod_cgi's cgi_post_config.
  
* modules/generators/mod_cgid.c: Adjust accordingly, update to pass
  logno separately.
  (register_hooks): Register cgi_optfns_retrieve.

* modules/generators/mod_cgi.c: Adjust accordingly.
  (register_hooks): Register cgi_optfns_retrieve.

Github: closes #141


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1881559 13f79535-47bb-0310-9956-ffa450edef68
2020-09-08 14:08:22 +00:00
066f641991 * modules/generators/cgi_common.h (cgi_handle_response): Avoid trying
to read the output brigade twice in the case of a timeout.
  
PR: 64709


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1881459 13f79535-47bb-0310-9956-ffa450edef68
2020-09-04 13:56:25 +00:00
ef961c372a This not a hot path in RL use case, but looks to be one during testing with the test framework.
Sso save a few cycles in this (unusual) use case.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1880509 13f79535-47bb-0310-9956-ffa450edef68
2020-08-01 16:56:25 +00:00
edb644302a * modules/generators/mod_cgid.c (get_cgi_pid): Fix test for pid=0.
(cgid_handler): Remove duplicated test for pid=0 here added in
  r1879119.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1879860 13f79535-47bb-0310-9956-ffa450edef68
2020-07-14 16:25:43 +00:00
1d85117875 * modules/generators/mod_cgid.c (get_req): Add basic sanity
checking for the structure received in the CGI daemon.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1879136 13f79535-47bb-0310-9956-ffa450edef68
2020-06-24 07:32:36 +00:00
279af56a53 * modules/generators/mod_cgid.c (cgid_handler): Bail immediately with
a 503 response on errors when talking to the daemon.  Check the pid
  returned is not zero.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1879119 13f79535-47bb-0310-9956-ffa450edef68
2020-06-23 16:39:25 +00:00
3c47401358 Declare pre_translate hook in lua/info/log_debug/example modules, and docs.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1879077 13f79535-47bb-0310-9956-ffa450edef68
2020-06-22 10:34:28 +00:00
4c79fd280d Add ap_normalize_path() to replace ap_getparents() (with options).
include/httpd.h: Declare ap_normalize_path() and flags.
    AP_NORMALIZE_ALLOW_RELATIVE:
        Don't require that the path be absolute as per RFC 7230.
        This is needed for lookup subrequests.
    AP_NORMALIZE_NOT_ABOVE_ROOT:
        Check that directory traversal ("..") don't go above root, or
        initial directory with relative paths.
    AP_NORMALIZE_DECODE_UNRESERVED:
        Decode unreserved characters (like '.') first since they have
        the same semantics encoded and decoded.
    AP_NORMALIZE_MERGE_SLASHES:
        Merge multiple slahes into a single one.
    AP_NORMALIZE_DROP_PARAMETERS:
        Ignore path parameters (";foo=bar"). Not used by httpd but since
        ap_normalize_path() is taken from mod_jk's jk_servlet_normalize()
        it can allow them to use the upstream version now.

server/util.c: Implement ap_normalize_path().

modules/dav/main/util.c: Replace call to ap_getparents() using
    ap_normalize_path() with AP_NORMALIZE_DECODE_UNRESERVED flag since
    the path comes from an obsolute URL (thus potentially %-encoded).
    
modules/generators/mod_autoindex.c: Replace call to ap_getparents() using
    ap_normalize_path() with AP_NORMALIZE_ALLOW_RELATIVE and
    AP_NORMALIZE_NOT_ABOVE_ROOT flags to be consistent with original code.

include/ap_mmn.h: MINOR bump for ap_normalize_path().



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1879074 13f79535-47bb-0310-9956-ffa450edef68
2020-06-22 10:29:27 +00:00
f461bcf12c Add missing pool tags to help debugging.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1876599 13f79535-47bb-0310-9956-ffa450edef68
2020-04-16 12:32:33 +00:00
2f76ae80c0 * modules/generators/cgi_common.h (cgi_handle_request): Catch
(unlikely) apr_bucket_read() failure when reading request.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1874511 13f79535-47bb-0310-9956-ffa450edef68
2020-02-25 16:34:47 +00:00
82b87850ee * modules/generators/cgi_common.h (cgi_handle_request): Factor out
near-identical common code from mod_cgid, mod_cgi.

* modules/generators/mod_cgid.c (cgid_handler),
  modules/generators/mod_cgi.c (cgi_handler):
  Adjust to use cgi_handle_request.

Github: closes #97


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1874491 13f79535-47bb-0310-9956-ffa450edef68
2020-02-25 12:34:00 +00:00
fbecdc0f1e PR62989: DOCTYPE tags in server-generated HTML.
Submitted By: Andra Farkas <deepbluemistake gmail.com>, Giovanni Bechis <giovanni paclan.it>




git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1873397 13f79535-47bb-0310-9956-ffa450edef68
2020-01-31 02:38:05 +00:00
c5fcb84758 Add comment, no functional change.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1869421 13f79535-47bb-0310-9956-ffa450edef68
2019-11-05 16:44:22 +00:00
f0abf76803 Fix build broken w/o --enable-cgid-fdpassing by r1867968:
* modules/generators/cgi_common.h: Only define CGI bucket type
  if WANT_CGI_BUCKET is defined.

* modules/generators/mod_cgi.c: Always include cgi_common.h, defining
  WANT_CGI_BUCKET iff APR_FILES_AS_SOCKETS is defined

* modules/generators/mod_cgid.c: Always include cgi_common.h, defining
  WANT_CGI_BUCKET iff HAVE_CGID_FDPASSING (--enable-cgid-fdpassing).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1867971 13f79535-47bb-0310-9956-ffa450edef68
2019-10-04 09:56:42 +00:00
4a835a7745 * modules/generators/cgi_common.h (discard_script_output): Simplify
slightly and ensure constant rather than unlimited memory
  consumption when discarding CGI script output (for e.g. a redirect
  response).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1867970 13f79535-47bb-0310-9956-ffa450edef68
2019-10-04 09:24:07 +00:00
54c71d419a Move common (and near-identical) code for CGI response output handling
to cgi_common.h; the diff between the modules for this code was as
follows:

https://people.apache.org/~jorton/mod_cgi-to-cgid-handler.diff

Change from previous: mod_cgi will now explicitly discard output when
returning HTTP_MOVED_TEMPORARILY for relative redirects (should not be
functionally different), TRACE1 logging of ap_pass_brigade failures
for mod_cgid is dropped.

* modules/generators/cgi_common.h (cgi_handle_response): New function,
  factored out from mod_cgid.
  (discard_script_output): Copied function from mod_cgi/d unchanged.

* modules/generator/mod_cgid.c (cgid_handler),
  modules/generator/mod_cgi.c (cgi_handler): Use cgi_handle_response.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1867968 13f79535-47bb-0310-9956-ffa450edef68
2019-10-04 09:20:33 +00:00
58b69a442e * modules/generators/cgi_common.h (cgi_bucket_create):
Disable APR timeout handling here for all callers.

* modules/generators/mod_cgi.c (cgi_handler): ... drop it here.

PR: 63797


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1867882 13f79535-47bb-0310-9956-ffa450edef68
2019-10-02 10:41:22 +00:00
2715cad0f9 * modules/generators/mod_cgid.c (sock_readhdr): Only set up control
message block when required; add some additional error handling.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1867878 13f79535-47bb-0310-9956-ffa450edef68
2019-10-02 09:58:01 +00:00
eda8ddfc71 mod_cgid: Continuation of r1862968, experimental fd passing support.
Split out CGI bucket implementation from mod_cgi and use in both
mod_cgi and mod_cgid, bringing stderr handling in mod_cgid up to par
with mod_cgi.  (There is a lot of code which has been copied between
mod_cgi{,d} so there's scope for further reduction of source
duplication between the modules using this header)

* modules/generators/cgi_common.h: Copied from mod_cgi.c, removed
  everything but the CGI bucket implementation with only one change:
  (struct cgi_bucket_data, cgi_bucket_create, cgi_bucket_read): Take a
  timeout on bucket creation, store and use on reads.

* modules/generators/mod_cgi.c [APR_FILES_AS_SOCKETS]: Include
  cgi_common.h.
  (cgi_handler): Pass configured timeout to CGI bucket.

* modules/generators/mod_cgid.c: Include cgi_common.h.
  (log_script_err): Copy from mod_cgi.c.
  (log_script): Use log_script_err.
  (send_req): Take fd for stderr.
  (cgid_child_errfn): Handle fd-passing case by writing error
  to stderr for client to pass through ap_log_rerror.
  (cgid_handler): Create pipe for stderr, pass write-end to
  server via send_req, use read-end to create CGI bucket.  Handle
  stderr output in failure paths.

PR: 54221


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1863191 13f79535-47bb-0310-9956-ffa450edef68
2019-07-17 07:51:53 +00:00
fa36c0e2d7 Add experimental support for fd passing in mod_cgid. Attaches CGI
script stderr to the error log specific to the vhost, by passing the
appropriate fd over the AF_UNIX socket from the request handling
thread to the cgid server process.

* modules/generators/config5.m4: Add --enable-cgid-fdpassing.

* modules/generators/mod_cgid.c (sock_readhdr): New function, also
  returns auxiliary control data (the stderr fd) if available.
  (sock_write): Take optional aux fd argument, send it as control
  data.  (send_req, get_req): Adjust accordingly to pass/receive the
  stderr fd.
  (cgid_server): Use passed fd if available, limit the lifetime.
  
PR: 60692


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1862968 13f79535-47bb-0310-9956-ffa450edef68
2019-07-12 12:09:04 +00:00
204a0036e4 Fix wrong use of ap_rputs with formats.
Use ap_rprintf instead.
It seems noone has PIPE_BUF defined.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1857515 13f79535-47bb-0310-9956-ffa450edef68
2019-04-14 13:21:08 +00:00
9efafb1d06 Use APR apr_time_as_msec() macro for conversion
from apr_time_t to milliseconds instead of
hard-coded division by 1000.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1839780 13f79535-47bb-0310-9956-ffa450edef68
2018-08-31 18:11:11 +00:00
ed52157949 mod_status: Cumulate CPU time of exited child
processes in the "cu" and "cs" values.
Add CPU time of the parent process to the
"c" and "s" values.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837595 13f79535-47bb-0310-9956-ffa450edef68
2018-08-07 13:04:05 +00:00
2a7d17c766 mod_status: Add cumulated response duration time
in milliseconds.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837590 13f79535-47bb-0310-9956-ffa450edef68
2018-08-07 10:48:05 +00:00