]> git.ipfire.org Git - thirdparty/apache/httpd.git/log
thirdparty/apache/httpd.git
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

4 years agomod_ssl: Switch to using OpenSSL's automatic internal DH parameter
Joe Orton [Fri, 21 May 2021 09:58:14 +0000 (09:58 +0000)] 
mod_ssl: Switch to using OpenSSL's automatic internal DH parameter
generation from OpenSSL 1.1.0 and later.  The
SSL_set_tmp_dh_callback() API is deprecated from OpenSSL 3.0 onwards.
Should not be a user-visible change (except mod_ssl gets smaller).

* modules/ssl/ssl_private.h,
  modules/ssl/ssl_engine_kernel.c,
  modules/ssl/ssl_engine_init.c (ssl_init_ctx_callbacks):
  Drop internal DH parameter generation and callback for OpenSSL 1.1+,
  use SSL_CTX_set_dh_auto(, 1) instead.

Github: closes #188
Reviewed by: rpluem

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

4 years ago * mod_log_config/mod_ssl: moved the log_handlers registered by mod_ssl
Stefan Eissing [Tue, 18 May 2021 14:42:52 +0000 (14:42 +0000)] 
  * mod_log_config/mod_ssl: moved the log_handlers registered by mod_ssl
    into mod_log_config itself. These now use the global `ap_ssl_var_lookup()`
    functions and work for all running SSL modules.
    The dependency from mod_ssl to mod_log_config and its header is removed.
    mod_ssl now provides the content of "{errstr}c" as variable "SSL_CLIENT_VERIFY_ERRSTR".
    This change should be fully compatible to all deployed configurations.

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

4 years agomod_md: removing the previous libressl workaround and adding the real
Stefan Eissing [Tue, 18 May 2021 13:41:27 +0000 (13:41 +0000)] 
mod_md: removing the previous libressl workaround and adding the real
        fix that disables ec key types not supported by libressl.

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

4 years agomod_md: workaround for missing libressl definitions. [Giovanni Bechis]
Stefan Eissing [Tue, 18 May 2021 11:34:29 +0000 (11:34 +0000)] 
mod_md: workaround for missing libressl definitions. [Giovanni Bechis]

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

4 years agoSync CHANGES entries. [skip ci]
Yann Ylavic [Mon, 17 May 2021 13:54:02 +0000 (13:54 +0000)] 
Sync CHANGES entries. [skip ci]

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

4 years agomod_md: update documentation regading private keys and message events.
Stefan Eissing [Mon, 17 May 2021 12:11:24 +0000 (12:11 +0000)] 
mod_md: update documentation regading private keys and message events.

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

4 years ago* server/mpm/event/event.c,
Joe Orton [Mon, 17 May 2021 11:56:32 +0000 (11:56 +0000)] 
* server/mpm/event/event.c,
  server/mpm/simple/simple_run.c,
  support/htcacheclean.c: Adjust use of APR_RING macros to
  ensure the APR_RING_HEAD is always embedded in a containing
  structure, to avoid warnings with GCC 11.  (apr_ring.h also
  suggests this is best practice)

See also: https://bugzilla.redhat.com/show_bug.cgi?id=1957353
          https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98503
          msgid <814cca2a-1992-3fae-bb0e-c84b3d09b73b@gmail.com>
Github: closes #186

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

4 years agoFollow up to r1889938: APLOGNO().
Yann Ylavic [Sun, 16 May 2021 22:06:56 +0000 (22:06 +0000)] 
Follow up to r1889938: APLOGNO().

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

4 years agomod_ssl: coalesce using a bucket brigade and the setaside/reinstate mechanism.
Yann Ylavic [Sun, 16 May 2021 21:49:49 +0000 (21:49 +0000)] 
mod_ssl: coalesce using a bucket brigade and the setaside/reinstate mechanism.

