]> git.ipfire.org Git - thirdparty/apache/httpd.git/log
thirdparty/apache/httpd.git
3 years agohttp: Enforce that fully qualified uri-paths not to be forward-proxied
Yann Ylavic [Mon, 13 Dec 2021 18:55:18 +0000 (18:55 +0000)] 
http: Enforce that fully qualified uri-paths not to be forward-proxied
      have an http(s) scheme, and that the ones to be forward proxied have a
      hostname, per HTTP specifications.

The early checks avoid failing the request later on and thus save cycles
for those invalid cases.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895921 13f79535-47bb-0310-9956-ffa450edef68

3 years agomod_proxy: Detect unix: scheme syntax errors at load time.
Yann Ylavic [Mon, 13 Dec 2021 18:07:22 +0000 (18:07 +0000)] 
mod_proxy: Detect unix: scheme syntax errors at load time.

* modules/proxy/mod_proxy.c(add_pass, add_member, set_proxy_param,
                            proxysection):
  Check return value of ap_proxy_de_socketfy().

* modules/proxy/proxy_util.c(ap_proxy_get_worker_ex):
  Check return value of ap_proxy_de_socketfy().

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895914 13f79535-47bb-0310-9956-ffa450edef68

3 years agoAdd a note about aliging mapping= with the backend's. [skip ci]
Yann Ylavic [Mon, 13 Dec 2021 16:37:29 +0000 (16:37 +0000)] 
Add a note about aliging mapping= with the backend's. [skip ci]

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895907 13f79535-47bb-0310-9956-ffa450edef68

3 years agoAdd Travis job for 2.4.x against OpenSSL 3, using APR 1.7/apr-util 1.6.
Joe Orton [Mon, 13 Dec 2021 16:24:03 +0000 (16:24 +0000)] 
Add Travis job for 2.4.x against OpenSSL 3, using APR 1.7/apr-util 1.6.
Disable TEST_MALLOC (enabled by accident) for OpenSSL 3 / trunk job.
Restrict OpenSSL 3 / apr trunk build to non-2.4.x.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895905 13f79535-47bb-0310-9956-ffa450edef68

3 years agoImprove docs for ProxyPass mapping= parameter. [skip ci]
Yann Ylavic [Mon, 13 Dec 2021 15:07:45 +0000 (15:07 +0000)] 
Improve docs for ProxyPass mapping= parameter. [skip ci]

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895895 13f79535-47bb-0310-9956-ffa450edef68

3 years agoAdd Travis build job building/testing mod_ssl against OpenSSL 3.
Joe Orton [Fri, 10 Dec 2021 17:17:37 +0000 (17:17 +0000)] 
Add Travis build job building/testing mod_ssl against OpenSSL 3.

Github: closes #282

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895787 13f79535-47bb-0310-9956-ffa450edef68

3 years ago* modules/ssl/ssl_engine_io.c (bio_filter_in_ctrl): Remove debugging
Joe Orton [Fri, 10 Dec 2021 14:50:19 +0000 (14:50 +0000)] 
* modules/ssl/ssl_engine_io.c (bio_filter_in_ctrl): Remove debugging
  assert for unexpected control commands, matching bio_filter_out_ctrl
  which also ignores such invocations.  Fixes core dumps in debug
  builds with OpenSSL 3.0.0 which triggers this via the
  BIO_get_ktls_recv() call on the SSL bio, aka
    BIO_ctrl(b, BIO_CTRL_GET_KTLS_RECV, ...);

See: https://github.com/openssl/openssl/blob/105af0ad923a665ca5fee296b52dbf34b524a2aa/ssl/record/rec_layer_s3.c#L274

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895774 13f79535-47bb-0310-9956-ffa450edef68

3 years agodocs: rebuild of documentation
Stefan Eissing [Fri, 10 Dec 2021 12:22:17 +0000 (12:22 +0000)] 
docs: rebuild of documentation
[skip ci]

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895756 13f79535-47bb-0310-9956-ffa450edef68

3 years ago *) mod_tls: adding module documentation to our manuals.
Stefan Eissing [Fri, 10 Dec 2021 12:20:49 +0000 (12:20 +0000)] 
  *) mod_tls: adding module documentation to our manuals.
[skip ci]

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895755 13f79535-47bb-0310-9956-ffa450edef68

3 years ago * When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
Stefan Eissing [Thu, 9 Dec 2021 14:15:19 +0000 (14:15 +0000)] 
 * When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
   send a GOAWAY frame much too early on new connections, leading to invalid
   protocol state and a client failing the request. See PR65731 at
   <https://bz.apache.org/bugzilla/show_bug.cgi?id=65731>.
   The module now initializes the HTTP/2 protocol correctly and allows the
   client to submit one request before the shutdown via a GOAWAY frame
   is being announced.

No changes-entries, since this fix is proposed for backport on the 1.15.x
module codebase in 2.4.x in a separate PR.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895724 13f79535-47bb-0310-9956-ffa450edef68

