Commit Graph

71 Commits

Author SHA1 Message Date
f2b7303efa mod_md v2.4.19 from github sync
*) mod_md: a new directive `MDStoreLocks` can be used on cluster
     setups with a shared file system for `MDStoreDir` to order
     activation of renewed certificates when several cluster nodes are
     restarted at the same time. Store locks are not enabled by default.

     Restored curl_easy cleanup behaviour from v2.4.14 and refactored
     the use of curl_multi for OCSP requests to work with that.
     Fixes <https://github.com/icing/mod_md/issues/293>.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1903677 13f79535-47bb-0310-9956-ffa450edef68
2022-08-25 14:00:13 +00:00
3e835f22af *) mod_ssl: when a proxy connection had handled a request using SSL, an
error was logged when "SSLProxyEngine" was only configured in the
     location/proxy section and not the overall server. The connection
     continued to work, the error log was in error. Fixed PR66190.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1903167 13f79535-47bb-0310-9956-ffa450edef68
2022-08-01 12:56:11 +00:00
e1625133b1 Make pytest error whitelist a bit more explicit
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1902660 13f79535-47bb-0310-9956-ffa450edef68
2022-07-11 13:49:45 +00:00
76c7f4a33a *) test/modules/http2: adding tests for response trailers with
or without a body. This reproduces a bug reported in
     <https://github.com/icing/mod_h2/issues/233>
     where trailers are not sent on an empty response
     body. This is used in gRPC.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1902408 13f79535-47bb-0310-9956-ffa450edef68
2022-07-02 09:11:31 +00:00
d3d3c599de Remove an empty line to synch with 2.4.x
[skip ci]

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1901842 13f79535-47bb-0310-9956-ffa450edef68
2022-06-12 08:43:22 +00:00
81e84745ff *) test/modules/tls: remove some duplicate parameters for
test_15_proxy_tls_h2_vars.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1901804 13f79535-47bb-0310-9956-ffa450edef68
2022-06-10 09:06:26 +00:00
e6e83f275f *) mod_md: the MDCertificateAuthority directive can take more than one URL/name of
an ACME CA. This gives a failover for renewals when several consecutive attempts
     to get a certificate failed.
     A new directive was added: `MDRetryDelay` sets the delay of retries.
     A new directive was added: `MDRetryFailover` sets the number of errored
     attempts before an alternate CA is selected for certificate renewals.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1900852 13f79535-47bb-0310-9956-ffa450edef68
2022-05-13 11:03:51 +00:00
6b5e7d4588 *) mod_md: added support for managing certificates via a
local tailscale demon for users of that secure networking.
     This gives trusted certificates for tailscale  assigned
     domain names in the *.ts.net space.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1900313 13f79535-47bb-0310-9956-ffa450edef68
2022-04-27 11:48:36 +00:00
80795a9ae2 * Implement full auto status ("key: value" type status output).
Especially not only status summary counts for certificates and
   OCSP stapling but also lists. Auto status format is similar to
   what was used for mod_proxy_balancer.
   [Rainer Jung]



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1900039 13f79535-47bb-0310-9956-ffa450edef68
2022-04-19 14:11:39 +00:00
b737bb8468 *) mod_http2: using new session ids also in logging for connection
contexts and bucket beams.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1900031 13f79535-47bb-0310-9956-ffa450edef68
2022-04-19 10:36:53 +00:00
0e9d2a6c8a *) test: core stress test_core_002 enhanved to monitor dynamic child
changes on load and graceful reload of the server.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1899885 13f79535-47bb-0310-9956-ffa450edef68
2022-04-15 10:59:22 +00:00
f3cbae102d test/core: Allow for 12 simultaneous connections in test_core_002_01.
It seems that h2load somehow issues more connections than the 6 requested (saw
up to 12), so adapt the MPM event configuration accordingly.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1899862 13f79535-47bb-0310-9956-ffa450edef68
2022-04-14 15:26:21 +00:00
53bf99ea9a *) test/core: using rate periods for creating new connections
over time.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1899846 13f79535-47bb-0310-9956-ffa450edef68
2022-04-14 11:37:30 +00:00
b13978eddd *) test/core: start of a stress test case, skipped unless
environment variable STRESS_TEST is present.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1899845 13f79535-47bb-0310-9956-ffa450edef68
2022-04-14 11:09:50 +00:00
8ce99f9ef1 *) mod_http2: use the new RESPONSE buckets introduced in r1899648.
This replaces the internal H2_HEADERS bucket, removing its
     source file and also obsoletes any interim response parsing
     needs.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1899649 13f79535-47bb-0310-9956-ffa450edef68
2022-04-07 10:55:09 +00:00
dc18031936 *) mod_http: genereate HEADERS buckets for trailers
mod_proxy: forward trailers on chunked request encoding
     test: add http/1.x test cases in pytest



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1899552 13f79535-47bb-0310-9956-ffa450edef68
2022-04-04 11:08:58 +00:00
6815cf7d44 *) test: verify that HTTP/2 response carry Date and
`Server` headers.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1899379 13f79535-47bb-0310-9956-ffa450edef68
2022-03-30 08:07:13 +00:00
fd47fda1a1 *) test: making pytest option --repeat global as otherwise
there are conflicts when individual modules add that.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1899198 13f79535-47bb-0310-9956-ffa450edef68
2022-03-25 13:44:41 +00:00
ae479ae567 *) test/modules/tls: make proxy tests repeatable.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1899197 13f79535-47bb-0310-9956-ffa450edef68
2022-03-25 13:25:51 +00:00
a457310273 *) mod_http2: fixed a possible concurrency issue with
registering h2_mplx at h2_workers.
     Improved h2_fifo internals efficiency inspired
     by ap_fdqueue.
     Made 711 tests repeatable.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1899168 13f79535-47bb-0310-9956-ffa450edef68
