]> git.ipfire.org Git - thirdparty/apache/httpd.git/log
thirdparty/apache/httpd.git
4 years agoReduce the time window where duplicates may be generated by mod_uniqueid
Christophe Jaillet [Sun, 5 Sep 2021 05:58:57 +0000 (05:58 +0000)] 
Reduce the time window where duplicates may be generated by mod_uniqueid

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

4 years agoRevert r1887244 and r1887245 which causes issues on Windows
Christophe Jaillet [Sun, 5 Sep 2021 05:41:37 +0000 (05:41 +0000)] 
Revert r1887244 and r1887245 which causes issues on Windows

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

4 years agoAdd an alternate syntax for <!-- comment ... -->
Christophe Jaillet [Sat, 4 Sep 2021 17:19:35 +0000 (17:19 +0000)] 
Add an alternate syntax for <!-- comment ... -->
PR 65546

[skip ci]

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

4 years agoSync CHANGES [skip ci].
Yann Ylavic [Fri, 3 Sep 2021 17:07:37 +0000 (17:07 +0000)] 
Sync CHANGES [skip ci].

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

4 years agomod_proxy: Follow up to r1892814.
Yann Ylavic [Fri, 3 Sep 2021 11:36:44 +0000 (11:36 +0000)] 
mod_proxy: Follow up to r1892814.

Save some few cycles in ap_proxy_de_socketfy() too.

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

4 years agomod_proxy: Follow up to r1892740.
Yann Ylavic [Fri, 3 Sep 2021 11:08:16 +0000 (11:08 +0000)] 
mod_proxy: Follow up to r1892740.

Really remove the old ap_filter_input_pending() handling forgotten by r1892740.

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

4 years agoSecond attempt at updating the Travis conditions to work properly
Joe Orton [Fri, 3 Sep 2021 08:31:42 +0000 (08:31 +0000)] 
Second attempt at updating the Travis conditions to work properly
for candidate-2.4.x branches, and add a mini test script for the
conditions.

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

4 years agoAdjust Travis conditions for candidate-2.4.x tags.
Joe Orton [Fri, 3 Sep 2021 07:54:03 +0000 (07:54 +0000)] 
Adjust Travis conditions for candidate-2.4.x tags.

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

4 years agomod_proxy: Faster unix socket path parsing in the "proxy:" URL.
Yann Ylavic [Thu, 2 Sep 2021 12:37:02 +0000 (12:37 +0000)] 
mod_proxy: Faster unix socket path parsing in the "proxy:" URL.

The actual r->filename format is "[proxy:]unix:path|url" for UDS, no need to
strstr(,"unix:") since it's at the start of the string.

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

4 years agomod_proxy_uwsgi: Fix PATH_INFO setting for generic worker.
Yann Ylavic [Thu, 2 Sep 2021 09:53:43 +0000 (09:53 +0000)] 
mod_proxy_uwsgi: Fix PATH_INFO setting for generic worker.

When the generic "proxy:reverse" worker is selected for an uwsgi scheme, the
worker name is irrelevant so uwscgi_handler() should point to the PATH_INFO
directly from the given URL.

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

4 years agomod_md:
Stefan Eissing [Wed, 1 Sep 2021 13:16:03 +0000 (13:16 +0000)] 
mod_md:
 * Certificate/keys pairs are verified as matching before a renewal is accepted
   as successful or a staged renewal is replacing the existing certificates.
   This avoid potential mess ups in the md store file system to render the active
   certificates non-working. [@mkauf]

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

4 years agomod_proxy: Fix potential tunneling infinite loop and spurious timeout.
Yann Ylavic [Mon, 30 Aug 2021 18:04:20 +0000 (18:04 +0000)] 
mod_proxy: Fix potential tunneling infinite loop and spurious timeout.
           PRs 65521 and 65519.

* modules/proxy/proxy_util.c(ap_proxy_tunnel_run):
  Avoid an infinite loop by shutting down the connection for write when poll()
  returns POLLHUP and read is already down.  PR 65521.

* modules/proxy/proxy_util.c(ap_proxy_tunnel_run):
  When write completion is finished don't check for ap_filter_input_pending()
  before proxy_tunnel_forward() to flush input data, this is a nonblocking read
  already which will do the same thing implicitely. ap_filter_input_pending()
  is broken in 2.4.x without the whole pending data mechanism (not backported
  yet), so let's align here.  PR 65519.

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

4 years agoSync CHANGES entries [skip ci].
Yann Ylavic [Mon, 30 Aug 2021 17:05:13 +0000 (17:05 +0000)] 
Sync CHANGES entries [skip ci].

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

4 years ago * mod_deflate: refrain from reading buckets of known length, just
Stefan Eissing [Mon, 30 Aug 2021 10:05:06 +0000 (10:05 +0000)] 
 * mod_deflate: refrain from reading buckets of known length, just
   to get their length. This may transform buckets unwanted (e.g. file
   to mmap) and prevent optimization down the filter chain.

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

4 years agoAdd HTTP/2 test job to Travis configuration.
Joe Orton [Thu, 26 Aug 2021 14:41:46 +0000 (14:41 +0000)] 
Add HTTP/2 test job to Travis configuration.