3 years ago* Correctly sent a 100 Continue status code when sending an interim
Ruediger Pluem [Thu, 9 Dec 2021 08:38:30 +0000 (08:38 +0000)] 
* Correctly sent a 100 Continue status code when sending an interim
  response as result of an Expect: 100-Continue in the request and not the
  current status code of the request.

PR: 65725

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895719 13f79535-47bb-0310-9956-ffa450edef68

3 years ago* Whitespace fixes
Ruediger Pluem [Thu, 9 Dec 2021 08:31:09 +0000 (08:31 +0000)] 
* Whitespace fixes

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895718 13f79535-47bb-0310-9956-ffa450edef68

3 years ago* Do not change the status code after we already sent it to the client.
Ruediger Pluem [Thu, 9 Dec 2021 07:40:25 +0000 (07:40 +0000)] 
* Do not change the status code after we already sent it to the client.
  Changing the status code after we sent it to the client causes a status
  code being logged that is different from the one sent to the client which
  can be confusing.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895715 13f79535-47bb-0310-9956-ffa450edef68

3 years agoAs in r1877467 for mod_ssl, for OpenSSL 1.1.1+ require that OpenSSL is
Joe Orton [Tue, 7 Dec 2021 16:02:21 +0000 (16:02 +0000)] 
As in r1877467 for mod_ssl, for OpenSSL 1.1.1+ require that OpenSSL is
configured with a suitable entropy source and don't try to seed it
from getpid etc.

* support/ab.c (main): Check RAND_status().
  (ssl_rand_seed, ssl_rand_choosenum): Drop for OpenSSL 1.1.1+.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895659 13f79535-47bb-0310-9956-ffa450edef68

3 years agompm_event: Follow up to r1895553.
Yann Ylavic [Mon, 6 Dec 2021 17:12:28 +0000 (17:12 +0000)] 
mpm_event: Follow up to r1895553.

We can still kill processes above MaxSpareThreads at every maintenance cycle
unless there is not enough headromm in the scoreboard for a graceful restart.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895630 13f79535-47bb-0310-9956-ffa450edef68

3 years ago *) mod_http2: fixed a bug in v2.0.0 that could lead to an infinite
Stefan Eissing [Mon, 6 Dec 2021 10:34:27 +0000 (10:34 +0000)] 
  *) mod_http2: fixed a bug in v2.0.0 that could lead to an infinite
     loop when clients close connections prematurely.
     Enhanced the scoreboard status updates on h2 connections for
     mod_status. 'server-status' now gives a better idea what the
     connection is working on.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895614 13f79535-47bb-0310-9956-ffa450edef68

3 years agofr doc rebuild.
Lucien Gentis [Sat, 4 Dec 2021 15:18:28 +0000 (15:18 +0000)] 
fr doc rebuild.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895577 13f79535-47bb-0310-9956-ffa450edef68

3 years agofr doc XML file update.
Lucien Gentis [Sat, 4 Dec 2021 15:17:12 +0000 (15:17 +0000)] 
fr doc XML file update.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895576 13f79535-47bb-0310-9956-ffa450edef68

3 years agoRevert r1895551: seems to break python tests..
Yann Ylavic [Fri, 3 Dec 2021 21:23:49 +0000 (21:23 +0000)] 
Revert r1895551: seems to break python tests..

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895562 13f79535-47bb-0310-9956-ffa450edef68

3 years ago* support/ab.c (main): Check apr_getopt() returned APR_EOF, fixing clang
Joe Orton [Fri, 3 Dec 2021 16:40:18 +0000 (16:40 +0000)] 
* support/ab.c (main): Check apr_getopt() returned APR_EOF, fixing clang
 warning:

support/ab.c:2343:13: warning[deadcode.DeadStores]: Although the value stored to 'status' is used in the enclosing expression, the value is never actually read from 'status'

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895559 13f79535-47bb-0310-9956-ffa450edef68

3 years agoSync CHANGES entries. [skip ci].
Yann Ylavic [Fri, 3 Dec 2021 16:09:47 +0000 (16:09 +0000)] 
Sync CHANGES entries. [skip ci].

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895558 13f79535-47bb-0310-9956-ffa450edef68

3 years agompm_event: Follow up to r1894285: new MaxSpareThreads heuristics.
Yann Ylavic [Fri, 3 Dec 2021 13:25:51 +0000 (13:25 +0000)] 
mpm_event: Follow up to r1894285: new MaxSpareThreads heuristics.

When at MaxSpareThreads, instead of deferring the stop if we are close to
active/server limit let's wait for the pending exits to complete.

This way we always and accurately account for slow-to-exit processes to
avoid filling up the scoreboard, whether at the limits or not.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895553 13f79535-47bb-0310-9956-ffa450edef68

3 years ago* modules/filters/mod_deflate.c (deflate_in_filter): Handle FLUSH in
Joe Orton [Fri, 3 Dec 2021 13:07:42 +0000 (13:07 +0000)] 
* modules/filters/mod_deflate.c (deflate_in_filter): Handle FLUSH in
  the input brigade even if done inflating (ctx->done is true), but
  don't try to flush the inflate stream in that case.  (Caught by
  Coverity)

