1
0
mirror of https://github.com/apache/httpd.git synced 2026-10-23 22:49:01 +03:00

1788 Commits

Author SHA1 Message Date
Ruediger Pluem
fd92481223 Merge r1908827, r1908838 from trunk:
mod_proxy: Check for space/ctrls in nocanon path/urls before forwarding.



Follow up to r1908827: CHANGES entry.
Submitted by: ylavic
Reviewed by: ylavic, rpluem, covener


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1908865 13f79535-47bb-0310-9956-ffa450edef68
2023-03-31 14:37:07 +00:00
Ruediger Pluem
9b8cf1746b Merge r1908341, r1908628, r1908629 from trunk:
Do not double encode encoded slashes

In case that AllowEncodedSlashes is set to NoDecode do not double encode
encoded slashes in the URL sent by the reverse proxy to the backend.

* include/ap_mmn.h: Document the addition of ap_proxy_canonenc_ex to the API.

* modules/proxy/mod_proxy.h: Declare ap_proxy_canonenc_ex and define flag
      values.

* modules/proxy/proxy_util.c: Implement ap_proxy_canonenc_ex by modifying
      ap_proxy_canonenc accordingly and reimplement ap_proxy_canonenc to
      use ap_proxy_canonenc_ex with the appropriate flag.

* modules/http2/mod_proxy_http2.c, modules/proxy/mod_proxy_*.c: Set the
      correct flag based on the AllowEncodedSlashes configuration and use
      ap_proxy_canonenc_ex instead of ap_proxy_canonenc.


* Whitespace fixes. No functional change.

* Fix typo

Reviewed by: rpluem, ylavic, covener

Github: closes #351


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1908864 13f79535-47bb-0310-9956-ffa450edef68
2023-03-31 14:33:00 +00:00
Eric Covener
11d58d4a43 Merge r1907505, r1908186 from trunk:
* In the reverse proxy case r->filename might contain a query string if
  the nocanon option was used with ProxyPass.
  If this is the case cut off the query string as the last parameter in
  this query string might end up on an extension we take care about, but
  we only want to match against path components not against query
  parameters.


* Add CHANGES entry for r1907505 [skip ci]

Reviewed By: rpluem, ylavic, covener


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1908538 13f79535-47bb-0310-9956-ffa450edef68
2023-03-19 21:33:35 +00:00
Eric Covener
a356fdbfb9 Merge r1908302 from trunk:
move B=xx example to the bottom

show example with quoted flags and a space


Reviewed By: ylavic, rpluem, covener


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1908536 13f79535-47bb-0310-9956-ffa450edef68
2023-03-19 21:29:58 +00:00
Eric Covener
8789f6bb92 Merge r1908095 from trunk:
don't forward invalid query strings

    Submitted by: rpluem

Reviewed By:  covener, fielding, rpluem, gbechis



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1908096 13f79535-47bb-0310-9956-ffa450edef68
2023-03-05 20:28:43 +00:00
Eric Covener
d753ea76b5 Merge r1907980 from trunk:
mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation

Reviewed By: ylavic, covener, gbechis, rpluem





git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1908094 13f79535-47bb-0310-9956-ffa450edef68
2023-03-05 20:22:52 +00:00
Eric Covener
86369476a5 Merge r1906940 from trunk:
* Report an error if the AJP backend sends an invalid number of headers

Reviewed By: rpluem, covener, ylavic


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1908026 13f79535-47bb-0310-9956-ffa450edef68
2023-03-03 14:21:26 +00:00
Eric Covener
d93e61e3e9 Merge r1906540 from trunk:
cleanup on error


Reviewed By: rpluem, gbechis, covener


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1906542 13f79535-47bb-0310-9956-ffa450edef68
2023-01-10 13:20:55 +00:00
Eric Covener
8b6d55f6a0 Merge r1906539 from trunk:
fail on bad header

Submitted By: covener
Reviewed By: covener, rpluem, gbechis


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1906541 13f79535-47bb-0310-9956-ffa450edef68
2023-01-10 13:20:09 +00:00
Eric Covener
fa88fb4095 Merge r1889936 from trunk:
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


Submitted By: rpluem
Reviewed By: rpluem, jorton, jim


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1906499 13f79535-47bb-0310-9956-ffa450edef68
2023-01-09 13:28:33 +00:00
Eric Covener
3740b68e84 Merge r1903744, r1903745, r1904642, r1905646, r1905669 from trunk:
Allow for HTTP/1.1 or HTTP/1.0 protocol health checks


    Document hcmethod enhancement to allow HTTP/1.1 comms


    catch by CJ


    Bump mmn


    bump again