Github: closes #262

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

4 years agotest/modules/http2:
Stefan Eissing [Thu, 26 Aug 2021 11:10:06 +0000 (11:10 +0000)] 
test/modules/http2:
  * removing unneeded python imports for smaller footprint
  * fixing bug in waiting for stopped server to no longer
    accept new connections.

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

4 years agomod_http2: fixes a use-after-read of an integer value when
Stefan Eissing [Wed, 25 Aug 2021 14:59:03 +0000 (14:59 +0000)] 
mod_http2: fixes a use-after-read of an integer value when
   passing a stream identifier for further IO checking. A
   non-issue since an int value matching no active stream
   will lead to no action.

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

4 years ago * test/modules/http2: using stop/start instead of reload when changing apache configs
Stefan Eissing [Wed, 25 Aug 2021 14:31:12 +0000 (14:31 +0000)] 
 * test/modules/http2: using stop/start instead of reload when changing apache configs
   to give reliable results. The new reload behaviour keeps old children around until
   very late and may answer on old configurations.

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

4 years agompm_{event,worker,prefork}: follow up to r1892587: restore ungraceful on MPM change.
Yann Ylavic [Wed, 25 Aug 2021 09:43:59 +0000 (09:43 +0000)] 
mpm_{event,worker,prefork}: follow up to r1892587: restore ungraceful on MPM change.

While at it add a comment for the rationale, including for MPM motorz.

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

4 years agompm_{event,worker,prefork}: late stop of children processes on restart.
Yann Ylavic [Tue, 24 Aug 2021 22:22:40 +0000 (22:22 +0000)] 
mpm_{event,worker,prefork}: late stop of children processes on restart.

Change how the main process handles restarts, from:
    0. <restart signal>
    1. stop old generation of children processes (graceful or not)
    2. reload new configuration
    3. start new generation of children processes
to:
    0. <restart signal>
    1. reload new configuration
    2. stop old generation of children processes (graceful or not)
    3. start new generation of children processes

The delay between stop and start is now very short and does not depend on the
reload time (which can be quite long with many vhosts and/or complex setups
with regexps or whatever third party components to compile).

Also, while reloading, the old generation of children processes keeps accepting
and handling incoming connections until the new generation is up to take over.

* os/unix/unixd.c (sig_term, sig_restart):
  Set AP_MPMQ_STOPPING only once.

* server/listen.c (ap_duplicate_listeners):
  Use ap_log_error() the main server instead of ap_log_perror().

* server/mpm/{event,worker,prefork}/{event,worker,prefork}.c
    ({event,worker,prefork}_retained_data):
  Save the generation pool pointer (gen_pool) and all the buckets here, they
  won't be cleared before the reload like pconf so they need a persitent
  storage accross restarts (i.e. retained->gen_pool).

* server/mpm/{event,worker,prefork}/{event,worker,prefork}.c
    (perform_idle_server_maintenance, child_main, make_child):
  Change usage of all_buckets (previously with global/static scope) to the new
  retained->buckets array.

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

4 years agomod_proxy_http: Avoid a double call to apr_table_get().
Yann Ylavic [Tue, 24 Aug 2021 09:31:16 +0000 (09:31 +0000)] 
mod_proxy_http: Avoid a double call to apr_table_get().

* modules/proxy/mod_proxy_http.c (ap_proxy_http_process_response):
  Save a call to apr_table_get(r->headers_out, "Transfer-Encoding").

No functional change.

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

4 years agoUse apxs from the configured @bindir@ rather than
Joe Orton [Mon, 23 Aug 2021 12:32:40 +0000 (12:32 +0000)] 
Use apxs from the configured @bindir@ rather than
whatever path APR happens to be pulled from.  [skip ci]

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

4 years ago * modules.conf is now build from a list of desired modules
Stefan Eissing [Mon, 23 Aug 2021 10:51:12 +0000 (10:51 +0000)] 
 * modules.conf is now build from a list of desired modules
   found in the file system. This accomodates builds that bind
   certain modules statically.

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

4 years agofr doc rebuild.
Lucien Gentis [Sat, 21 Aug 2021 14:17:36 +0000 (14:17 +0000)] 
fr doc rebuild.

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

4 years agofr doc XML file update.
Lucien Gentis [Sat, 21 Aug 2021 14:16:23 +0000 (14:16 +0000)] 
fr doc XML file update.

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

4 years ago * test/module/http2: test suite from github mod_h2 repository
Stefan Eissing [Fri, 20 Aug 2021 16:07:44 +0000 (16:07 +0000)] 
 * test/module/http2: test suite from github mod_h2 repository
   slightly adapted to run in a source build. usage:
   > make install  # to have httpd, apxs etc. in place
   > cd test
   > pytest

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

4 years agocore: follow up to r1891148: WC bucket defaulting to FLUSH bucket.
Yann Ylavic [Fri, 20 Aug 2021 09:36:19 +0000 (09:36 +0000)] 
core: follow up to r1891148: WC bucket defaulting to FLUSH bucket.