Github: closes #280

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895552 13f79535-47bb-0310-9956-ffa450edef68

3 years agompm_event: Close the listeners first for ungraceful stop too.
Yann Ylavic [Fri, 3 Dec 2021 13:00:45 +0000 (13:00 +0000)] 
mpm_event: Close the listeners first for ungraceful stop too.

Just like for graceful stop.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895551 13f79535-47bb-0310-9956-ffa450edef68

3 years agompm_event: Retain active_daemons instead of resetting it on restart.
Yann Ylavic [Fri, 3 Dec 2021 12:59:02 +0000 (12:59 +0000)] 
mpm_event: Retain active_daemons instead of resetting it on restart.

Since active_daemons is tracked by perform_idle_server_maintenance() and
decremented when a child gets quiescing or exits, clearing it on restart
is actually an off by -total_daemons (of the old gen) after the first calls
to perform_idle_server_maintenance().

Let perform_idle_server_maintenance() be the only one to update active_daemons
by putting it in the retained struct to keep track accross restarts.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895550 13f79535-47bb-0310-9956-ffa450edef68

3 years ago * mod_tls: remove modules.mk, should not be under version control
Stefan Eissing [Wed, 1 Dec 2021 17:12:06 +0000 (17:12 +0000)] 
 * mod_tls: remove modules.mk, should not be under version control

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895472 13f79535-47bb-0310-9956-ffa450edef68

3 years ago * test: removing the loadtest.py from test/modules/tls that requires additional...
Stefan Eissing [Wed, 1 Dec 2021 14:03:42 +0000 (14:03 +0000)] 
  * test: removing the loadtest.py from test/modules/tls that requires additional python packages.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895467 13f79535-47bb-0310-9956-ffa450edef68

3 years ago * travis: installing librustls in $PREFIX and using
Stefan Eissing [Wed, 1 Dec 2021 11:54:25 +0000 (11:54 +0000)] 
  * travis: installing librustls in $PREFIX and using
    it from there.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895456 13f79535-47bb-0310-9956-ffa450edef68

3 years ago * test suite: add an image to test mod_tls on travis
Stefan Eissing [Wed, 1 Dec 2021 09:50:33 +0000 (09:50 +0000)] 
 * test suite: add an image to test mod_tls on travis
   Let's see what the hamsters think of the setup I use
   on a local docker focal.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895451 13f79535-47bb-0310-9956-ffa450edef68

3 years ago * test: check the h2load version for test suite making use
Stefan Eissing [Tue, 30 Nov 2021 17:10:13 +0000 (17:10 +0000)] 
  * test: check the h2load version for test suite making use
   of its --connect-to feature (available since 1.41.0).

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895434 13f79535-47bb-0310-9956-ffa450edef68

3 years ago * test suite: adding modules/tls, the test suite for the
Stefan Eissing [Tue, 30 Nov 2021 16:30:26 +0000 (16:30 +0000)] 
  * test suite: adding modules/tls, the test suite for the
    new mod_tls module to be run via pytest.
    Integration into travis TBD.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895433 13f79535-47bb-0310-9956-ffa450edef68

