]>
git.ipfire.org Git - thirdparty/apache/httpd.git/log
Stefan Eissing [Mon, 14 Aug 2023 14:39:00 +0000 (14:39 +0000)]
HTTP/2, websockets
- provide "Connection" header in internal Upgrade request
- set input notification if input is already available when
stream processing is started
- add optional function in mod_http2.h to use instead of
ap_get_pollfd_from_conn() in older servers with a new
mod_http2
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1911650 13f79535 -47bb-0310-9956-
ffa450edef68
Joe Orton [Mon, 14 Aug 2023 07:32:19 +0000 (07:32 +0000)]
Steal a number.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1911640 13f79535 -47bb-0310-9956-
ffa450edef68
Stefan Eissing [Wed, 26 Jul 2023 12:18:06 +0000 (12:18 +0000)]
*) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
HTTP/2 requests twice. Fixes PR 66801.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1911291 13f79535 -47bb-0310-9956-
ffa450edef68
Eric Covener [Mon, 24 Jul 2023 20:09:43 +0000 (20:09 +0000)]
slight clarification, depends on r->status
[skip ci]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1911255 13f79535 -47bb-0310-9956-
ffa450edef68
Eric Covener [Mon, 24 Jul 2023 17:31:38 +0000 (17:31 +0000)]
no AH01588 for ap_get_client_block + CL over limit
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1911249 13f79535 -47bb-0310-9956-
ffa450edef68
Lucien Gentis [Sat, 22 Jul 2023 13:15:11 +0000 (13:15 +0000)]
fr doc rebuild.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1911197 13f79535 -47bb-0310-9956-
ffa450edef68
Lucien Gentis [Sat, 22 Jul 2023 13:12:47 +0000 (13:12 +0000)]
fr doc XML file update.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1911196 13f79535 -47bb-0310-9956-
ffa450edef68
Yann Ylavic [Fri, 21 Jul 2023 14:56:05 +0000 (14:56 +0000)]
ab: apr_pool_clear() closes the socket already.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1911177 13f79535 -47bb-0310-9956-
ffa450edef68
Yann Ylavic [Fri, 21 Jul 2023 14:54:51 +0000 (14:54 +0000)]
ab: Disable nagle algorithm on sockets, it's not telnet.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1911176 13f79535 -47bb-0310-9956-
ffa450edef68
Yann Ylavic [Fri, 21 Jul 2023 14:51:24 +0000 (14:51 +0000)]
ab: Follow up to r1910912: No need for the "events" member.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1911175 13f79535 -47bb-0310-9956-
ffa450edef68
Yann Ylavic [Fri, 21 Jul 2023 09:27:15 +0000 (09:27 +0000)]
Steal some APLOGNOs for PR #367.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1911167 13f79535 -47bb-0310-9956-
ffa450edef68
Graham Leggett [Mon, 17 Jul 2023 15:25:13 +0000 (15:25 +0000)]
mod_alias: Add AliasPreservePath directive to map the full
path after the alias in a location.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1911067 13f79535 -47bb-0310-9956-
ffa450edef68
Lucien Gentis [Sat, 15 Jul 2023 16:19:13 +0000 (16:19 +0000)]
fr doc XML file update.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1911035 13f79535 -47bb-0310-9956-
ffa450edef68
Stefan Eissing [Fri, 14 Jul 2023 12:26:50 +0000 (12:26 +0000)]
* mod_md:
- New directive `MDMatchNames all|servernames` to allow more control over how
MDomains are matched to VirtualHosts.
- New directive `MDChallengeDns01Version`. Setting this to `2` will provide
the command also with the challenge value on `teardown` invocation. In version
1, the default, only the `setup` invocation gets this parameter.
Refs #312. Thanks to @domrim for the idea.
- For Managed Domain in "manual" mode, the checks if all used ServerName and
ServerAlias are part of the MDomain now reports a warning instead of an error
(AH10040) when not all names are present.
- MDChallengeDns01 can now be configured for individual domains.
Using PR from Jérôme Billiras (@bilhackmac) and adding test case and fixing proper working
- Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
teardown not being invoked as it should.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910996 13f79535 -47bb-0310-9956-
ffa450edef68
Stefan Eissing [Fri, 14 Jul 2023 08:49:52 +0000 (08:49 +0000)]
test: update http2 test 008_03 for curl allowing the server to send almost all data
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910995 13f79535 -47bb-0310-9956-
ffa450edef68
Yann Ylavic [Tue, 11 Jul 2023 20:24:18 +0000 (20:24 +0000)]
Steal another APLOGNO for event_wip.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910945 13f79535 -47bb-0310-9956-
ffa450edef68
Yann Ylavic [Mon, 10 Jul 2023 09:17:51 +0000 (09:17 +0000)]
ab: Add -D for a watchdog that prints counters on polled connections.
This prints lines like the below (one per worker thread) every 5 seconds:
Worker 0: requests 264484/12500, polls 2500, DISCONNECTED 0/0, CONNECTING 0/35, HANDSHAKE 0/0, WRITE 0/0, READ 2465/0
Worker 3: requests 248779/12500, polls 2500, DISCONNECTED 0/0, CONNECTING 0/25, HANDSHAKE 0/0, WRITE 0/0, READ 2475/0
Worker 1: requests 246151/12500, polls 2500, DISCONNECTED 0/0, CONNECTING 0/39, HANDSHAKE 0/0, WRITE 0/0, READ 2461/0
Worker 2: requests 257491/12500, polls 2500, DISCONNECTED 0/0, CONNECTING 0/44, HANDSHAKE 0/0, WRITE 0/0, READ 2456/0
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910912 13f79535 -47bb-0310-9956-
ffa450edef68
Yann Ylavic [Mon, 10 Jul 2023 09:08:14 +0000 (09:08 +0000)]
ab: Check and handle POLLOUT before POLLIN.
connect() failures can return POLLOUT|POLLHUP and the polling loop should
take the POLLOUT branch in this case, not the POLLIN|POLLHUP one, so move
the check for POLLOUT first.
While at it, add some assert()ions to avoid infinite loops.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910911 13f79535 -47bb-0310-9956-
ffa450edef68
Yann Ylavic [Sat, 8 Jul 2023 10:56:58 +0000 (10:56 +0000)]
ab: Follow up to r1910871: s/bind_num/bind_rr/g
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910872 13f79535 -47bb-0310-9956-
ffa450edef68
Yann Ylavic [Sat, 8 Jul 2023 10:51:02 +0000 (10:51 +0000)]
ab: Allow to bind multiple addresses with -Baddr1,addr2,...
By using multiple source addresses, it helps with ports exhaustion where the
ones of connections in TIME_WAIT cannot be reused.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910871 13f79535 -47bb-0310-9956-
ffa450edef68
Yann Ylavic [Sat, 8 Jul 2023 10:43:44 +0000 (10:43 +0000)]
ab: Stop worker at end of -t in any case, not only interruption.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910870 13f79535 -47bb-0310-9956-
ffa450edef68
Yann Ylavic [Fri, 7 Jul 2023 15:57:32 +0000 (15:57 +0000)]
ab: Ignore the delay if it's larger than the timeout.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910862 13f79535 -47bb-0310-9956-
ffa450edef68
Yann Ylavic [Fri, 7 Jul 2023 15:52:45 +0000 (15:52 +0000)]
ab: Fix accounting of started connections.
Revert when a kept alive connection is aborted on read.
Stop the polling loop when there is nothing to poll anymore, it's simpler.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910861 13f79535 -47bb-0310-9956-
ffa450edef68
Joe Orton [Fri, 7 Jul 2023 11:12:02 +0000 (11:12 +0000)]
Add WebAssembly MIME type and file extension
Submitted by: Dave Hodder <dmh dmh.org.uk>
Github: closes #332
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910849 13f79535 -47bb-0310-9956-
ffa450edef68
Yann Ylavic [Fri, 7 Jul 2023 11:03:17 +0000 (11:03 +0000)]
pytest: Fine tuning for LogLevel vs -v^n.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910848 13f79535 -47bb-0310-9956-
ffa450edef68
Joe Orton [Fri, 7 Jul 2023 11:02:38 +0000 (11:02 +0000)]
* support/ab.c (ssl_proceed_handshake): Fix X509 * leak.
PR: 64264
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910847 13f79535 -47bb-0310-9956-
ffa450edef68
Yann Ylavic [Fri, 7 Jul 2023 11:00:34 +0000 (11:00 +0000)]
util_filter: More useful logging for brigade setaside/reinstate/adopt.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910846 13f79535 -47bb-0310-9956-
ffa450edef68
Yann Ylavic [Fri, 7 Jul 2023 08:21:21 +0000 (08:21 +0000)]
pytests: Ignore log errors/warnings per function.
It's easier to control errors at the function scope and it avoids ignored
errors/warnings to propagate to the following tests (i.e. mask further
unexpected errors).
github: closes #371
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910844 13f79535 -47bb-0310-9956-
ffa450edef68
Joe Orton [Fri, 7 Jul 2023 08:18:52 +0000 (08:18 +0000)]
Add application/vnd.geogebra.slides mime type
Submitted by: Zbynek Konecny <zbynek1729 gmail.com>
Github: closes #207
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910843 13f79535 -47bb-0310-9956-
ffa450edef68
Joe Orton [Fri, 7 Jul 2023 07:57:35 +0000 (07:57 +0000)]
apxs: Fix -i for some cases where -n is not used.
The $base was already stripped of suffix in typical case.
Submitted by: Jan Pazdziora <jpazdziora redhat.com>
Github: closes #359
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910841 13f79535 -47bb-0310-9956-
ffa450edef68
Joe Orton [Thu, 6 Jul 2023 12:20:37 +0000 (12:20 +0000)]
mod_rewrite: Fix a possible NULL pointer dereference in hook_uri2file
is_absolute_uri() dereferences r->filename in the function body, but
there is no check if r->filename == NULL before.
Submitted by: Luboš Uhliarik <luhliari redhat.com>
Github: closes #355
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910815 13f79535 -47bb-0310-9956-
ffa450edef68
Joe Orton [Thu, 6 Jul 2023 08:28:08 +0000 (08:28 +0000)]
Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
operation which removes a directory/file between apr_dir_read() and
apr_stat(). Current behaviour is to abort the connection which seems
inferior to tolerating (and logging) the error.
* modules/dav/fs/repos.c (dav_fs_walker): If DAV_WALKTYPE_TOLERANT is
set, ignore ENOENT from stat() rather than aborting the response.
Log the error from stat either way.
* modules/dav/main/mod_dav.c (dav_method_propfind): Set
DAV_WALKTYPE_TOLERANT.
* modules/dav/main/mod_dav.h: Add DAV_WALKTYPE_TOLERANT.
Github: closes #369
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910811 13f79535 -47bb-0310-9956-
ffa450edef68
Stefan Eissing [Thu, 6 Jul 2023 08:24:24 +0000 (08:24 +0000)]
test h2: be more generous in stutter step jittering.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910810 13f79535 -47bb-0310-9956-
ffa450edef68
Stefan Eissing [Thu, 6 Jul 2023 07:44:21 +0000 (07:44 +0000)]
proxy_util: revert timeout selection on a proxy tunnel back to
take the large of client/origin values.
Add websocket test to verify that longer proxypass timeout is in
effect.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910809 13f79535 -47bb-0310-9956-
ffa450edef68
Joe Orton [Wed, 5 Jul 2023 13:09:15 +0000 (13:09 +0000)]
Steal a number. [skip ci]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910792 13f79535 -47bb-0310-9956-
ffa450edef68
Joe Orton [Wed, 5 Jul 2023 10:09:57 +0000 (10:09 +0000)]
Use 'git clone' rather than 'svn export' in CI scripts.
Drop unused run_svn_export.
Run git clone with -q throughout.
Github: closes #368
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910790 13f79535 -47bb-0310-9956-
ffa450edef68
Lucien Gentis [Sat, 1 Jul 2023 13:29:49 +0000 (13:29 +0000)]
fr doc rebuild.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910725 13f79535 -47bb-0310-9956-
ffa450edef68
Lucien Gentis [Sat, 1 Jul 2023 13:28:46 +0000 (13:28 +0000)]
XML file update.-Cette ligne, et les suivantes ci-dessous, seront ignorées--
M manual/mod/mod_http2.xml.fr
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910724 13f79535 -47bb-0310-9956-
ffa450edef68
Eric Covener [Fri, 30 Jun 2023 12:31:28 +0000 (12:31 +0000)]
typos/whitespace
what's one more rev?
[skip ci]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910705 13f79535 -47bb-0310-9956-
ffa450edef68
Stefan Eissing [Fri, 30 Jun 2023 09:08:23 +0000 (09:08 +0000)]
proxy: in proxy tunnels, use the smaller timeout value of
client and origin as timeout for polling the tunnel.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910704 13f79535 -47bb-0310-9956-
ffa450edef68
Stefan Eissing [Fri, 30 Jun 2023 08:29:27 +0000 (08:29 +0000)]
tests: another sync of the http2 tests
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910702 13f79535 -47bb-0310-9956-
ffa450edef68
Stefan Eissing [Fri, 30 Jun 2023 08:16:25 +0000 (08:16 +0000)]
tests: sync mod_http2 tests with mod_h2 and 2.4.x version checks
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910701 13f79535 -47bb-0310-9956-
ffa450edef68
Stefan Eissing [Thu, 29 Jun 2023 10:38:08 +0000 (10:38 +0000)]
mod_http2: add aplogno where makefile did not detect it missing?
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910688 13f79535 -47bb-0310-9956-
ffa450edef68
Stefan Eissing [Thu, 29 Jun 2023 10:37:25 +0000 (10:37 +0000)]
steal a number
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910687 13f79535 -47bb-0310-9956-
ffa450edef68
Stefan Eissing [Thu, 29 Jun 2023 10:15:50 +0000 (10:15 +0000)]
mod_http2: when failing a request, make sure the request_rec fields
are populated (best effort) for the response generation since this
might access fields in there.
Respect a http_status already assigned during stream processing
for error generation.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910686 13f79535 -47bb-0310-9956-
ffa450edef68
Stefan Eissing [Thu, 29 Jun 2023 09:28:24 +0000 (09:28 +0000)]
mod_http2: move get_pollfd_from_conn hook outside the HAS_RESPONSE_BUCKET part
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910685 13f79535 -47bb-0310-9956-
ffa450edef68
Yann Ylavic [Wed, 28 Jun 2023 15:20:40 +0000 (15:20 +0000)]
pyhttpd: Generate core dumps on crash and show them in the ci eventually.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910668 13f79535 -47bb-0310-9956-
ffa450edef68
Yann Ylavic [Wed, 28 Jun 2023 15:18:43 +0000 (15:18 +0000)]
test_800_websockets: AH10467 is an expected error for the _fail_proto test.
So ignore it, and move the _fail_proto test first to avoid messing up with
the error logs of the other tests.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910667 13f79535 -47bb-0310-9956-
ffa450edef68
Eric Covener [Wed, 28 Jun 2023 14:31:25 +0000 (14:31 +0000)]
incorporate feedback from rpluem
update comments, reverse check, force QSL
[skip ci]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910666 13f79535 -47bb-0310-9956-
ffa450edef68
Yann Ylavic [Wed, 28 Jun 2023 12:49:21 +0000 (12:49 +0000)]
Follow up to r1910656: Fix dumplicate APLOGNO.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910664 13f79535 -47bb-0310-9956-
ffa450edef68
Yann Ylavic [Wed, 28 Jun 2023 12:45:30 +0000 (12:45 +0000)]
Another APLOGNO() to resolve duplicate from r1910656. [skip ci]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910663 13f79535 -47bb-0310-9956-
ffa450edef68
Eric Covener [Wed, 28 Jun 2023 12:37:50 +0000 (12:37 +0000)]
back to original patch in PR66672
Since QSNONE will skip splitoutqueryargs, it's where we should fixup the trailing ?
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910662 13f79535 -47bb-0310-9956-
ffa450edef68
Eric Covener [Wed, 28 Jun 2023 12:27:33 +0000 (12:27 +0000)]
revert recent r1910650
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910661 13f79535 -47bb-0310-9956-
ffa450edef68
Stefan Eissing [Wed, 28 Jun 2023 11:39:43 +0000 (11:39 +0000)]
lognos for the new debugs
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910658 13f79535 -47bb-0310-9956-
ffa450edef68
Stefan Eissing [Wed, 28 Jun 2023 11:39:27 +0000 (11:39 +0000)]
stealing numbers
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910657 13f79535 -47bb-0310-9956-
ffa450edef68
Stefan Eissing [Wed, 28 Jun 2023 11:22:49 +0000 (11:22 +0000)]
*) mod_http2: 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/trunk@
1910656 13f79535 -47bb-0310-9956-
ffa450edef68
Stefan Eissing [Wed, 28 Jun 2023 11:03:29 +0000 (11:03 +0000)]
tests: add the websockets python module version checks needed for our CI infra
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910654 13f79535 -47bb-0310-9956-
ffa450edef68
Eric Covener [Wed, 28 Jun 2023 10:38:27 +0000 (10:38 +0000)]
act more like pre-r1908097 with rewrite
- be more conservative with setting QSNONE
- allow the query to be split as historically, but then drop r->args if QSNONE
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910650 13f79535 -47bb-0310-9956-
ffa450edef68
Stefan Eissing [Wed, 28 Jun 2023 08:55:19 +0000 (08:55 +0000)]
HTTP/2 WebSockets: adding throughput tests and test client improvements
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910649 13f79535 -47bb-0310-9956-
ffa450edef68
Stefan Eissing [Wed, 28 Jun 2023 08:54:46 +0000 (08:54 +0000)]
mod_http2: optimization for c1 output passing when collecting
next DATA frame for a response.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910648 13f79535 -47bb-0310-9956-
ffa450edef68
Eric Covener [Tue, 27 Jun 2023 14:33:50 +0000 (14:33 +0000)]
PR66672: rewrite QSA+trailing ? regression
mod_rewrite: Fix a recent regression where a rule with both a trailing
'?' and the [QSA] flag did not have the query appended. PR66672
Submitted By: Frank Meier <frank.meier ergon.ch>
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910633 13f79535 -47bb-0310-9956-
ffa450edef68
Lucien Gentis [Sat, 24 Jun 2023 13:18:39 +0000 (13:18 +0000)]
fr doc rebuild.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910584 13f79535 -47bb-0310-9956-
ffa450edef68
Lucien Gentis [Sat, 24 Jun 2023 13:17:21 +0000 (13:17 +0000)]
fr doc XML file update.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910583 13f79535 -47bb-0310-9956-
ffa450edef68
Yann Ylavic [Fri, 23 Jun 2023 14:10:07 +0000 (14:10 +0000)]
request_rec: Single bit for body_indeterminate (while it's not in 2.4.x yet).
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910573 13f79535 -47bb-0310-9956-
ffa450edef68
Yann Ylavic [Fri, 23 Jun 2023 13:19:16 +0000 (13:19 +0000)]
Steal some APLOGNOs for event_wip [skip ci].
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910570 13f79535 -47bb-0310-9956-
ffa450edef68
Stefan Eissing [Wed, 21 Jun 2023 12:14:08 +0000 (12:14 +0000)]
*) mod_http2: adding checks for websocket support on platform and
server versions. Give error message accordingly when trying to
enable websockets in unsupported configurations.
Add test and code to check the, finally selected, server of
a request_rec for websocket support or 501 the request.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910535 13f79535 -47bb-0310-9956-
ffa450edef68
Stefan Eissing [Wed, 21 Jun 2023 12:08:06 +0000 (12:08 +0000)]
http_protocol: make request processing more robust for incomplete data
- Length restrictions may error on a too long request path, leaving
the uri unset.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910533 13f79535 -47bb-0310-9956-
ffa450edef68
Stefan Eissing [Wed, 21 Jun 2023 09:49:13 +0000 (09:49 +0000)]
*) http_protocol: if there is a request and an error bucket in the input
brigade, always process the request bucket first. This gives the proper
context in which to evaluate the error bucket in.
Some error access r->method, for example, in their response body.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910530 13f79535 -47bb-0310-9956-
ffa450edef68
Yann Ylavic [Tue, 20 Jun 2023 16:05:31 +0000 (16:05 +0000)]
ab: Don't print the banner/copyright when -Q is specified.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910520 13f79535 -47bb-0310-9956-
ffa450edef68
Yann Ylavic [Tue, 20 Jun 2023 16:04:12 +0000 (16:04 +0000)]
ab: Add POLLERR and POLLHUP to reqevents for implementations that use/need it.
Also, apr_pollset_remove() might return APR_NOTFOUND if a connection is reset
while being poll()ed, don't treat it as an error.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910519 13f79535 -47bb-0310-9956-
ffa450edef68
Yann Ylavic [Tue, 20 Jun 2023 15:59:38 +0000 (15:59 +0000)]
ab: Increase MAX_CONCURRENCY hard limit (from 20K to 200K).
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910518 13f79535 -47bb-0310-9956-
ffa450edef68
Yann Ylavic [Tue, 20 Jun 2023 15:53:11 +0000 (15:53 +0000)]
ab: More accurate stats for time limited (-t) runs.
When ab runs for a limited time, the number of requests configured (or the
default MAX_REQUESTS if not configured) may be lower than than the number
of requests actually/finally achieved, in which case the stats per request
is a window of the actual stats since we can't store all the results.
Rather than taking the last N requests of the run for the stats, do the mean
of all the requests reusing the same window slot, and print that.
If no number of requests is configured for a time limited run, it will stop
only at the end of the time (i.e. MAX_REQUESTS is ignored for the end of
test condition). So MAX_REQUESTS is renamed to TIMED_REQUESTS while at it.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910517 13f79535 -47bb-0310-9956-
ffa450edef68
Yann Ylavic [Tue, 20 Jun 2023 15:20:39 +0000 (15:20 +0000)]
ab: Follow up to r1910515: Update global counter too..
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910516 13f79535 -47bb-0310-9956-
ffa450edef68
Yann Ylavic [Tue, 20 Jun 2023 15:15:30 +0000 (15:15 +0000)]
ab: Count keepalive aborted connections separately.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910515 13f79535 -47bb-0310-9956-
ffa450edef68
Yann Ylavic [Tue, 20 Jun 2023 15:11:25 +0000 (15:11 +0000)]
ab: Don't (doubly) count errors as err_length if not actually reading.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910514 13f79535 -47bb-0310-9956-
ffa450edef68
Yann Ylavic [Tue, 20 Jun 2023 15:08:44 +0000 (15:08 +0000)]
ab: Fix crash with -W when exiting earlya on fatal error.
When multiple threads are failing (e.g. read/write timeout) it's not
thread-safe to simply/concurrently print the stats and exit. This can
result in garbage being printed or a crash.
Let's cleanly shutdown the threads and do the printing at a single point.
For the places where we want to fail but threads are not started yet we
can simply exit still, so to simplify the stats are not printed in an
atexit() handler.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910513 13f79535 -47bb-0310-9956-
ffa450edef68
Stefan Eissing [Tue, 20 Jun 2023 12:01:09 +0000 (12:01 +0000)]
*) 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.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910507 13f79535 -47bb-0310-9956-
ffa450edef68
Stefan Eissing [Tue, 20 Jun 2023 11:55:50 +0000 (11:55 +0000)]
stealing numbers
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910506 13f79535 -47bb-0310-9956-
ffa450edef68
Stefan Eissing [Fri, 16 Jun 2023 08:18:19 +0000 (08:18 +0000)]
* mod_htt2: fixed an inconsistency in main connection io state after the connection
write encountered an error. Related to PR 66649.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910441 13f79535 -47bb-0310-9956-
ffa450edef68
Stefan Eissing [Thu, 15 Jun 2023 09:46:00 +0000 (09:46 +0000)]
update log tags, as usual
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910426 13f79535 -47bb-0310-9956-
ffa450edef68
Stefan Eissing [Thu, 15 Jun 2023 09:45:30 +0000 (09:45 +0000)]
steal a number
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910425 13f79535 -47bb-0310-9956-
ffa450edef68
jfclere [Wed, 14 Jun 2023 07:54:01 +0000 (07:54 +0000)]
openssl needs Ws2_32.lib for WSAGetLastError().
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910399 13f79535 -47bb-0310-9956-
ffa450edef68
Stefan Eissing [Tue, 13 Jun 2023 14:36:43 +0000 (14:36 +0000)]
*) mod_http2: 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/trunk@
1910386 13f79535 -47bb-0310-9956-
ffa450edef68
Jean-Frederic Clere [Mon, 12 Jun 2023 13:32:12 +0000 (13:32 +0000)]
Arrange ap_h1_response_out_filter() according to include/mod_core.h.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910368 13f79535 -47bb-0310-9956-
ffa450edef68
Lucien Gentis [Sat, 10 Jun 2023 14:58:22 +0000 (14:58 +0000)]
fr doc rebuild.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910341 13f79535 -47bb-0310-9956-
ffa450edef68
Lucien Gentis [Sat, 10 Jun 2023 14:56:38 +0000 (14:56 +0000)]
fr doc XML file update.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910340 13f79535 -47bb-0310-9956-
ffa450edef68
Giovanni Bechis [Fri, 9 Jun 2023 15:28:32 +0000 (15:28 +0000)]
do not run strlen(3) on a NULL value
bz #66639
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910334 13f79535 -47bb-0310-9956-
ffa450edef68
Stefan Eissing [Fri, 9 Jun 2023 15:02:21 +0000 (15:02 +0000)]
*) 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.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910331 13f79535 -47bb-0310-9956-
ffa450edef68
Ruediger Pluem [Fri, 9 Jun 2023 11:18:02 +0000 (11:18 +0000)]
* Fix copy and paste error
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910324 13f79535 -47bb-0310-9956-
ffa450edef68
Giovanni Bechis [Thu, 8 Jun 2023 09:24:21 +0000 (09:24 +0000)]
fix return codes
spotted by Yann Ylavic
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910304 13f79535 -47bb-0310-9956-
ffa450edef68
Giovanni Bechis [Tue, 6 Jun 2023 22:41:27 +0000 (22:41 +0000)]
log an error if BIO_write(3) fails
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910269 13f79535 -47bb-0310-9956-
ffa450edef68
Giovanni Bechis [Tue, 6 Jun 2023 22:25:41 +0000 (22:25 +0000)]
check BIO_read return values
submitted by Jiasheng Jiang
bz #65922
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910268 13f79535 -47bb-0310-9956-
ffa450edef68
Giovanni Bechis [Tue, 6 Jun 2023 22:02:37 +0000 (22:02 +0000)]
mod_ext_filter: check exit status of filter processes
Whenever a filter process returns a non-zero exit status, or is killed
by a signal, return a HTTP 500 error, and log the reason.
Ran top-level make update-log-msg-tags to update APLOGNO numbers.
Submitted by: Dimitry Andric <dimitry@unified-streaming.com>
Github: closes #296
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910267 13f79535 -47bb-0310-9956-
ffa450edef68
Eric Covener [Tue, 6 Jun 2023 10:39:15 +0000 (10:39 +0000)]
there is a separate `connectiontimeout`
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910253 13f79535 -47bb-0310-9956-
ffa450edef68
Giovanni Bechis [Tue, 6 Jun 2023 08:48:27 +0000 (08:48 +0000)]
fix link in comment
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910252 13f79535 -47bb-0310-9956-
ffa450edef68
Lucien Gentis [Sat, 3 Jun 2023 13:45:06 +0000 (13:45 +0000)]
fr doc rebuild.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910203 13f79535 -47bb-0310-9956-
ffa450edef68
Lucien Gentis [Sat, 3 Jun 2023 13:43:55 +0000 (13:43 +0000)]
fr doc XML files updates.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910202 13f79535 -47bb-0310-9956-
ffa450edef68
Stefan Eissing [Thu, 1 Jun 2023 13:01:28 +0000 (13:01 +0000)]
CI: re-add TEST_H2 apr cache ignore, still needed. :(
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910165 13f79535 -47bb-0310-9956-
ffa450edef68
Stefan Eissing [Thu, 1 Jun 2023 12:59:09 +0000 (12:59 +0000)]
CI: re-enable apr caching for TEST_H2, require newer curl for test_h2_601_05
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910164 13f79535 -47bb-0310-9956-
ffa450edef68
Stefan Eissing [Thu, 1 Jun 2023 12:50:30 +0000 (12:50 +0000)]
CI: force reset of cached apr for TEST_H2, it seems to be broken
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1910163 13f79535 -47bb-0310-9956-
ffa450edef68