Define WC bucket semantics as:
/**
 * @brief Write Completion (WC) bucket
 *
 * A WC bucket is a FLUSH bucket with special ->data == &ap_bucket_wc_data,
 * still both AP_BUCKET_IS_WC() and APR_BUCKET_IS_FLUSH() hold for them so
 * they have the same semantics for most filters, namely:
 *   Everything produced before shall be passed to the next filter, including
 *   the WC/FLUSH bucket itself.
 * The distinction between WC and FLUSH buckets is only for filters that care
 * about write completion (calling ap_filter_reinstate_brigade() with non-NULL
 * flush_upto), those can setaside WC buckets and the preceding data provided
 * they have first determined that the next filter(s) have pending data
 * already, usually by calling ap_filter_should_yield(f->next).
 */

The only filters that care about write completion for now are
ap_core_output_filter() and ssl_io_filter_output(), which try to fill
in the pipe as much as possible, using ap_filter_reinstate_brigade(&flush_upto)
to determine whether they should flush (blocking) or setaside their remaining
data.

So ap_filter_reinstate_brigade() is made to not treat WC as FLUSH buckets and
keep the above filters working as before (and correctly w.r.t. above WC bucket
semantics).

* include/ap_mmn.h, include/util_filter.h:
  Axe specific ap_bucket_type_wc and define global &ap_bucket_wc_data address to
  mark WC buckets checked by AP_BUCKET_IS_WC().

* server/util_filter.c (ap_filter_reinstate_brigade):
  Don't treat WC buckets as FLUSH buckets.

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

4 years agocore: core ouput filter iovec vs brigade consistency assertion.
Yann Ylavic [Fri, 20 Aug 2021 09:10:55 +0000 (09:10 +0000)] 
core: core ouput filter iovec vs brigade consistency assertion.

* server/core_filters.c (writev_nonblocking):
  Assert that a bucket is always bound to the walked iovec.

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

4 years agocore: core output filter to cleanup empty/meta buckets following data, ASAP.
Yann Ylavic [Thu, 19 Aug 2021 16:04:45 +0000 (16:04 +0000)] 
core: core output filter to cleanup empty/meta buckets following data, ASAP.

* server/core_filters.c (delete_meta_bucket):
  Add delete_meta_bucket() helper to set r->flush on EOR.

* server/core_filters.c (send_brigade_nonblocking):
  Use delete_meta_bucket() to factorize code.

* server/core_filters.c (writev_nonblocking):
  Use delete_meta_bucket() to factorize code.
  Cleanup trailing empty/meta buckets immediately after data have been sent to
  get more accurate EOR timestamp (otherwise trailing buckets could be deleted
  only after the next data or with a final send_brigade_nonblocking() call in
  the output filter).

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

4 years agocore: don't break out iovec coalescing for metadata in ap_core_output_filter().
Yann Ylavic [Thu, 19 Aug 2021 13:43:23 +0000 (13:43 +0000)] 
core: don't break out iovec coalescing for metadata in ap_core_output_filter().

* server/core_filters.c (send_brigade_nonblocking):
  Keep filling in the iovec when the next bucket has no ->length.

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

4 years ago* Fix typo [skip ci]
Ruediger Pluem [Wed, 18 Aug 2021 15:01:24 +0000 (15:01 +0000)] 
* Fix typo [skip ci]

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

4 years ago* Remove unneeded checks to improve performance
Ruediger Pluem [Wed, 18 Aug 2021 14:53:14 +0000 (14:53 +0000)] 
* Remove unneeded checks to improve performance

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

4 years ago* Follow the same logic that is used for calculating the length
Ruediger Pluem [Wed, 18 Aug 2021 14:35:41 +0000 (14:35 +0000)] 
* Follow the same logic that is used for calculating the length

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

4 years ago* server/mpm_unix.c (ap_reclaim_child_processes, ap_relieve_child_processes):
Joe Orton [Wed, 18 Aug 2021 09:57:48 +0000 (09:57 +0000)] 
* server/mpm_unix.c (ap_reclaim_child_processes, ap_relieve_child_processes):
  Fix use after free warning with gcc -fanalyzer.

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

4 years agotolerate apr-1.5
Eric Covener [Wed, 11 Aug 2021 10:49:56 +0000 (10:49 +0000)] 
tolerate apr-1.5

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

4 years agoFollow up to 1892038, 1892063.
Christophe Jaillet [Tue, 10 Aug 2021 18:49:20 +0000 (18:49 +0000)] 
Follow up to 18920381892063.

Improve fix to please a fuzzer which reports:
   util.c:2713:26: runtime error: signed integer overflow:
   9999999999999999 * 1000 cannot be represented in type 'long'

Compute the maximum limit for each case 's', 'h', 'ms' and 'mi' and make sure that the input is below this value.

While at it, move a comment to make things more consistent and use 'apr_time_from_msec() instead of hand writing it.

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

4 years agoap_timeout_parameter_parse: axe unsigned < 0 check
Eric Covener [Sat, 7 Aug 2021 10:43:06 +0000 (10:43 +0000)] 
ap_timeout_parameter_parse: axe unsigned < 0 check

add check to see if the result was smaller than what we started with.
But the operative part is avoiding the UBI

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