3 years ago *) mod_tls: added mod_tls from abetterinternet, donated
Stefan Eissing [Tue, 30 Nov 2021 16:29:20 +0000 (16:29 +0000)] 
  *) mod_tls: added mod_tls from abetterinternet, donated
     by ISRG/Prossimo <https://github.com/abetterinternet/mod_tls>.
     - adds font-/backend TLS (v1.2/v1.3) via the Rust rustls crate
       and its rustls-ffi C binding <https://github.com/rustls/rustls-ffi>.
     - documentation at <https://github.com/abetterinternet/mod_tls>
       (adding to Apache's manual TBD)
     - build support for Apache httpd configure on *nix platforms,
       rustls is linked statically into mod_tls.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895432 13f79535-47bb-0310-9956-ffa450edef68

3 years agoallicating numbers for mod_tls. [skip ci]
Stefan Eissing [Tue, 30 Nov 2021 16:28:59 +0000 (16:28 +0000)] 
allicating numbers for mod_tls. [skip ci]

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895431 13f79535-47bb-0310-9956-ffa450edef68

3 years ago * test: allow more flexibility in the ssl modules used
Stefan Eissing [Tue, 30 Nov 2021 15:58:30 +0000 (15:58 +0000)] 
  * test: allow more flexibility in the ssl modules used
    for a vhost. Adjust http2 and md test cases for working
    with modules other than mod_ssl.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895429 13f79535-47bb-0310-9956-ffa450edef68

3 years ago * mod_md: install the early config hook with _FIRST, so that
Stefan Eissing [Tue, 30 Nov 2021 15:57:05 +0000 (15:57 +0000)] 
  * mod_md: install the early config hook with _FIRST, so that
   they run before any ssl modules runs get_certificates hooks.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895428 13f79535-47bb-0310-9956-ffa450edef68

3 years ago * mod_http2: handle gracefully when SSL_PROTOCOL variable is not available.
Stefan Eissing [Tue, 30 Nov 2021 15:56:07 +0000 (15:56 +0000)] 
  * mod_http2: handle gracefully when SSL_PROTOCOL variable is not available.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895427 13f79535-47bb-0310-9956-ffa450edef68

3 years ago * mod_http2: the new pollset implementation is disabled when
Stefan Eissing [Fri, 26 Nov 2021 09:29:07 +0000 (09:29 +0000)] 
  * mod_http2: the new pollset implementation is disabled when
    compiling with an APR version less than 1.6.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895349 13f79535-47bb-0310-9956-ffa450edef68

3 years agoRevert spurious commit r1895340.
Yann Ylavic [Thu, 25 Nov 2021 20:47:14 +0000 (20:47 +0000)] 
Revert spurious commit r1895340.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895341 13f79535-47bb-0310-9956-ffa450edef68

3 years agoTrigger ci.
Yann Ylavic [Thu, 25 Nov 2021 20:45:54 +0000 (20:45 +0000)] 
Trigger ci.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895340 13f79535-47bb-0310-9956-ffa450edef68

3 years agomod_http2: fix logic for non-proxy Server and Date response headers.
Yann Ylavic [Thu, 25 Nov 2021 15:57:21 +0000 (15:57 +0000)] 
mod_http2: fix logic for non-proxy Server and Date response headers.

First error was in r1890564 where the test for !PROXYREQ_NONE was replaced by
PROXYREQ_RESPONSE (which is never the case besides the fake proxy origin
request) so a mod_h2 PR tried to fix that but the logic is now incorrect.

Let's finally use the same logic as ap_basic_http_header().

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895336 13f79535-47bb-0310-9956-ffa450edef68

3 years agomod_proxy: SetEnv proxy-nohalfclose to disable half-close tunneling. PR 65662.
Yann Ylavic [Wed, 24 Nov 2021 17:49:47 +0000 (17:49 +0000)] 
mod_proxy: SetEnv proxy-nohalfclose to disable half-close tunneling. PR 65662.

Some connect/wstunnel protocols might want half-close forwarding while some
might not, let's provide an r->subprocess_env opt-out.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895304 13f79535-47bb-0310-9956-ffa450edef68

3 years ago * mod_md: resurrection of r1893969 after accidental overwrite in r1894610
Stefan Eissing [Wed, 24 Nov 2021 10:56:20 +0000 (10:56 +0000)] 
  * mod_md: resurrection of r1893969 after accidental overwrite in r1894610

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895287 13f79535-47bb-0310-9956-ffa450edef68

3 years ago * test: updating modules/md eab test for file feature
Stefan Eissing [Wed, 24 Nov 2021 10:20:52 +0000 (10:20 +0000)] 
  * test: updating modules/md eab test for file feature

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895286 13f79535-47bb-0310-9956-ffa450edef68

3 years ago *) mod_md: values for External Account Binding (EAB) can
Stefan Eissing [Wed, 24 Nov 2021 10:13:42 +0000 (10:13 +0000)] 
  *) mod_md: values for External Account Binding (EAB) can
     now also be configured to be read from a separate JSON
     file. This allows to keep server configuration permissions
     world readable without exposing secrets.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895285 13f79535-47bb-0310-9956-ffa450edef68

3 years ago * HTTP2 test image: make sure all mpms are build, so we can test event and worker
Stefan Eissing [Thu, 18 Nov 2021 11:44:17 +0000 (11:44 +0000)] 
 * HTTP2 test image: make sure all mpms are build, so we can test event and worker

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895147 13f79535-47bb-0310-9956-ffa450edef68

3 years agoSync r1895107 from libapreq.
Yann Ylavic [Wed, 17 Nov 2021 15:25:00 +0000 (15:25 +0000)] 
Sync r1895107 from libapreq.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895108 13f79535-47bb-0310-9956-ffa450edef68

3 years agoSync r1895075 from libapreq.
Yann Ylavic [Tue, 16 Nov 2021 00:15:22 +0000 (00:15 +0000)] 
Sync r1895075 from libapreq.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895076 13f79535-47bb-0310-9956-ffa450edef68

3 years agoSync r1895054 from libapreq.
Yann Ylavic [Mon, 15 Nov 2021 14:56:23 +0000 (14:56 +0000)] 
Sync r1895054 from libapreq.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895055 13f79535-47bb-0310-9956-ffa450edef68

3 years agoSync r1895020 and r1895021 from libapreq.
Yann Ylavic [Sun, 14 Nov 2021 11:22:07 +0000 (11:22 +0000)] 
Sync r1895020 and r1895021 from libapreq.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895023 13f79535-47bb-0310-9956-ffa450edef68