ssl_io_filter_coalesce() now uses apr_brigade_write() to save its retained data
in a heap bucket, and ap_filter_{setaside,reinstate}_brigade() to declare them
to the output filters' write completion mechanism.

This prevents MPM event to miss them when it enters write completion state, and
will allow the tunneling loop of mod_proxy to flush them in a following commit
too.

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

4 years agomod_proxy_hcheck: Honor worker timeout settings.
Yann Ylavic [Sun, 16 May 2021 17:04:55 +0000 (17:04 +0000)] 
mod_proxy_hcheck: Honor worker timeout settings.

Daniel reported on user@ that hc connections do not timeout according to
the worker's tumeout= configuration, this fixes it.

While at it, copy the other timeout settings too.

Reported by: dferradal

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

4 years ago* Correctly record changes for the latest release in case there have been no
Ruediger Pluem [Wed, 12 May 2021 16:24:18 +0000 (16:24 +0000)] 
* Correctly record changes for the latest release in case there have been no
  changes at all for this release so far.

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

4 years agoFollow up to r1889792: CHANGES entry.
Yann Ylavic [Wed, 12 May 2021 10:16:07 +0000 (10:16 +0000)] 
Follow up to r1889792: CHANGES entry.

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

4 years agomod_proxy_wstunnel: Add ProxyWebsocketFallbackToProxyHttp.
Yann Ylavic [Wed, 12 May 2021 10:10:36 +0000 (10:10 +0000)] 
mod_proxy_wstunnel: Add ProxyWebsocketFallbackToProxyHttp.

Allows to opt-out the fallback to mod_proxy_http to handle WebSocket upgrade,
and let mod_proxy_wstunnel handle the requests as in 2.4.46 and earlier.

Update docs.

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

4 years ago * Spelling fixes after review by @bigio.
Stefan Eissing [Wed, 12 May 2021 07:25:52 +0000 (07:25 +0000)] 
 * Spelling fixes after review by @bigio.

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

4 years agoAllow the tunnelled connections to report the
Jean-Frederic Clere [Thu, 6 May 2021 06:25:09 +0000 (06:25 +0000)] 
Allow the tunnelled connections to report the
read and trasnfered to the back-end worker.

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

4 years agoAdd some missing space in HTML
Christophe Jaillet [Tue, 4 May 2021 16:39:56 +0000 (16:39 +0000)] 
Add some missing space in HTML

Sumitted by Todd Lewis <utoddl email.unc.edu>
PR 65287

[skip ci]

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

4 years ago* Do not strip any headers from 304 responses.
Ruediger Pluem [Fri, 30 Apr 2021 20:08:46 +0000 (20:08 +0000)] 
* Do not strip any headers from 304 responses.

PR: 61820

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

4 years agoFix a comment (missing '_' in 'keep_body')
Christophe Jaillet [Fri, 30 Apr 2021 12:40:54 +0000 (12:40 +0000)] 
Fix a comment (missing '_' in 'keep_body')

While at it, fix some space related style issues  and a doxygen like comment.

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

4 years agomod_htt2: fix incomplete sync with latest changes in github, adjust version number.
Stefan Eissing [Fri, 23 Apr 2021 08:01:56 +0000 (08:01 +0000)] 
mod_htt2: fix incomplete sync with latest changes in github, adjust version number.

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

4 years agomod_md: make sure its post-config hook runs before mod_watchdog. if
Stefan Eissing [Thu, 22 Apr 2021 10:17:02 +0000 (10:17 +0000)] 
mod_md: make sure its post-config hook runs before mod_watchdog. if
  not, mod_watchdog thinks it has nothing to do, if no one else installs
  any watchdog instance.

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

4 years agoPass NULL instead of a "null ACL"
Eric Covener [Wed, 21 Apr 2021 01:03:46 +0000 (01:03 +0000)] 
Pass NULL instead of a "null ACL"

Submitted By: Ivan Zhakov

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