4 years agofix int overflow in ap_timeout_parameter_parse
Eric Covener [Fri, 6 Aug 2021 13:10:45 +0000 (13:10 +0000)] 
fix int overflow in ap_timeout_parameter_parse

signed integer overflow in ap_timeout_parameter_parse under fuzzing

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

4 years agofix ap_escape_quotes with pre-escaped quotes
Eric Covener [Wed, 4 Aug 2021 11:48:38 +0000 (11:48 +0000)] 
fix ap_escape_quotes with pre-escaped quotes

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

4 years agoclarification/fixes around the replace() function
Eric Covener [Tue, 3 Aug 2021 18:29:35 +0000 (18:29 +0000)] 
clarification/fixes around the replace() function

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

4 years agoCorrected MODULE_MAGIC_NUMBER_MINOR.
Stefan Eissing [Sat, 31 Jul 2021 14:28:58 +0000 (14:28 +0000)] 
Corrected MODULE_MAGIC_NUMBER_MINOR.

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

4 years ago * core/mpm: add hook 'child_stopping` that gets called when the MPM is
Stefan Eissing [Sat, 31 Jul 2021 13:36:19 +0000 (13:36 +0000)] 
  * core/mpm: add hook 'child_stopping` that gets called when the MPM is
    stopping a child process. The additional `graceful` parameter allows
    registered hooks to free resources early during a graceful shutdown.

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

4 years agoSynch with trunk.
Christophe Jaillet [Wed, 28 Jul 2021 09:00:44 +0000 (09:00 +0000)] 
Synch with trunk.

Remove 2 useless lines which were left in-place when r1810016 has been forwarported in r1810017.

[skip ci]

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

4 years agoRemove trailing space to synch with 2.4.x
Christophe Jaillet [Wed, 28 Jul 2021 06:35:36 +0000 (06:35 +0000)] 
Remove trailing space to synch with 2.4.x

[skip ci]

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

4 years agoFor some reason -g is not ending up in CFLAGS for some builds in Travis,
Joe Orton [Mon, 26 Jul 2021 11:35:54 +0000 (11:35 +0000)] 
For some reason -g is not ending up in CFLAGS for some builds in Travis,
which is likely a configure script bug of some kind.

Work around it by defaulting CFLAGS to -g which should be always
harmless.
e.g. https://travis-ci.com/github/apache/httpd/jobs/526267899

Github: closes #205

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

4 years agoFollow up to r1891716: CHANGES entry. [skip ci]
Yann Ylavic [Thu, 22 Jul 2021 17:18:00 +0000 (17:18 +0000)] 
Follow up to r1891716: CHANGES entry.  [skip ci]

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

4 years agompm_event: avoid possible timer off by 250 ms.
Yann Ylavic [Thu, 22 Jul 2021 16:10:02 +0000 (16:10 +0000)] 
mpm_event: avoid possible timer off by 250 ms.

* server/mpm/event/event.c (listener_thread): EVENT_FUDGE_FACTOR is used to
  limit wakeups but still expiring timers should be compared with the real
  apr_time_now().

Similar to r1874277 for TIMEOUT_FUDGE_FACTOR.

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

4 years agompm_event: clear APR_INCOMPLETE_READ on lingering close.
Yann Ylavic [Thu, 22 Jul 2021 16:01:43 +0000 (16:01 +0000)] 
mpm_event: clear APR_INCOMPLETE_READ on lingering close.

* server/mpm/event/event.c (process_lingering_close): APR_INCOMPLETE_READ may
  have been set anytime while processing the connection, clear it before
  nonblocking apr_socket_recv() to prevent internal apr_poll().

Follow up to r1891716.

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

4 years agompm_fdqueue: return EOF for ap_queue_interrupt_*() when terminated.
Yann Ylavic [Thu, 22 Jul 2021 15:48:03 +0000 (15:48 +0000)] 
mpm_fdqueue: return EOF for ap_queue_interrupt_*() when terminated.

* server/mpm_fdqueue.c (queue_interrupt): noop and return APR_EOF when queue is
  terminated already.

* server/mpm_fdqueue.h (struct fd_queue_t): make "terminated" volatile.

Follow up to r1891716.
Github: closes #208

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

4 years agocore: don't close the socket when failing in ap_start_lingering_close().
Yann Ylavic [Thu, 22 Jul 2021 15:33:19 +0000 (15:33 +0000)] 
core: don't close the socket when failing in ap_start_lingering_close().

* server/connection.c (ap_start_lingering_close): Don't apr_socket_close().

* server/connection.c (ap_lingering_close): Do apr_socket_close() on
  ap_start_lingering_close() failure.

On failure ap_start_lingering_close() did not consistently close the socket,
so the caller had to call apr_socket_close() too with possible/unreliable
EBADF.  The only upstream callers of ap_start_lingering_close() are MPM event
and ap_start_lingering_close(), but any third-party user has this issue so the
change should't break anyone.

Follow up to r1891716.
Github: #208

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

4 years agompm_event: better comments and variables' names.
Yann Ylavic [Thu, 22 Jul 2021 15:14:42 +0000 (15:14 +0000)] 
mpm_event: better comments and variables' names.