3 years agoapreq: Sync r1894983 from libapreq.
Yann Ylavic [Fri, 12 Nov 2021 21:47:09 +0000 (21:47 +0000)] 
apreq: Sync r1894983 from libapreq.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894986 13f79535-47bb-0310-9956-ffa450edef68

3 years agoapreq: Sync r1894982 from libapreq.
Yann Ylavic [Fri, 12 Nov 2021 21:46:11 +0000 (21:46 +0000)] 
apreq: Sync r1894982 from libapreq.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894985 13f79535-47bb-0310-9956-ffa450edef68

3 years agoapreq: Sync r1894977 from libapreq.
Yann Ylavic [Fri, 12 Nov 2021 14:11:57 +0000 (14:11 +0000)] 
apreq: Sync r1894977 from libapreq.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894978 13f79535-47bb-0310-9956-ffa450edef68

3 years ago *) mod_http2: always return an EOS bucket for requests
Stefan Eissing [Thu, 11 Nov 2021 11:16:23 +0000 (11:16 +0000)] 
  *) mod_http2: always return an EOS bucket for requests
     that have no body on c2 connection input filter.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894949 13f79535-47bb-0310-9956-ffa450edef68

3 years agoapreq: Sync r1894940 from libapreq.
Yann Ylavic [Thu, 11 Nov 2021 02:33:41 +0000 (02:33 +0000)] 
apreq: Sync r1894940 from libapreq.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894941 13f79535-47bb-0310-9956-ffa450edef68

3 years agoapreq: Sync latest changes from lib apreq.
Yann Ylavic [Thu, 11 Nov 2021 02:09:02 +0000 (02:09 +0000)] 
apreq: Sync latest changes from lib apreq.

r1867789, r1894935 and r1894937.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894939 13f79535-47bb-0310-9956-ffa450edef68

3 years ago * testsuite: possible now to issue client certificates and the chain file for them
Stefan Eissing [Wed, 10 Nov 2021 15:54:27 +0000 (15:54 +0000)] 
 * testsuite: possible now to issue client certificates and the chain file for them
 * testsuite: handling of cert+key in same file improved
 * testsuite: using 'stop' configuration to terminate server in case test cases
   leave borked test configs lying around.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894919 13f79535-47bb-0310-9956-ffa450edef68

3 years ago * test HTTP/2: also run core tests and worker mpm
Stefan Eissing [Mon, 8 Nov 2021 14:40:44 +0000 (14:40 +0000)] 
 * test HTTP/2: also run core tests and worker mpm
 * test/README.pytest on how to use pytest suite and
   add test cases.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894835 13f79535-47bb-0310-9956-ffa450edef68

3 years ago * test: just general cleanup and separation
Stefan Eissing [Mon, 8 Nov 2021 12:33:46 +0000 (12:33 +0000)] 
 * test: just general cleanup and separation
   - base modules loaded minimized
   - h2's htdocs/cgi setup now in test/modules/http2
   - less args to constructors, more methods

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894832 13f79535-47bb-0310-9956-ffa450edef68

3 years agofr doc rebuild.
Lucien Gentis [Sat, 6 Nov 2021 16:14:27 +0000 (16:14 +0000)] 
fr doc rebuild.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894781 13f79535-47bb-0310-9956-ffa450edef68

3 years agofr doc XML file update.
Lucien Gentis [Sat, 6 Nov 2021 16:13:19 +0000 (16:13 +0000)] 
fr doc XML file update.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894780 13f79535-47bb-0310-9956-ffa450edef68

3 years ago * mod_http2: a regression in v1.15.24 of the modules was fixed that
Stefan Eissing [Thu, 4 Nov 2021 09:42:45 +0000 (09:42 +0000)] 
  * mod_http2: a regression in v1.15.24 of the modules was fixed that
    could lead to httpd child processes not being terminated on a
    graceful reload or when reaching MaxConnectionsPerChild.
    When unprocessed h2 requests were queued at the time, these could stall.
    See <https://github.com/icing/mod_h2/issues/212>.
    [@hansborr, @famzah, Stefan Eissing]

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894728 13f79535-47bb-0310-9956-ffa450edef68

3 years ago * mod_md: EC private key generation for openssl 3.0 in separate
Stefan Eissing [Wed, 3 Nov 2021 14:29:14 +0000 (14:29 +0000)] 
  * mod_md: EC private key generation for openssl 3.0 in separate
   way since the previous code does not work with it. Keeping
   old code for known interop with other *SSL libs.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894718 13f79535-47bb-0310-9956-ffa450edef68

3 years ago * mod_ssl: fix in CHECK_PRIVKEY_ERROR for openssl 3.0
Stefan Eissing [Wed, 3 Nov 2021 14:27:39 +0000 (14:27 +0000)] 
  * mod_ssl: fix in CHECK_PRIVKEY_ERROR for openssl 3.0

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894716 13f79535-47bb-0310-9956-ffa450edef68

3 years ago * test mod_md: check for older pytest request fixture that does
Stefan Eissing [Fri, 29 Oct 2021 15:08:57 +0000 (15:08 +0000)] 
 * test mod_md: check for older pytest request fixture that does
   not always set the originalname property.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894620 13f79535-47bb-0310-9956-ffa450edef68

