CI: Flush the CPAN cache if /usr/bin/perl has been updated since
the cache was built. Possible fix for 2.4.x failure seen here:
https://github.com/apache/httpd/actions/runs/11322484507/job/31483266212
SSLeay.c: loadable library and perl binaries are mismatched (got first handshake key 0xeb00080, needed 0xf380080)
perldiag(1) describes this as a mismatch between libraries and binaries,
likely solved by reinstalling XS modules:
77b78882c7/pod/perldiag.pod (L3617)
CI: Second attempt to fix stale XS cache issue.
Cache the "perl -V" output and flush the cache if it changes.
CI: Fix borked test for perl -V in r1921308.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1924964 13f79535-47bb-0310-9956-ffa450edef68
CI: Use the git commit hash to determine the revision of APR/APR-util
from the github repos, and build exactly that, rather than relying on SVN:
- works if apr/apr-util moves to a r/w git in the future
- removes a race for branches where the git revision tested
could be different to the SVN revision retrieved before
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1924962 13f79535-47bb-0310-9956-ffa450edef68
mod_dav: Update redirect-carefully example BrowserMatch config to
match more recent client versions.
PR: 66148, 67039
Submitted by: Michal Maloszewski <michal.maloszewski canonical.com>
Fix BrowserMatch for gvfs.
PR: 66148
Submitted by: Romain Tartière <romain blogreen.org>
Add jxl mime type
Submitted by: printfn <printfn users.noreply.github.com>
Github: closes#478
Fix typo in charset.conv
\"Croation\" is a misspelling. It should be \"Croatian\".
Submitted by: Michael Hospedales <hospedales me.com>
Github: closes#508
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1923263 13f79535-47bb-0310-9956-ffa450edef68
- server: Use apr_size_t instead of int to harden against overflows
- mod_http2: DOXYGEN has nothing to do here, just remove this
strange "#if defined(DOXYGEN)"
- test: make the compiler happy when using --enable-maintainer-mode
- mod_proxy: Fix format string type check
- mod_http2: Fix comment, no functional change
- <various>: Remove unnecessary APLOGNO() use in TRACE-level logging
- mod_cache_socache: Update comment only, to remove reference to
session cache
- mod_dav: Fix error message formatting if an unauthenticated user
tries to use an authenticated user's lock token
- <none>: trigger ci
- server: Fix typo in comment
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1922956 13f79535-47bb-0310-9956-ffa450edef68
*) mod_md: update to version 2.4.28
- When the server starts, it looks for new, staged certificates to
activate. If the staged set of files in 'md/staging/<domain>' is messed
up, this could prevent further renewals to happen. Now, when the staging
set is present, but could not be activated due to an error, purge the
whole directory. [icing]
- Fix certificate retrieval on ACME renewal to not require a 'Location:'
header returned by the ACME CA. This was the way it was done in ACME
before it became an IETF standard. Let's Encrypt still supports this,
but other CAs do not. [icing]
- Restore compatibility with OpenSSL < 1.1. [ylavic]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1920753 13f79535-47bb-0310-9956-ffa450edef68
* mod_md:
- Using OCSP stapling information to trigger certificate renewals. Proposed
by @frasertweedale.
- Added directive `MDCheckInterval` to control how often the server checks
for detected revocations. Added proposals for configurations in the
README.md chapter "Revocations".
- OCSP stapling: accept OCSP responses without a `nextUpdate` entry which is
allowed in RFC 6960. Treat those as having an update interval of 12 hours.
Added by @frasertweedale.
- Adapt OpenSSL usage to changes in their API. By Yann Ylavic.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1918195 13f79535-47bb-0310-9956-ffa450edef68
Use 'git clone' rather than 'svn export' in CI scripts.
Drop unused run_svn_export.
Run git clone with -q throughout.
CI: For LDAP tests, switch to using OpenLDAP slapd running on
CentOS Stream 9.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1918060 13f79535-47bb-0310-9956-ffa450edef68
in modules/http2/test_800_websockets.py
(test_h2_800_03_not_found and
test_h2_800_05_non_ws_delay_resource) due to
additional RST messages.
Backport of r1916830 from trunk.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1916831 13f79535-47bb-0310-9956-ffa450edef68
in modules/http2/test_800_websockets.py
(test_h2_800_04_non_ws_resource and
test_h2_800_09b_unsupported) due to
additional RST messages.
Backport of r1916808 from trunk.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1916809 13f79535-47bb-0310-9956-ffa450edef68
Do not count lines like "00:12:26.578220 <= Recv data, 0 bytes (0x0)"
(which happen before the final close) as receiving a real chunk.
Backport of r1918606 from trunk.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1916807 13f79535-47bb-0310-9956-ffa450edef68
CI: Hopefully fix caching and artifact uploads by creating $JOBID
as a unique key for each job in the matrix, using that as the
cache key and in each artefact upload (otherwise multiple failures
uploading "error_log" overwrite each other).
CI: Enable caching for the rustls install used for mod_tls testing.
CI: Re-enable caching for *fixed* versions of apr/apr-util which
should now work correctly (since the version is in the cache key).
For 1.x branches, CLEAR_CACHE must still be used.
CI tweaks:
- don't install CPAN modules if NO_TEST_FRAMEWORK is set
- remove the workaround for mod_h2 APR build caching which
should no longer be necessary now caching is fixed
- fix capturing specific perl-framework failures with "TEST -v" mode
Fix regression in r1916055 - don't duplicate logic in _run_linux.sh
from _before_linux.sh in whether the perl-framework is used/needed.
Github: closes#418
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1916069 13f79535-47bb-0310-9956-ffa450edef68
The tool sometimes/somehow crashes in CI, though I can't reproduce locally.
Possibly an issue with the gcc toolchain used there.. disable for now as it
makes the tests fail.
Merges r1913830 from trunk (CTR).
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1913833 13f79535-47bb-0310-9956-ffa450edef68
*) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
described in RFC 8441. A new directive 'H2WebSockets on|off' has been
added. The feature is by default not enabled.
As also discussed in the manual, this feature should work for setups
using "ProxyPass backend-url upgrade=websocket" without further changes.
Special server modules for WebSockets will have to be adapted,
most likely, as the handling if IO events is different with HTTP/2.
HTTP/2 WebSockets are supported on platforms with native pipes. This
excludes Windows.
New directive `H2ProxyRequests on|off` to enable handling
of HTTP/2 requests in a forward proxy configuration.
General forward proxying is enabled via `ProxyRequests`. If the
HTTP/2 protocol is also enabled for such a server/host, this new
directive is needed in addition.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1911979 13f79535-47bb-0310-9956-ffa450edef68
Merge 1907696,1907697 from trunk:
*) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
amount of response body bytes put into a single HTTP/2 DATA frame.
Setting this to 0 places no limit (but the max size allowed by the
protocol is observed).
The module, by default, tries to use the maximum size possible, which is
somewhat around 16KB. This sets the maximum. When less response data is
available, smaller frames will be sent.
Merge r1909769 from trunk (plus sync mod_http2.xml)
*) mod_http2: v2.0.15 with the following fixes and improvements
- New directive 'H2EarlyHint name value' to add headers to a response,
picked up already when a "103 Early Hints" response is sent. 'name' and
'value' must comply to the HTTP field restrictions.
This directive can be repeated several times and header fields of the
same names add. Sending a 'Link' header with 'preload' relation will
also cause a HTTP/2 PUSH if enabled and supported by the client.
- Fixed an issue where requests were not logged and accounted in a timely
fashion when the connection returns to "keepalive" handling, e.g. when
the request served was the last outstanding one.
This led to late appearance in access logs with wrong duration times
reported.
- Accurately report the bytes sent for a request in the '%O' Log format.
This addresses #203, a long outstanding issue where mod_h2 has reported
numbers over-eagerly from internal buffering and not what has actually
been placed on the connection.
The numbers are now the same with and without H2CopyFiles enabled.
Merge r1910157 from trunk
* mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
connection when sending data on the frontend one. This caused crashes
or infinite loops in rare situations.
* mod_proxy_http2: fixed a bug in retry/response handling that could lead
to wrong status codes or HTTP messages send at the end of response bodies
exceeding the announced content-length.
* mod_proxy_http2: fix retry handling to not leak temporary errors.
On detecting that that an existing connection was shutdown by the other
side, a 503 response leaked even though the request was retried on a
fresh connection.
* mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
the wrong order when a bucket_beam was destroyed.
Merge of 1910331,1910386,1910441 from trunk
*) mod_http2: fixed a bug in flushing pending data on an already closed
connection that could lead to a busy loop, preventing the HTTP/2 session
to close down successfully. Fixed PR 66624.
Fixed a bug that could lead to a crash in main connection
output handling. This occured only when the last request on a HTTP/2
connection had been processed and the session decided to shut down.
This could lead to an attempt to send a final GOAWAY while the previous
write was still in progress. See PR 66646.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1910699 13f79535-47bb-0310-9956-ffa450edef68
*) mod_proxy_http2: fix retry handling to not leak temporary errors.
On detecting that that an existing connection was shutdown by the other
side, a 503 response leaked even though the request was retried on a
fresh connection.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1909992 13f79535-47bb-0310-9956-ffa450edef68