No functional change.

Follow up to r1891716.
Github: #208

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

4 years agompm_event: use apr_atomic_read32() to read queues' ->total instead of volatile access.
Yann Ylavic [Thu, 22 Jul 2021 15:04:26 +0000 (15:04 +0000)] 
mpm_event: use apr_atomic_read32() to read queues' ->total instead of volatile access.

* server/mpm/event/event.c (listener_thread): Use apr_atomic_read32() instead
  open coded *(volatile apr_uint32_t*)q->total.

No functional change.

Follow up to r1891716.
Github: #208

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

4 years agompm_event: handle lingering close fully in process_lingering_close().
Yann Ylavic [Thu, 22 Jul 2021 14:59:57 +0000 (14:59 +0000)] 
mpm_event: handle lingering close fully in process_lingering_close().

* server/mpm/event/event.c (start_lingering_close_blocking): Axe the function
  and put the code directly in process_lingering_close() on the first call when
  cs->pub.state == CONN_STATE_LINGER, this simplifies lingering close handling
  from process_socket() and event_resume_suspended().

No functional changes.

Follow up to r1891716.
Github: #208

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

4 years agompm_event: Fix queues' maintenance and linger timeouts on graceful restart/stop
Yann Ylavic [Thu, 22 Jul 2021 14:48:50 +0000 (14:48 +0000)] 
mpm_event: Fix queues' maintenance and linger timeouts on graceful restart/stop

* server/mpm/event/event.c (abort_socket_nonblocking): Renamed to
  close_socket_nonblocking_() with close_socket_nonblocking() as a macro to
  APLOG_TRACE8 the caller __FUNCTION__ and __LINE__. Do nothing if the socket
  is closed already, e.g. from close_worker_sockets().

* server/mpm/event/event.c (close_worker_sockets): Let defer_linger_chain be
  cleaned by the terminating workers.

* server/mpm/event/event.c (wakeup_listener): Add a trace8 of the call.

* server/mpm/event/event.c (decrement_connection_count): Add a trace8 of the
  call, decrement lingering_count from CONN_STATE_LINGER too which may happen
  from start_lingering_close_blocking() on ap_start_lingering_close() failure,
  and when dying call ap_queue_interrupt_one() from there instead of
  close_connection() so that we don't miss a worker_thread_should_exit_early()
  case.

* server/mpm/event/event.c (start_lingering_close_blocking): Don't increment
  lingering_count when it's already done by defer_lingering_close() (i.e.
  cs->deferred_linger is set), set socket timeout to 2s (SECONDS_TO_LINGER)
  before pre_close hooks and then after let socket timeout handling to
  process_lingering_close().

* server/mpm/event/event.c (start_lingering_close_nonblocking): Rename to
  defer_lingering_close(), add trace6 of the call, set CONN_STATE_LINGER so
  that the connection is accounted for until handled by a worker, and let
  start_lingering_close_blocking() know by setting cs->deferred_linger.

* server/mpm/event/event.c (stop_lingering_close): Rename to close_connection()
  and log the call at trace6 level instead of trace4 (for consistency), and use
  it everywhere apr_socket_close()+ap_queue_info_push_pool() is open coded.

* server/mpm/event/event.c (shutdown_connection): This helper can be called
  anywhere where nonblocking is required to either initiate short lingering
  close or directly close if the connection is lingering already. It's used
  as a generic process_timeout_queue() callback to terminate expired entries
  in any state.

* server/mpm/event/event.c (update_reqevents_from_sense): Allow to specify the
  sense as argument where -1 means cs->pub.state as before, and call it from
  everywhere before adding to the pollset such that APR_POLL* events are set
  fully/appropritely regardless of the underlying pollset implementation.

* server/mpm/event/event.c (process_socket): Gracefuly stop the process on
  pollset errors, and don't forcibly close the connection if listener_may_exit
  when ap_run_input_pending() determines that the next request is already here.

* server/mpm/event/event.c (close_listeners): Add trace6 of the call, and
  return whether it's the first close or not.

* server/mpm/event/event.c (push2worker): Call shutdown_connection() on failure
  when cs is available so that pre_close hooks (h2 flush, ssl close notify) are
  still called.

* server/mpm/event/event.c (process_lingering_close): Add trace6 of the call,
  always set timeout to zero (hence nonblocking) before reading pending data,
  and terminate the process gracefuly on pollset errors.

* server/mpm/event/event.c (listener_thread): Add some trace7 messages around
  poll()ing for debug, round poll()ing timeout to the upper millisecond to work
  around the rounding down done by some pollset implementations, and on the
  first call to close_listeners() when listener_may_exit->dying let's force the
  maintenance of the queues to kill keep alive connections and apply shorter
  lingering close timeout to free worker threads faster for the next generation.

* server/mpm/event/event.c (join_workers): Rewrite the !dying loop to avoid
  "listener has not stopped accepting yet" if sleeping 500ms once did it.

Github: #208

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