+ suppress MMN changes, applied manually in 1906496

Submitted By: jim
Reviewed By: jim, covener, rpluem


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1906498 13f79535-47bb-0310-9956-ffa450edef68
2023-01-09 13:26:52 +00:00
Eric Covener
f34e6c027b Merge r1904518 from trunk:
*) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
     [Alessandro Cavaliere <alessandro.cavalier7 unibo.it>]

+ MMN

Submitted By: jim
Reviewed By: +1: jim, ylavic, icing




git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1906496 13f79535-47bb-0310-9956-ffa450edef68
2023-01-09 13:22:44 +00:00
Joe Orton
7db7d28520 Merge r1756531 from trunk:
Follow up to r1750392: reduce AH03408 level to INFO as suggested by wrowe/jim.

Submitted by: ylavic
Reviewed by: jorton, rpluem, jim


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1906490 13f79535-47bb-0310-9956-ffa450edef68
2023-01-09 12:10:33 +00:00
Eric Covener
eaafacd0ef Merge r1904516 from trunk:
*) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300.
     trunk revision:

Submitted by: jim
Reviewed by: jim, ylavic, icing, jfclere



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1905608 13f79535-47bb-0310-9956-ffa450edef68
2022-11-29 13:24:16 +00:00
Stefan Eissing
b27e446258 Merge pull 319 (trunk: r1901420, r1901446, r1901485, r1901486):
*) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue.
     PR 65666.  [Yann Ylavic]



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1901584 13f79535-47bb-0310-9956-ffa450edef68
2022-06-03 08:20:42 +00:00
Yann Ylavic
f7f15f3d8b mod_proxy_ajp: T-E has precedence over C-L.
Merge r1901521 from trunk.
Submitted by: rpluem


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1901522 13f79535-47bb-0310-9956-ffa450edef68
2022-06-01 13:48:21 +00:00
Eric Covener
ce259c4061 Merge r1901497 from trunk:
use a liberal default limit for LimitRequestBody of 1GB


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1901499 13f79535-47bb-0310-9956-ffa450edef68
2022-06-01 12:31:48 +00:00
Stefan Eissing
956f708b09 Merge r1901461 from trunk via #320:
*) mod_proxy: ap_proxy_create_hdrbrgd() to clear hop-by-hop first and fixup last.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1901480 13f79535-47bb-0310-9956-ffa450edef68
2022-06-01 07:51:04 +00:00
Stefan Eissing
2b7df61cdc Merge of r1901088 from trunk:
*) mod_proxy_connect: Ensure that the configured timeout is set on the
     backend socket.
     Trunk version of patch:
        https://svn.apache.org/r1901088
     Backport version for 2.4.x of patch:
      Trunk version of patch works
      svn merge -c 1901088 ^/httpd/httpd/trunk .



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1901233 13f79535-47bb-0310-9956-ffa450edef68
2022-05-25 11:49:56 +00:00
Rainer Jung
a065848753 mod_proxy: Add backend port to log messages to
ease identification of involved service.

Merge r1900028 from trunk.
Submitted by: rjung
Reviewed by: rjung, jim, rpluem


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1900957 13f79535-47bb-0310-9956-ffa450edef68
2022-05-16 12:39:54 +00:00
Jim Jagielski
5c66d1b981 Merge r1899451, r1899454, r1899562, r1899564, r1899584, r1899886 from trunk:
* Close the connection in case an EOC bucket was seen

* In case we see an EOC bucket and there was an error bucket before, use its
  status as status for the request. This should ensure proper status logging
  in the access log.


* We need to set r->status on each call after we noticed an EOC as
  data bucket generators like ap_die might have changed the status
  code. But we know better in this case and insist on the status
  code that we have seen in the error bucket.


* Keep track of the number of keepalives we processed on this connection.


* Report a broken backend in case reading the response line failed on the
  first request on this connection otherwise we assume we have just run
  into a keepalive race and the backend is still healthy.


* Add Changelog for r1899451, r1899454, r1899562, r1899564, r1899584

Submitted by: rpluem
Reviewed by: jim