4 years agolegacy default slash-matching behavior w/ 'MergeSlashes OFF'
Eric Covener [Wed, 21 Apr 2021 01:02:11 +0000 (01:02 +0000)] 
legacy default slash-matching behavior w/ 'MergeSlashes OFF'

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

4 years agocore/ap_ssl_*: changes after review by rpluem
Stefan Eissing [Tue, 20 Apr 2021 12:16:05 +0000 (12:16 +0000)] 
core/ap_ssl_*: changes after review by rpluem
 - removed no longer needed (char*) casts when looking
   up ssl variables.
 - move 'goto cleanup;' on separate source line
 - fixed check for wrong optional function in ap_run_ssl_var_lookup
 - remove ap_bytes_t again from httpd.h and passes now ocsp
   identifier as separate const char* and apr_size_t. This
   follows more how such data is passed in the rest of the
   server.

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

4 years agoFix some typos
Christophe Jaillet [Mon, 19 Apr 2021 13:04:25 +0000 (13:04 +0000)] 
Fix some typos

[skip ci]

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

4 years agoFix some typos
Christophe Jaillet [Mon, 19 Apr 2021 12:39:34 +0000 (12:39 +0000)] 
Fix some typos

[skip ci]

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

4 years agoFix a typo
Christophe Jaillet [Mon, 19 Apr 2021 12:21:09 +0000 (12:21 +0000)] 
Fix a typo

[skip ci]

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

4 years agoFix a typo
Christophe Jaillet [Mon, 19 Apr 2021 12:16:24 +0000 (12:16 +0000)] 
Fix a typo

[skip ci]

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

4 years agoAdd a change entry
Christophe Jaillet [Sun, 18 Apr 2021 19:05:20 +0000 (19:05 +0000)] 
Add a change entry

[skip ci]

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

4 years agofix StrictHostCheck crash w/ HTTP/1.0
Eric Covener [Sat, 17 Apr 2021 20:13:28 +0000 (20:13 +0000)] 
fix StrictHostCheck crash w/ HTTP/1.0

not released

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

4 years agoserver/protocol.c: remove old hooks links that had been moved to server/ssl.c
Stefan Eissing [Tue, 13 Apr 2021 12:26:20 +0000 (12:26 +0000)] 
server/protocol.c: remove old hooks links that had been moved to server/ssl.c

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

4 years agomod_md: fixed a conversion warning, bumped version number.
Stefan Eissing [Tue, 13 Apr 2021 11:27:09 +0000 (11:27 +0000)] 
mod_md: fixed a conversion warning, bumped version number.

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

4 years agoupdate the damn log tags.
Stefan Eissing [Tue, 13 Apr 2021 11:13:48 +0000 (11:13 +0000)] 
update the damn log tags.

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

4 years ago *) core/mod_ssl/mod_md: adding OCSP response provisioning as core feature. This
Stefan Eissing [Tue, 13 Apr 2021 11:12:00 +0000 (11:12 +0000)] 
  *) core/mod_ssl/mod_md: adding OCSP response provisioning as core feature. This
     allows modules to access and provide OCSP response data without being tied
     of each other. The data is exchanged in standard, portable formats (PEM encoded
     certificates and DER encoded responses), so that the actual SSL/crypto
     implementations used by the modules are independant of each other.
     Registration and retrieval happen in the context of a server (server_rec)
     which modules may use to decide if they are configured for this or not.
     The area of changes:
     1. core: defines 2 functions in include/http_ssl.h, so that modules may
        register a certificate, together with its issuer certificate for OCSP
        response provisioning and ask for current response data (DER bytes) later.
        Also, 2 hooks are defined that allow modules to implement this OCSP
        provisioning.
     2. mod_ssl uses the new functions, in addition to what it did already, to
        register its certificates this way. If no one is interested in providing
        OCSP, it falls back to its own (if configured) stapling implementation.
     3. mod_md registers itself at the core hooks for OCSP provisioning. Depending
        on configuration, it will accept registrations of its own certificates only,
        all certficates or none.

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