4 years ago *) mod_md:
Stefan Eissing [Tue, 20 Jul 2021 12:44:31 +0000 (12:44 +0000)] 
  *) mod_md:
     - Domain names in `<MDomain ...>` can now appear in quoted form.
     - Fixed a failure in ACME challenge selection that aborted further searches
       when the tls-alpn-01 method did not seem to be suitable.
     - Changed the tls-alpn-01 setup to only become unsuitable when none of the
       dns names showed support for a configured 'Protocols ... acme-tls/1'. This
       allows use of tls-alpn-01 for dns names that are not mapped to a VirtualHost.

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

4 years agoFollow-up to r1891477.
Christophe Jaillet [Fri, 16 Jul 2021 16:18:44 +0000 (16:18 +0000)] 
Follow-up to r1891477.

Axe a few lines of code and document a potential optimization

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

4 years agoWhat is wrong with me?
Stefan Eissing [Thu, 15 Jul 2021 10:09:52 +0000 (10:09 +0000)] 
What is wrong with me?

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

4 years ago * mod_http2:
Stefan Eissing [Thu, 15 Jul 2021 08:29:19 +0000 (08:29 +0000)] 
 * mod_http2:
   - Added a timeout to h2 worker cleanup to exit latest after 5 seconds of
     waiting on idle workers to terminate. This happens after all connections
     have been processed. a WARNING is logged in case workers lagged behind.

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

4 years ago* Allow to load /home/travis/build/apache/httpd/.gdbinit
Ruediger Pluem [Tue, 13 Jul 2021 06:30:23 +0000 (06:30 +0000)] 
* Allow to load /home/travis/build/apache/httpd/.gdbinit

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

4 years ago* Get a full backtrace
Ruediger Pluem [Tue, 13 Jul 2021 06:26:31 +0000 (06:26 +0000)] 
* Get a full backtrace

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

4 years agoFix CHANGES typo s/mpm/mod/ [skip ci].
Yann Ylavic [Mon, 12 Jul 2021 10:36:51 +0000 (10:36 +0000)] 
Fix CHANGES typo s/mpm/mod/ [skip ci].

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

4 years agomod_proxy: Fix icomplete initialization of BalancerMember(s) from the manager.
Yann Ylavic [Mon, 12 Jul 2021 10:32:21 +0000 (10:32 +0000)] 
mod_proxy: Fix icomplete initialization of BalancerMember(s) from the manager.

Clear the workers created in ap_proxy_sync_balancer(), notably ->local_status
for below ap_proxy_initialize_worker() to initialize all the child structures
like ->cp and ->cp->reslist, avoiding a possible crash when the workers are
used at runtime.

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

4 years ago *) mod_md: fixed a potential null pointer dereference if ACME/OCSP
Stefan Eissing [Mon, 12 Jul 2021 07:52:28 +0000 (07:52 +0000)] 
  *) mod_md: fixed a potential null pointer dereference if ACME/OCSP
     server returned 2xx responses without content type. Reported by chuangwen.

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

4 years agos/freenode/libera/
Rich Bowen [Fri, 9 Jul 2021 12:34:42 +0000 (12:34 +0000)] 
s/freenode/libera/

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

4 years agos/Freenode/Libera.chat/g
Rich Bowen [Fri, 9 Jul 2021 12:22:48 +0000 (12:22 +0000)] 
s/Freenode/Libera.chat/g

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

4 years agoTrigger ci.
Yann Ylavic [Tue, 6 Jul 2021 14:04:01 +0000 (14:04 +0000)] 
Trigger ci.

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

4 years ago *) mod_http2:
Stefan Eissing [Tue, 6 Jul 2021 13:06:00 +0000 (13:06 +0000)] 
  *) mod_http2:
   - Aborting requests via RST_STREAM no longer affect the available
     resources of a connection when the first chunk of the response
     body has been sent.
   - H2Min/MaxWorkers behave as intended again. The module will initially
     create H2MinWorkers threads and add up to H2MaxWorkers when needed. These
     additional workers time out when idle after H2MaxWorkerIdleSeconds and
     disappear again.
   - When the shutdown of a child is detected (e.g. graceful shutdown), the
     module will terminate all idle workers above H2MinWorkers right away.
     This detection currently only happens when a HTTP/2 connection is active.

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

4 years agoTrigger ci.
Yann Ylavic [Tue, 6 Jul 2021 08:30:13 +0000 (08:30 +0000)] 
Trigger ci.

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

4 years agomod_proxy: Avoid confusion of prefix/regex matching workers at loading. PR 65429.
Yann Ylavic [Mon, 5 Jul 2021 16:23:33 +0000 (16:23 +0000)] 
mod_proxy: Avoid confusion of prefix/regex matching workers at loading.  PR 65429.

ap_proxy_get_worker() needs to know whether it should lookup for prefix or
match or both matching workers, depending on the context.

For instance <Proxy[Match]> or ProxyPass[Match] directives need to lookup for
an existing worker with the same type as the directive (*Match or not), because
they will define one with that matching type if none exists.

On the contrary, "ProxySet <url>" at load time or ap_proxy_pre_request() at run
time need to find a worker matching an url whether it's by prefix or by regex.

So this commit adds ap_proxy_get_worker_ex() which takes a bitmask for the
matching type and calls it appropriately where needed.