3 years ago * test mod_md, try new gopath first, subshell go install cd
Stefan Eissing [Fri, 29 Oct 2021 14:39:46 +0000 (14:39 +0000)] 
 * test mod_md, try new gopath first, subshell go install cd

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894617 13f79535-47bb-0310-9956-ffa450edef68

3 years ago * testsuite mod_md: trying explicit GOROOT instead of travis golang-1.11(really...
Stefan Eissing [Fri, 29 Oct 2021 10:49:48 +0000 (10:49 +0000)] 
 * testsuite mod_md: trying explicit GOROOT instead of travis golang-1.11(really?) provided one

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894614 13f79535-47bb-0310-9956-ffa450edef68

3 years ago * test: mod_md, trying to build pebble by explicitly installing golang-1.14
Stefan Eissing [Fri, 29 Oct 2021 10:40:30 +0000 (10:40 +0000)] 
 * test: mod_md, trying to build pebble by explicitly installing golang-1.14

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894613 13f79535-47bb-0310-9956-ffa450edef68

3 years ago * adjust acceptable log errors fro http2 test suite on travis
Stefan Eissing [Fri, 29 Oct 2021 10:26:40 +0000 (10:26 +0000)] 
 * adjust acceptable log errors fro http2 test suite on travis
 * disable building of pebble for ACME tests as golang shows trouble

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894612 13f79535-47bb-0310-9956-ffa450edef68

3 years ago * mod_md test suite with travis setup similar to mod_http2.
Stefan Eissing [Fri, 29 Oct 2021 10:05:29 +0000 (10:05 +0000)] 
  * mod_md test suite with travis setup similar to mod_http2.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894611 13f79535-47bb-0310-9956-ffa450edef68

3 years ago *) mod_md: adding v2.4.8 with the following changes
Stefan Eissing [Fri, 29 Oct 2021 09:04:38 +0000 (09:04 +0000)] 
  *) mod_md: adding v2.4.8 with the following changes
    - Added support for ACME External Account Binding (EAB).
      Use the new directive `MDExternalAccountBinding` to provide the
      server with the value for key identifier and hmac as provided by
      your CA.
      While working on some servers, EAB handling is not uniform
      across CAs. First tests with a Sectigo Certificate Manager in
      demo mode are successful. But ZeroSSL, for example, seems to
      regard EAB values as a one-time-use-only thing, which makes them
      fail if you create a seconde account or retry the creation of the
      first account with the same EAB.
    - The directive 'MDCertificateAuthority' now checks if its parameter
      is a http/https url or one of a set of known names. Those are
      'LetsEncrypt', 'LetsEncrypt-Test', 'Buypass' and 'Buypass-Test'
      for now and they are not case-sensitive.
      The default of LetsEncrypt is unchanged.
    - `MDContactEmail` can now be specified inside a `<MDomain dnsname>`
      section.
    - Treating 401 HTTP status codes for orders like 403, since some ACME
      servers seem to prefer that for accessing oders from other accounts.
    - When retrieving certificate chains, try to read the repsonse even
      if the HTTP Content-Type is unrecognized.
    - Fixed a bug that reset the error counter of a certificate renewal
      and prevented the increasing delays in further attempts.
    - Fixed the renewal process giving up every time on an already existing
      order with some invalid domains. Now, if such are seen in a previous
      order, a new order is created for a clean start over again.
      See <https://github.com/icing/mod_md/issues/268>
    - Fixed a mixup in md-status handler when static certificate files
      and renewal was configured at the same time.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894610 13f79535-47bb-0310-9956-ffa450edef68

3 years ago * test: update of python test framework after integration with mod_md
Stefan Eissing [Thu, 28 Oct 2021 12:50:02 +0000 (12:50 +0000)] 
 * test: update of python test framework after integration with mod_md
   test suite that should come here soonish.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894599 13f79535-47bb-0310-9956-ffa450edef68

3 years agofr doc rebuild.
Lucien Gentis [Sun, 24 Oct 2021 15:19:47 +0000 (15:19 +0000)] 
fr doc rebuild.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894536 13f79535-47bb-0310-9956-ffa450edef68

3 years agofr doc XML file update.
Lucien Gentis [Sun, 24 Oct 2021 15:14:27 +0000 (15:14 +0000)] 
fr doc XML file update.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894535 13f79535-47bb-0310-9956-ffa450edef68

3 years agofr doc XML file update.
Lucien Gentis [Sun, 24 Oct 2021 14:47:02 +0000 (14:47 +0000)] 
fr doc XML file update.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894534 13f79535-47bb-0310-9956-ffa450edef68

3 years agofr doc XML file update.
Lucien Gentis [Sun, 24 Oct 2021 14:37:47 +0000 (14:37 +0000)] 
fr doc XML file update.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894532 13f79535-47bb-0310-9956-ffa450edef68

