Files
apache-http-server/modules
Yann Ylavic c74bf2f821 mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when
some dollar substitution (backreference) happens in the hostname
           or port part of the URL.

Address or connection reuse can't work when the autority part of the URL is
dynamic (single origin server[:port] handled/assumed in the reslist). Detect
such cases and unset worker->s->is_address_reusable to disable reuse regardless
of enablereuse/disablereuse.

* modules/proxy/proxy_util.c(ap_proxy_define_worker_ex):
  Lookup for $n substitution in the hostname[:port] when parsing the URL and
  if present, set worker->->is_address_reusable=0 / worker->s->disablereuse=1.

* modules/proxy/proxy_util.c(ap_proxy_initialize_worker):
  Don't overwrite worker->s->is_address_reusable from enablereuse/disablereuse
  parameters, and set both consistently.

* docs/manual/mod/mod_proxy.xml:
  Add ProxyPassMatch compatibility note about key=value parameters handled with
  $n substitutions since 2.4.47.
  Document the specificities of enablereuse/disablereuse w.r.t. $n subsitutions
  in the different part of the URL.
  Axe the note about unparsable URLs when the $n substitution happens in the
  port, this has been addressed in 2.4.47 too (and works now).



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1904513 13f79535-47bb-0310-9956-ffa450edef68
2022-10-11 09:53:04 +00:00
..
2022-04-20 16:49:15 +00:00
2022-06-01 12:37:44 +00:00
2022-06-01 12:40:09 +00:00
2022-06-01 12:36:13 +00:00
2022-08-25 14:00:13 +00:00

The directory structure for this level is as follows:

aaa/
  This directory contains modules dealing with authorization and
  authentication.

arch/

cache/
  This directory houses modules that implement file and data caching
  capability.

database/
  The apache DBD framework manages connections to SQL backends efficiently.

cluster/
  Modules for working with multiple servers.

dav/
  This directory houses modules that implement WebDAV functionality.

echo/

examples/
  This directory contains some sample code that should help you on your
  way to develop your own Apache modules.  

experimental/
  In this directory we've placed some modules which we think
  provide some pretty interesting functionality, but which
  are still in the early stages of development and could
  evolve radically in the future.  This code isn't supported
  officially.

filters/
  This directory houses modules that perform general inline data filtering.

generators/
  This directory houses modules that perform data generation functions.

http/
  This directory houses modules that basic HTTP protocol implementation.

http2/
  This directory houses modules that provide HTTP/2 protocol implementation.

loggers/
  This directory houses modules that handle logging functions.

mappers/
  This directory houses modules that handle URL mapping and
  rewriting.

metadata/
  This directory houses modules that deal with Header metadata.

proxy/
  This houses the code for the proxy module for Apache.

ssl/
  This directory houses code for OpenSSL functionality.

test/
  This directory houses modules which test various components 
  of Apache.  You should not compile these into a production
  server.