For consistency, ap_proxy_define_worker_ex() is also added, using the same
bitmask flags, deprecating ap_proxy_define_match_worker().

Follow up to r1891206.

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

4 years agoSync CHANGES entries.
Yann Ylavic [Fri, 2 Jul 2021 22:39:11 +0000 (22:39 +0000)] 
Sync CHANGES entries.

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

4 years agomod_proxy: Follow up to r1891206: fix UDS scheme.
Yann Ylavic [Fri, 2 Jul 2021 22:09:10 +0000 (22:09 +0000)] 
mod_proxy: Follow up to r1891206: fix UDS scheme.

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

4 years agompm_proxy: Fix possible reuse/merging of Proxy(Pass)Match workers. PR 65419.
Yann Ylavic [Fri, 2 Jul 2021 14:58:46 +0000 (14:58 +0000)] 
mpm_proxy: Fix possible reuse/merging of Proxy(Pass)Match workers.  PR 65419.

We can't truncate ProxyMatch's worker name/url to the first '$' substitution
without possibly colliding with other workers. This also makes the matching
done at runtime by ap_proxy_strcmp_ematch() completely pointless.

To fix this and still address r1878467 (i.e. make http://host:port$1 a "valid"
URL), we need to remove '$' substitutions from the :port part of the URL only
since it's allowed anywhere else by apr_uri_parse().

So let's strip them before apr_uri_parse() and prepend them back in the path
before apr_uri_unparse() to restore the original URL. Non-matchable workers are
not concerned so ap_proxy_define_worker() is made a local helper (w/o the ap_
prefix) which takes "matchable" as argument and can then be called by both
ap_proxy_define_[match_]worker() functions.

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

4 years agoremove extra whitespace in HTTP_NOT_IMPLEMENTED
Eric Covener [Fri, 2 Jul 2021 12:28:59 +0000 (12:28 +0000)] 
remove extra whitespace in HTTP_NOT_IMPLEMENTED

Github: closes #196
Submitted By: Rajeeva Lochana

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

4 years ago* Add basic security policy for GitHub mirror
Ruediger Pluem [Thu, 1 Jul 2021 06:52:49 +0000 (06:52 +0000)] 
* Add basic security policy for GitHub mirror

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

4 years agocore: Write Completion (WC) bucket type.
Yann Ylavic [Tue, 29 Jun 2021 21:16:21 +0000 (21:16 +0000)] 
core: Write Completion (WC) bucket type.

A WC bucket is meant to prevent buffering/coalescing filters from retaining
data, but unlike a FLUSH bucket it won't cause the core output filter to
block trying to flush anything before.

It can be passed by async handlers which want to never block, followed by
ap_filter_should_yield() to check for pending data and eventually suspend
processing until MPM/asynchronous write completion finishes.

In this commit it's used that way by the tunneling loop of mod_proxy to
prevent SSL coaslescing.

gh: closes #200

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

4 years agofix xlate of literal text ErrorDocument on EBCDIC
Eric Covener [Tue, 29 Jun 2021 15:57:55 +0000 (15:57 +0000)] 
fix xlate of literal text ErrorDocument on EBCDIC

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

4 years ago* modules/ssl/ssl_engine_init.c (ssl_init_server_certs): Fix use of
Joe Orton [Tue, 29 Jun 2021 11:24:17 +0000 (11:24 +0000)] 
* modules/ssl/ssl_engine_init.c (ssl_init_server_certs): Fix use of
  encrypted private keys with OpenSSL 3.0.

* test/travis_run_linux.sh: For TEST_SSL, test loading encrypted
  private keys.

Github: closes #{197}

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

4 years agoLabel duplicates introduced in r1891019.
Joe Orton [Tue, 29 Jun 2021 08:13:19 +0000 (08:13 +0000)] 
Label duplicates introduced in r1891019.

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

4 years agoAdd log tags.
Graham Leggett [Thu, 24 Jun 2021 14:17:02 +0000 (14:17 +0000)] 
Add log tags.

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

4 years agodbm: Split the loading of a dbm driver from the opening of a dbm file. When
Graham Leggett [Thu, 24 Jun 2021 10:27:49 +0000 (10:27 +0000)] 
dbm: Split the loading of a dbm driver from the opening of a dbm file. When
an attempt to load a dbm driver fails, log clearly which driver triggered
the error (not "default"), and what the error was.

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

4 years agofr doc rebuild.
Lucien Gentis [Sat, 19 Jun 2021 15:30:10 +0000 (15:30 +0000)] 
fr doc rebuild.

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

4 years agofr doc XML file update.
Lucien Gentis [Sat, 19 Jun 2021 15:29:14 +0000 (15:29 +0000)] 
fr doc XML file update.

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

4 years ago * log-tags always win.
Stefan Eissing [Fri, 11 Jun 2021 11:40:38 +0000 (11:40 +0000)] 
 * log-tags always win.

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