3 years agofr doc XML files updates.
Lucien Gentis [Sun, 24 Oct 2021 14:31:51 +0000 (14:31 +0000)] 
fr doc XML files updates.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894531 13f79535-47bb-0310-9956-ffa450edef68

3 years agofix english
Eric Covener [Sat, 23 Oct 2021 18:37:32 +0000 (18:37 +0000)] 
fix english

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894515 13f79535-47bb-0310-9956-ffa450edef68

3 years agofollowup to r1894456: use a DirectorySlash argument instead
Eric Covener [Fri, 22 Oct 2021 00:12:40 +0000 (00:12 +0000)] 
followup to r1894456: use a DirectorySlash argument instead

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894460 13f79535-47bb-0310-9956-ffa450edef68

3 years agoadd DirectorySlashNotFound to silence scanners
Eric Covener [Thu, 21 Oct 2021 18:54:46 +0000 (18:54 +0000)] 
add DirectorySlashNotFound to silence scanners

Almost as awkwardly named as IndexForbiddenReturn404

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894456 13f79535-47bb-0310-9956-ffa450edef68

3 years agoadd IndexForbiddenReturn404 to help silence scanners
Eric Covener [Thu, 21 Oct 2021 18:52:48 +0000 (18:52 +0000)] 
add IndexForbiddenReturn404 to help silence scanners

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894455 13f79535-47bb-0310-9956-ffa450edef68

3 years agompm_event,worker}: Really perform_idle_server_maintenance() per bucket.
Yann Ylavic [Fri, 15 Oct 2021 13:22:11 +0000 (13:22 +0000)] 
mpm_event,worker}: Really perform_idle_server_maintenance() per bucket.

mpm_{event,worker}: No need to pass num_buckets to perform_idle_server_maintenance() and server_main_loop().

mpm_worker: the last used scoreboard slot depends on pid != 0 only.

Align max_daemons_limit value on all MPMs.

That's the number of scoreboard slots in use, so it shouldn't be negative.
Fix off by one in OS/2 too.

Submitted by: ylavic <ylavic.dev@gmail.com>

Github: closes #274

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894291 13f79535-47bb-0310-9956-ffa450edef68

3 years agomod_proxy_connect: Honor the smallest of the backend or client timeout.
Yann Ylavic [Fri, 15 Oct 2021 11:09:32 +0000 (11:09 +0000)] 
mod_proxy_connect: Honor the smallest of the backend or client timeout.

It seems that mod_proxy_connect has never applied any timeout in its tunneling
loop. Address this by setting a default timeout in ap_proxy_tunnel_create()
since mod_proxy_connect does not overwrite tunnel->timeout (while proxy_http
and proxy_wstunnel do).

This default timeout is set to the smallest of the backend side or the client
side timeout.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894290 13f79535-47bb-0310-9956-ffa450edef68

3 years agoFollow up to r1894285: add idle_threads and max_workers to trace5.
Yann Ylavic [Fri, 15 Oct 2021 10:49:32 +0000 (10:49 +0000)] 
Follow up to r1894285: add idle_threads and max_workers to trace5.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894286 13f79535-47bb-0310-9956-ffa450edef68

3 years agompm_event: Restart stopping of idle children after a load peak. PR 65626.
Yann Ylavic [Fri, 15 Oct 2021 10:29:00 +0000 (10:29 +0000)] 
mpm_event: Restart stopping of idle children after a load peak. PR 65626.

r1770752 added an heuristic to avoid stopping children when the load triggers
MaxSpareThreads but children take some time to shut down until the point where
active_daemons_limit/ServerLimit is reached (scoreboard full) and no child gets
created to handle incoming connections.

However when this happens there is nothing to stop children again when the load
settles down (besides MaxRequestsPerChild, which may be 0) so let's restart to
stop children again if/when idle_thread_count reaches max_workers / 4.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894285 13f79535-47bb-0310-9956-ffa450edef68

3 years ago * mod_http2: hopeful (as always) fix for the stalling in 400_20.
Stefan Eissing [Thu, 14 Oct 2021 15:26:59 +0000 (15:26 +0000)] 
  * mod_http2: hopeful (as always) fix for the stalling in 400_20.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894252 13f79535-47bb-0310-9956-ffa450edef68

3 years ago *) mod_http2: disabling 400_20 again, seeing if 401_31 stays fixed.
Stefan Eissing [Thu, 14 Oct 2021 13:02:52 +0000 (13:02 +0000)] 
  *) mod_http2: disabling 400_20 again, seeing if 401_31 stays fixed.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894242 13f79535-47bb-0310-9956-ffa450edef68

3 years ago *) mod_http2: another travis test of the 400_20 and 401_31 tests that produce a...
Stefan Eissing [Thu, 14 Oct 2021 12:37:25 +0000 (12:37 +0000)] 
  *) mod_http2: another travis test of the 400_20 and 401_31 tests that produce a timeout
     only on travis and never locally. sorry about the cycles.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894241 13f79535-47bb-0310-9956-ffa450edef68