Github: closes #314


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1900755 13f79535-47bb-0310-9956-ffa450edef68
2022-05-09 18:02:07 +00:00
Stefan Eissing
f38c5b8229 Merge of 1891019,1891023 from trunk:
*) 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/branches/2.4.x@1898590 13f79535-47bb-0310-9956-ffa450edef68
2022-03-04 09:30:28 +00:00
Stefan Eissing
e8813d865d Revert of 1898566, backport of dbm loading, to allow clean apply of proposed patch.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1898589 13f79535-47bb-0310-9956-ffa450edef68
2022-03-04 09:16:02 +00:00
Stefan Eissing
d05b8b9219 Merge of r1896253,r1897859 from trunk (via PR 288):
*) mod_proxy: Bump shared worker name to 384 chars. PR 53218



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1898588 13f79535-47bb-0310-9956-ffa450edef68
2022-03-04 09:06:07 +00:00
Jim Jagielski
a086e1885f dbm backport approved and merged
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1898566 13f79535-47bb-0310-9956-ffa450edef68
2022-03-03 13:30:46 +00:00
Stefan Eissing
06daa68add Merge of r1898127 from trunk:
*) mod_proxy: Use the maxium of front end and backend timeouts instead of the
     minimum when tunneling requests (websockets, CONNECT requests).
     Backend timeouts can be configured more selectively (per worker if needed)
     as front end timeouts and typically the backend timeouts reflect the
     application requirements better.  PR 65886



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1898559 13f79535-47bb-0310-9956-ffa450edef68
2022-03-03 09:31:51 +00:00
Christophe Jaillet
596dbb26eb Merge r1897325, r1897326, r1897329, r1898255 from trunk
APR and APU must be at least 1.3 to be able to configure and build httpd 2.4.x.
So remove some osbolete #if in the source code.
   - mod_socache_memcache
   - mod_authn_dbd
   - mod_log_config
   - mod_proxy_ftp and proxy-util

Submitted by: jailletc36, jailletc36, jailletc36, jailletc36
Reviewed by: jailletc36, icing, rpluem
Backported by: jailletc36

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1898393 13f79535-47bb-0310-9956-ffa450edef68
2022-02-24 20:43:21 +00:00
Stefan Eissing
a0521d289a Merge of r1895981,r1895986 from trunk:
*) mod_proxy: Don't prevent forwarding URIs w/ no hostname.
                (fix for r1895955 already in 2.4.x)



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1896044 13f79535-47bb-0310-9956-ffa450edef68
2021-12-16 11:23:49 +00:00
Yann Ylavic
a962ba7304 Merge r1895914, r1895921 from trunk:
*) http: Enforce that fully qualified uri-paths not to be forward-proxied
     have an http(s) scheme, and that the ones to be forward proxied have a
     hostname, per HTTP specifications.
     trunk patch: http://svn.apache.org/r1895914
                  http://svn.apache.org/r1895921
     2.4.x patch: https://patch-diff.githubusercontent.com/raw/apache/httpd/pull/286.patch
     backport PR: https://github.com/apache/httpd/pull/286
     +1: ylavic, minfrin, gbechis


mod_proxy: Detect unix: scheme syntax errors at load time.

* modules/proxy/mod_proxy.c(add_pass, add_member, set_proxy_param,
                            proxysection):
  Check return value of ap_proxy_de_socketfy().

* modules/proxy/proxy_util.c(ap_proxy_get_worker_ex):
  Check return value of ap_proxy_de_socketfy().



http: Enforce that fully qualified uri-paths not to be forward-proxied
      have an http(s) scheme, and that the ones to be forward proxied have a
      hostname, per HTTP specifications.

The early checks avoid failing the request later on and thus save cycles
for those invalid cases.