4 years ago *) mod_ssl: tighten the handling of ALPN for outgoing (proxy)
Stefan Eissing [Fri, 11 Jun 2021 10:45:25 +0000 (10:45 +0000)] 
  *) mod_ssl: tighten the handling of ALPN for outgoing (proxy)
     connections. If ALPN protocols are provided and sent to the
     remote server, the received protocol selected is inspected
     and checked for a match. Without match, the peer handshake
     fails.
     An exception is the proposal of "http/1.1" where it is
     accepted if the remote server did not answer ALPN with
     a selected protocol. This accomodates for hosts that do
     not observe/support ALPN and speak http/1.x be default.

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

4 years ago *) core/mod_proxy/mod_ssl:
Stefan Eissing [Tue, 8 Jun 2021 14:37:44 +0000 (14:37 +0000)] 
  *) core/mod_proxy/mod_ssl:
     Adding `outgoing` flag to conn_rec, indicating a connection is
     initiated by the server to somewhere, in contrast to incoming
     connections from clients.
     Adding 'ap_ssl_bind_outgoing()` function that marks a connection
     as outgoing and is used by mod_proxy instead of the previous
     optional function `ssl_engine_set`. This enables other SSL
     module to secure proxy connections.
     The optional functions `ssl_engine_set`, `ssl_engine_disable` and
     `ssl_proxy_enable` are now provided by the core to have backward
     compatibility with non-httpd modules that might use them. mod_ssl
     itself no longer registers these functions, but keeps them in its
     header for backward compatibility.
     The core provided optional function wrap any registered function
     like it was done for `ssl_is_ssl`.

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

4 years agoCorrected mod_md typos + build all which results in tons of copy right notice updates
Daniel Ferradal [Mon, 7 Jun 2021 17:08:50 +0000 (17:08 +0000)] 
Corrected mod_md typos + build all which results in tons of copy right notice updates

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

4 years agomod_h2: Make h2_headers_create() constant and simplfy code using it.
Yann Ylavic [Mon, 7 Jun 2021 15:11:10 +0000 (15:11 +0000)] 
mod_h2: Make h2_headers_create() constant and simplfy code using it.

Since h2_headers_create() copies its passed in tables, make them const and
simplify the callers.

Thus create_response() in h2_from_h1 can use r->headers_out directly without
copying.

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

4 years agomod_h2: Don't strip headers from 304 responses.
Yann Ylavic [Mon, 7 Jun 2021 15:06:06 +0000 (15:06 +0000)] 
mod_h2: Don't strip headers from 304 responses.

h2 equivalent of r1889341 for h1.

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

4 years agofr doc rebuild.
Lucien Gentis [Sat, 5 Jun 2021 15:06:28 +0000 (15:06 +0000)] 
fr doc rebuild.

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

4 years agofr doc XML files updates.
Lucien Gentis [Sat, 5 Jun 2021 15:05:31 +0000 (15:05 +0000)] 
fr doc XML files updates.

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

4 years agoAdd mapping = servlet / encoded
Jean-Frederic Clere [Fri, 4 Jun 2021 17:11:58 +0000 (17:11 +0000)] 
Add mapping = servlet / encoded

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

4 years agompm_prefork: mask signals during ap_run_child_init().
Yann Ylavic [Fri, 4 Jun 2021 13:21:28 +0000 (13:21 +0000)] 
mpm_prefork: mask signals during ap_run_child_init().

This prevents threads potentially created from the child_init hooks (e.g.
mod_watchdog workers) to catch signals needed by the MPM, like here:
https://travis-ci.com/github/apache/httpd/jobs/510821148#L5356.

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

4 years ago* We could get here again if a second thread deals with the
Ruediger Pluem [Thu, 3 Jun 2021 18:31:15 +0000 (18:31 +0000)] 
* We could get here again if a second thread deals with the
  signal as well. Should noit happen on prefork, but better
  safe than sorry.

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

4 years agoxform
Eric Covener [Thu, 3 Jun 2021 12:29:28 +0000 (12:29 +0000)] 
xform

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

4 years agoPR65073: updates to MergeSlashes related doc
Eric Covener [Thu, 3 Jun 2021 12:28:09 +0000 (12:28 +0000)] 
PR65073: updates to MergeSlashes related doc

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

4 years ago * mod_http2: using the ap_parse_request_line() unconditionally, now that it is avail...
Stefan Eissing [Thu, 27 May 2021 13:17:33 +0000 (13:17 +0000)] 
 * mod_http2: using the ap_parse_request_line() unconditionally, now that it is available in 2.4.x

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

4 years agofr doc rebuild.
Lucien Gentis [Sat, 22 May 2021 16:17:15 +0000 (16:17 +0000)] 
fr doc rebuild.

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

4 years agofr doc XML files updates.
Lucien Gentis [Sat, 22 May 2021 16:15:49 +0000 (16:15 +0000)] 
fr doc XML files updates.

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

4 years ago<contextlist> and <compatibility> bad ordering.
Lucien Gentis [Sat, 22 May 2021 16:11:08 +0000 (16:11 +0000)] 
<contextlist> and <compatibility> bad ordering.

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

4 years agofix build with LibreSSL [Yann Ylavic]
Giovanni Bechis [Fri, 21 May 2021 15:07:38 +0000 (15:07 +0000)] 
fix build with LibreSSL [Yann Ylavic]
Github issue #188

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