2022-03-24 09:06:29 +00:00
6bd9d17e08 *) core: adding a new hook and method to the API:
create_secondary_connection and ap_create_secondary_connection()
     to setup connections related to a "master" one, as used in
     the HTTP/2 protocol implementation.

  *) mod_http2: using the new API calls to get rid of knowledge
     about how the core handles conn_rec specifics.
     Improvements in pollset stream handling to use less sets.
     Using atomic read/writes instead of volatiles now.
     Keeping a reserve of "transit" pools and bucket_allocs for
     use on secondary connections to avoid repeated setup/teardowns.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1899032 13f79535-47bb-0310-9956-ffa450edef68
2022-03-18 09:52:52 +00:00
ba8558450e *) test/modules/http2: enable tests again where they should be.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1898473 13f79535-47bb-0310-9956-ffa450edef68
2022-02-28 12:12:09 +00:00
ef648ab01d *) test: check for the mpm module used and disable http2 tests
for prefork.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1898417 13f79535-47bb-0310-9956-ffa450edef68
2022-02-25 13:17:11 +00:00
ae5794bde6 *) test/modules/http2. convert bytes to string before
writing output of a failed transfer to file.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1898373 13f79535-47bb-0310-9956-ffa450edef68
2022-02-24 12:40:28 +00:00
6137cd7b74 *) mod_http2: preserve the port number given in a HTTP/1.1
request that was Upgraded to HTTP/2. Fixes PR65881.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1898146 13f79535-47bb-0310-9956-ffa450edef68
2022-02-17 10:06:31 +00:00
c0c21ea991 *) test: capture and parse output from nghttp more reliably.
add repeat param to certain proxy tests.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1898068 13f79535-47bb-0310-9956-ffa450edef68
2022-02-14 13:52:55 +00:00
b90220157d *) mod_http2: :scheme pseudo-header values, not matching the
connection scheme, are forwarded via absolute uris to the
     http protocol processing to preserve semantics of the request.
     Checks on combinations of pseudo-headers values/absence
     have been added as described in RFC 7540.
     Fixes <https://github.com/icing/mod_h2/issues/230>.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1897940 13f79535-47bb-0310-9956-ffa450edef68
2022-02-10 10:59:08 +00:00
4a6bf7f895 *) mod_http2: when a h2 request carries a ':scheme' pseudoheader,
it gives a 400 response if the scheme does not match the
    connection. Fixes <https://github.com/icing/mod_h2/issues/230>.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1897872 13f79535-47bb-0310-9956-ffa450edef68
2022-02-08 13:38:49 +00:00
f4040ecb14 * test) sync of mod_md test cases from github.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1897864 13f79535-47bb-0310-9956-ffa450edef68
2022-02-08 12:19:07 +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
bca2e9c14c *) test cases
- disabling test_h2_105_02 due to handshake timeouts no longer working
     - adjusting some log levels
     - ignoring new handshake error AHLOGNOs



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1897650 13f79535-47bb-0310-9956-ffa450edef68
2022-02-01 10:40:30 +00:00
0f9cf6fab0 *) test:
- modules/http2: ignore some SSL library error logs when using openssl 3.x
    - modules/tls: right now, we seem unable to force curl to use TLSv1.3, adjust
      test case expectations accordingly. Use --tls-max to force v1.2 where needed.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1897257 13f79535-47bb-0310-9956-ffa450edef68
2022-01-20 15:36:50 +00:00
4a8e5869c6 Fix some typos
[skip ci]

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1896386 13f79535-47bb-0310-9956-ffa450edef68
2021-12-25 13:58:16 +00:00
c05638b072 test: fully qualified URIs should work through reverse proxy too.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1896043 13f79535-47bb-0310-9956-ffa450edef68
2021-12-16 11:23:41 +00:00
f42a58f70b *) test: modules/proxy, make uds faker a daemon thread, so it does not
prevent test shutdown.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1896041 13f79535-47bb-0310-9956-ffa450edef68
2021-12-16 11:22:29 +00:00
928f80ea4c *) test: added first mod_proxy tests in test/modules/proxy that
check some variations on forward, reverse and mixed vhosts
     and also using a unix: domain socket backend.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1896002 13f79535-47bb-0310-9956-ffa450edef68
2021-12-15 16:39:38 +00:00
f8e3792691 * 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
2021-12-09 14:15:19 +00:00
4d8f1f96b6 * 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
2021-12-01 14:03:42 +00:00
0d3b3abf47 * 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
2021-11-30 17:10:13 +00:00
1c5f651841 * 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
2021-11-30 16:30:26 +00:00
5144278ddb * 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
2021-11-30 15:58:30 +00:00
069453534d * 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
2021-11-24 10:20:52 +00:00
7840e7d212 * 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
2021-11-10 15:54:27 +00:00
0ecb9153ce * 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
2021-11-08 12:33:46 +00:00
5478730515 * 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
2021-10-29 15:08:57 +00:00
eed172d8a2 * 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
2021-10-29 10:26:40 +00:00
668e6394bd * 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
2021-10-29 10:05:29 +00:00
7b83bd03a9 * 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
2021-10-28 12:50:02 +00:00
1a303fdb6f * 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
2021-10-14 15:26:59 +00:00
a982f8fa47 *) 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
2021-10-14 13:02:52 +00:00