Submitted by: ylavic
Reviewed by: ylavic, minfrin, gbechis
Closes #286


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1895955 13f79535-47bb-0310-9956-ffa450edef68
2021-12-14 15:35:56 +00:00
Stefan Eissing
fbda64f2f3 Merge r1889494,r1892563,r1892917 from trunk:
- mod_proxy_balancer: add missing spaces in HTML output
     - mod_proxy_http: Avoid a double call to apr_table_get()
     - mod_ssl: Fix some typo and doxygen issues
     [Jean-Frederic Clere]



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1895943 13f79535-47bb-0310-9956-ffa450edef68
2021-12-14 09:58:22 +00:00
Graham Leggett
1a4d3c4676 Backport.
*) mod_proxy_connect, mod_proxy: Do not change the status code after we
     already sent it to the client.
     Trunk version of patch:
        https://svn.apache.org/r1895715
     Backport version for 2.4.x of patch:
       https://patch-diff.githubusercontent.com/raw/apache/httpd/pull/283.diff
     Can be applied via apply_backport_pr.sh 283
     +1: rpluem, icing, minfrin



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1895903 13f79535-47bb-0310-9956-ffa450edef68
2021-12-13 15:46:50 +00:00
Graham Leggett
c28fdf37f8 Backport:
*) mod_proxy_connect: Honor the smallest of the backend or client timeout
     while tunneling, and handle "proxy-nohalfclose" as opt-out for hlaf-close
     tunneling. PR 65631, 65662, 65689.
     trunk patch: http://svn.apache.org/r1894290
                  http://svn.apache.org/r1895304
     backport PR: https://github.com/apache/httpd/pull/278
     2.4.x patch: https://patch-diff.githubusercontent.com/raw/apache/httpd/pull/278.patch
     +1: ylavic, rpluem, minfrin



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1895762 13f79535-47bb-0310-9956-ffa450edef68
2021-12-10 13:23:51 +00:00
Stefan Eissing
8966e290a6 Merge of r1894074 from trunk:
*) mod_proxy_uwsgi: Remove duplicate slashes at the beginning of PATH_INFO.
     PR 65616.  [Ruediger Pluem]



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1895097 13f79535-47bb-0310-9956-ffa450edef68
2021-11-17 08:42:35 +00:00
Stefan Eissing
81a8b0133b backport of 1893519,1893532 from trunk:
*) mod_proxy: Handle UDS URIs with empty hostname ("unix:///...") as if they
     had no hostname ("unix:/..."), also in mod_rewrite's is_absolulte_uri().



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1893559 13f79535-47bb-0310-9956-ffa450edef68
2021-09-23 12:31:53 +00:00
Stefan Eissing
f9c54948e4 Merge r1890605, r1893164, r1893179 from trunk:
*) 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`.


  *core: clarify comments and use hook API better to check for presence of callbacks.



 * optimizing hook check as suggested by Yann.



Submitted by: icing
Reviewed by: 

Github: closes #203


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1893182 13f79535-47bb-0310-9956-ffa450edef68
2021-09-09 15:22:23 +00:00
Yann Ylavic
4c1ed8e820 Merge r1893016 from trunk:
mod_proxy: Don't canonicalize with both nocanon and ProxyPassInterpolateEnv On.

If nocanon is set, we should match the unparsed_uri against the interpolated
alias (not the ProxyPass'ed one) when verifying the resulting length. Otherwise
we falsely restore the canonicalized URL in case of mismatch.  PR 65549.


Submitted by: Joel Self <joelself gmail.com>
Reviewed by: ylavic, covener, rpluem


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1893111 13f79535-47bb-0310-9956-ffa450edef68
2021-09-08 08:27:47 +00:00
Yann Ylavic
a67c610394 mod_proxy: Axe unused ap_filter_input_pending in 2.4.x (only) after r1892971.
Submitted by: ylavic
Reviewed by: ylavic, icing,  covener


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1893107 13f79535-47bb-0310-9956-ffa450edef68
2021-09-08 08:21:22 +00:00
Ruediger Pluem
d4901cb321 Merge r1892986, r1892987 from trunk:
mod_proxy: Follow up to r1892814.

* modules/proxy/proxy_util.c(fix_uds_filename):
  Sanity checks on the configured UDS path, fail with 500 if invalid since
  continuing through proxy processing wouldn't work as expected.



mod_proxy: Follow up to r1892986: APLOGNO()

Stefan get out of this body! :)


Submitted by: ylavic
Reviewed by: rpluem, ylavic, covener

Github: closes #265


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1893101 13f79535-47bb-0310-9956-ffa450edef68
2021-09-08 07:00:09 +00:00
Yann Ylavic
4ef2a7fcff Merge r1892740, r1892851 from trunk:
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.


mod_proxy: Follow up to r1892740.

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


Submitted by: ylavic
Reviewed by: ylavic, covener, jorton


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1892971 13f79535-47bb-0310-9956-ffa450edef68
2021-09-06 08:34:19 +00:00
Yann Ylavic
6d9672bf09 Merge r1892805 from trunk:
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.


Submitted by: ylavic
Reviewed by: ylavic, covener, rpluem


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1892875 13f79535-47bb-0310-9956-ffa450edef68
2021-09-03 17:00:07 +00:00
Yann Ylavic
496c863776 Merge r1892814, r1892853 from trunk:
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.


mod_proxy: Follow up to r1892814.

Save some few cycles in ap_proxy_de_socketfy() too.


Submitted by: ylavic
Reviewed by: ylavic, covener, rpluem


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1892874 13f79535-47bb-0310-9956-ffa450edef68
2021-09-03 16:52:38 +00:00
Yann Ylavic
be99f85dba Merge r1891206, r1891216, r1891284 from trunk:
mod_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.


mod_proxy: Follow up to r1891206: fix UDS scheme.


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.


Github: closes #261

Submitted by: ylavic
Reviewed by: ylavic, minfrin, icing


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1892569 13f79535-47bb-0310-9956-ffa450edef68
2021-08-24 12:44:28 +00:00
Graham Leggett
21ee1a7dbf Backport:
*) back port the add of balancer_manage in mod_proxy_balancer.
     trunk patch: http://svn.apache.org/r1859235
                  http://svn.apache.org/r1887176
                  http://svn.apache.org/r1887359
                  http://svn.apache.org/r1887144
     Backport version for 2.4.x of patch:
          https://people.apache.org/~jfclere/patches/patch.210810.txt
     +1: jfclere, jim, minfrin



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1892522 13f79535-47bb-0310-9956-ffa450edef68
2021-08-22 09:51:33 +00:00
Stefan Eissing
e04c7b15ee *) mod_proxy: Fix icomplete initialization of BalancerMember(s) from the
balancer-manager, which can lead to a crash.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1892165 13f79535-47bb-0310-9956-ffa450edef68
2021-08-10 08:32:35 +00:00
Stefan Eissing
6a5d3e006b Merged /httpd/httpd/trunk:r1879074-1879080,1879094-1879095,1879110-1879112,1879114,1879116-1879117,1879137,1879144-1879145,1879147,1879149,1879235,1879360
back port the mapping=servlet proxy logic.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1892161 13f79535-47bb-0310-9956-ffa450edef68
2021-08-10 08:27:18 +00:00
Graham Leggett
f4af9fc212 *) back port: Add CPING to health check logic - remove hardcoded timeout.
Trunk version of patch:
        https://svn.apache.org/r1887439
     Backport version for 2.4.x of patch:
      Trunk version of patch works
      svn merge -c 1887439 ^/httpd/httpd/trunk .
     +1: minfrin, rpluem, covener



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1891276 13f79535-47bb-0310-9956-ffa450edef68
2021-07-05 09:01:27 +00:00
Graham Leggett
044b45e0da *) back port: Add CPING to health check logic.
Trunk version of patch:
        https://svn.apache.org/r1887415
   Backport version for 2.4.x of patch:
      Trunk version of patch works
      svn merge -c 1887415 ^/httpd/httpd/trunk .
   +1: jfclere, jim, minfrin



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1890947 13f79535-47bb-0310-9956-ffa450edef68
2021-06-21 17:03:35 +00:00
Yann Ylavic
cb517a3b8a Merge r1889792, r1889795 from trunk:
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.


Follow up to r1889792: CHANGES entry.


Submitted by: ylavic
Reviewed by: ylavic, covener, rpluem


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1889902 13f79535-47bb-0310-9956-ffa450edef68
2021-05-14 19:18:52 +00:00
Yann Ylavic
01a8f46983 mod_proxy: Fix flushing of THRESHOLD_MIN_WRITE data while tunneling. BZ 65294
Submitted by: ylavic
Reviewed by: ylavic, covener, rpluem


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1889901 13f79535-47bb-0310-9956-ffa450edef68
2021-05-14 19:15:11 +00:00
Stefan Eissing
c0cff48bcc Merge of [r1886840, r1887085, r1887087, r1887134, r1887151, r1887152,
r1887337, r1887340, r1887342, r1887343, r1887360, r1887364, 
       r1887923, r1887965, r1887993, r1888006, r1888083, r1888084,
       r1888723, r1888724, r1888726, r1888729, r1889788] from trunk:

   *) core/mod_ssl/mod_md:
     - adding new ap_ssl_*() functions for a backward
       compatible replacement of the major optional mod_ssl functions. This
       allows other ssl modules to work without impersonating mod_ssl and
       also allows different ssl modules being active on separate ports.
     - latest mod_md with support for multiple certificates per domain
       and ECDSA certificates. Removed ACMEv1 support.
     - Interworking mod_md and ssl modules changed to exchange PEM strings
       instead of file paths for ACME challenges.
     - core/mod_ssl/mod_md: adding OCSP response provisioning as core feature.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1889793 13f79535-47bb-0310-9956-ffa450edef68
2021-05-12 10:14:42 +00:00