4 years agomax_attempts_set needs to be set too.
Jean-Frederic Clere [Thu, 8 Apr 2021 12:35:44 +0000 (12:35 +0000)] 
max_attempts_set needs to be set too.

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

4 years agofr doc rebuild.
Lucien Gentis [Fri, 2 Apr 2021 12:44:28 +0000 (12:44 +0000)] 
fr doc rebuild.

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

4 years agofr doc XML files updates.
Lucien Gentis [Fri, 2 Apr 2021 12:43:27 +0000 (12:43 +0000)] 
fr doc XML files updates.

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

4 years agoApply CHANGES. [skip ci]
Yann Ylavic [Thu, 1 Apr 2021 10:28:51 +0000 (10:28 +0000)] 
Apply CHANGES. [skip ci]

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

4 years agoFollow up to r1888266, r1888268: fix PR in CHANGES entry.
Yann Ylavic [Thu, 1 Apr 2021 10:25:13 +0000 (10:25 +0000)] 
Follow up to r1888266, r1888268: fix PR in CHANGES entry.

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

4 years agoFollow up to r1888266: CHANGES entry.
Yann Ylavic [Thu, 1 Apr 2021 10:23:04 +0000 (10:23 +0000)] 
Follow up to r1888266: CHANGES entry.

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

4 years agomod_socache_shmcb: be safe from socache_shmcb_destroy() late call.
Yann Ylavic [Thu, 1 Apr 2021 09:14:34 +0000 (09:14 +0000)] 
mod_socache_shmcb: be safe from socache_shmcb_destroy() late call.

ssl_init_Module() in post_config early registers ssl_init_ModuleKill(), which
will then run after all the next cleanups registered later in post_config, thus
any shm_cleanup() registered from ssl_scache_init::socache_shmcb_init().
This can cause a double SHM cleanup when apr_shm_destroy() is called from
ssl_init_ModuleKill() as pconf is cleared.

Fix this in mod_socache_shmcb by registering a socache_shmcb_cleanup() after
the SHM is created, and by letting socache_shmcb_destroy() run the cleanup,
such that shm_cleanup() is always and ever called only once.

Ideally apr_shm_create() would be consistent accross platforms to register its
shm_cleanup() on the pool but that's not the case for now (I'm on it), so httpd
has to call apr_shm_destroy() explicitely from several places (we'll be able to
remove ssl_scache_kill() and other similar cleanups once the minimal APR
version required by httpd is fixed..).

We could also fix this by registering ssl_init_ModuleKill() late(r) in
ssl_init_Module(), though the more robust mod_socache_shmcb the better for
all the modules..

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

4 years ago *) mod_http2: Fixed a race condition that could lead to streams being
Stefan Eissing [Fri, 26 Mar 2021 14:55:22 +0000 (14:55 +0000)] 
  *) mod_http2: Fixed a race condition that could lead to streams being
     aborted (RST to the client), although a response had been produced.

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

4 years agoFixing mod_lua to use new http_ssl.h header file as well.
Stefan Eissing [Fri, 26 Mar 2021 11:44:30 +0000 (11:44 +0000)] 
Fixing mod_lua to use new http_ssl.h header file as well.

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

4 years ago *) core: provide ap_ssl_* functions in new http_ssl.h header file.
Stefan Eissing [Fri, 26 Mar 2021 11:27:34 +0000 (11:27 +0000)] 
  *) core: provide ap_ssl_* functions in new http_ssl.h header file.

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

4 years agomod_md: make certain that the post config after ssl part runs really late.
Stefan Eissing [Wed, 24 Mar 2021 13:44:10 +0000 (13:44 +0000)] 
mod_md: make certain that the post config after ssl part runs really late.
        bumped version number.

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