3 years ago *) mod_http2: disabling the 2 test cases failing on travis is interim
Stefan Eissing [Thu, 14 Oct 2021 11:32:28 +0000 (11:32 +0000)] 
  *) mod_http2: disabling the 2 test cases failing on travis is interim
     to not stand in other peoples way.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894235 13f79535-47bb-0310-9956-ffa450edef68

3 years ago *) mod_http2: when pollset signals output, resume a streams data
Stefan Eissing [Thu, 14 Oct 2021 10:18:17 +0000 (10:18 +0000)] 
  *) mod_http2: when pollset signals output, resume a streams data
     in nghttp2 every time without checks that response body bytes
     are available. This resolves the situation that a stream may stall
     when 2 consecutive H2HEADER buckets are sent (e.g. 103+200).

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894228 13f79535-47bb-0310-9956-ffa450edef68

3 years ago *) mod_http2: H2HEADER buckets have the correct lenght of zero and no
Stefan Eissing [Thu, 14 Oct 2021 09:58:37 +0000 (09:58 +0000)] 
  *) mod_http2: H2HEADER buckets have the correct lenght of zero and no
     longer smuggle the contained field lengths in this field. Instead
     the bytes reportded to mod_logio are counted specifically.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894226 13f79535-47bb-0310-9956-ffa450edef68

3 years ago *) mod_http2: no longer splitting buckets on adding them to a beam,
Stefan Eissing [Thu, 14 Oct 2021 08:59:12 +0000 (08:59 +0000)] 
  *) mod_http2: no longer splitting buckets on adding them to a beam,
     accepting the whole bucket since no memory is saved by a split.
     Also, allowing meta buckets to be added to a "full" beam.
     Re-enabled test cases for travis verification.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894220 13f79535-47bb-0310-9956-ffa450edef68

3 years ago * test/modules/http2: marking 3 test cases for skip as they
Stefan Eissing [Wed, 13 Oct 2021 16:30:44 +0000 (16:30 +0000)] 
  * test/modules/http2: marking 3 test cases for skip as they
    fail on travis and need further analysis.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894200 13f79535-47bb-0310-9956-ffa450edef68

3 years agomod_info: Output AP_MPMQ_MAX_DAEMONS instead of AP_MPMQ_MAX_DAEMON_USED.
Yann Ylavic [Wed, 13 Oct 2021 14:30:03 +0000 (14:30 +0000)] 
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

3 years ago * mod_http2: I regret my decision to have removed nghttp2 feature checks...
Stefan Eissing [Wed, 13 Oct 2021 13:29:28 +0000 (13:29 +0000)] 
  * mod_http2: I regret my decision to have removed nghttp2 feature checks...

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894192 13f79535-47bb-0310-9956-ffa450edef68

3 years ago * mod_http2: resurrecting check for nghttp function
Stefan Eissing [Wed, 13 Oct 2021 12:26:21 +0000 (12:26 +0000)] 
  * mod_http2: resurrecting check for nghttp function
    nghttp2_session_callbacks_set_on_invalid_header_callback
    adding test for proxy server header behaviour
    making test fixture package scoped for better performance

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894190 13f79535-47bb-0310-9956-ffa450edef68

3 years ago * mod_http2: checking for nghttp2 function 'set_no_closed_streams' on configure.
Stefan Eissing [Wed, 13 Oct 2021 11:15:03 +0000 (11:15 +0000)] 
  * mod_http2: checking for nghttp2 function 'set_no_closed_streams' on configure.
    adapting test result expectations for new nghttp2 1.45 change in checking
    pseudo header fields for invalid characters.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894189 13f79535-47bb-0310-9956-ffa450edef68

3 years ago * mod_http2: avoid the term "pushing" in documentation for H2StreamTimeout
Stefan Eissing [Wed, 13 Oct 2021 08:38:34 +0000 (08:38 +0000)] 
  * mod_http2: avoid the term "pushing" in documentation for H2StreamTimeout
    as this has nothing to do with the HTTP/2 PUSH feature.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894187 13f79535-47bb-0310-9956-ffa450edef68

3 years ago *) mod_http2: resurrecting the check for older nghttp2 versions.
Stefan Eissing [Wed, 13 Oct 2021 08:26:18 +0000 (08:26 +0000)] 
  *) mod_http2: resurrecting the check for older nghttp2 versions.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894184 13f79535-47bb-0310-9956-ffa450edef68

3 years ago* Add first documentation for H2StreamTimeout [skip ci]
Ruediger Pluem [Wed, 13 Oct 2021 08:21:34 +0000 (08:21 +0000)] 
* Add first documentation for H2StreamTimeout [skip ci]

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894183 13f79535-47bb-0310-9956-ffa450edef68

3 years ago* Add two new files generated by transformation [skip ci]
Ruediger Pluem [Wed, 13 Oct 2021 08:20:13 +0000 (08:20 +0000)] 
* Add two new files generated by transformation [skip ci]

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1894182 13f79535-47bb-0310-9956-ffa450edef68