1
0
mirror of https://github.com/apache/httpd.git synced 2025-08-05 16:55:50 +03:00

474 Commits

Author SHA1 Message Date
Joe Orton
e3f96299c0 * modules/proxy/mod_proxy.c (create_proxy_config): Tag the pool.
* modules/lua/mod_lua.c (lua_post_config, create_vm_spec): Tag pools.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1862051 13f79535-47bb-0310-9956-ffa450edef68
2019-06-25 10:57:00 +00:00
Yann Ylavic
0848891b92 mod_proxy: follow up to r1836588: configurable Proxy100Continue.
Add Proxy100Continue directive to allow for 100-continue forwarding opt-out.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1856036 13f79535-47bb-0310-9956-ffa450edef68
2019-03-22 09:53:29 +00:00
Rainer Jung
8cae4747e4 mod_proxy: Improve the balancer member data shown
in mod_status when "ProxyStatus" is "On":
add "busy" count and show byte counts in auto
mode always in units of kilobytes.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837588 13f79535-47bb-0310-9956-ffa450edef68
2018-08-07 10:17:33 +00:00
Eric Covener
bd1ccf5f0a PR62199: add worker parameter ResponseFieldSize to mod_proxy
Submitted By: Hank Ibell
Committed By: covener




git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1828926 13f79535-47bb-0310-9956-ffa450edef68
2018-04-11 19:11:52 +00:00
Jim Riggs
55b4505765 mod_proxy_balancer: Add hot spare member type and corresponding flag (R). Hot spare members are
used as drop-in replacements for unusable workers in the same load balancer set. This differs
from hot standbys which are only used when all workers in a set are unusable. PR 61140.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1828890 13f79535-47bb-0310-9956-ffa450edef68
2018-04-11 12:11:05 +00:00
Graham Leggett
fac7f995b0 mod_proxy: Provide an RFC1035 compliant version of the hostname in the
proxy_worker_shared structure. PR62085


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1824176 13f79535-47bb-0310-9956-ffa450edef68
2018-02-13 21:22:05 +00:00
Yann Ylavic
84cabd2d8e Revert r1813167 (per review).
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1813255 13f79535-47bb-0310-9956-ffa450edef68
2017-10-25 07:23:34 +00:00
Yann Ylavic
abea15ba12 mod_proxy_balancer: fix runtime lbfactor value changed in 2.4.28.
It is assumed to be between 1 and 100 by lbmethods, so normalize it
accordingly.

[Reverted by r1813255]


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1813167 13f79535-47bb-0310-9956-ffa450edef68
2017-10-24 10:50:34 +00:00
Yann Ylavic
1ee7b9348b Follow up to r1740928: including NOT_IN_PROXY in NOT_IN_DIR_LOC_FILE is both
incomplete and not backportable, fix it by introducing NOT_IN_DIR_CONTEXT and
restoring NOT_IN_DIR_LOC_FILE to its previous value.

Per ap_check_cmd_context(), NOT_IN_DIR_LOC_FILE actually/really means "not in
any directory context", while the definition itself does not include all the
existing directory contexts (e.g. <Limit>, or <Proxy> before r1740928).

This is a bit of a misnomer, at least, so instead of (ab)using it by adding the
missing contexts (in an incompatible way), let's define NOT_IN_DIR_CONTEXT to
really exclude all directory context (i.e. NOT_IN_DIR_LOC_FILE + NOT_IN_LIMIT +
NOT_IN_PROXY) and use it wherever NOT_IN_DIR_LOC_FILE was used.

This is by itself a major MMN bump (modules not compiled with this commit and
having directives checked against NOT_IN_DIR_LOC_FILE won't be caught the same
way by NOT_IN_DIR_CONTEXT in the new ap_check_cmd_context() code), but with the
below change, 2.4.x should work as before:

-   if ((forbidden & NOT_IN_DIR_CONTEXT) == NOT_IN_DIR_CONTEXT) {
+   if ((forbidden & NOT_IN_DIR_LOC_FILE) == NOT_IN_DIR_LOC_FILE) {
        if (cmd->path != NULL) {
            return apr_pstrcat(cmd->pool, cmd->cmd->name, gt,
-                           " cannot occur within directory context", NULL);
+                           " cannot occur within <Directory/Location/Files/Proxy> "
+                           "section", NULL);
        }
        ...
    }



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1812193 13f79535-47bb-0310-9956-ffa450edef68
2017-10-14 16:27:14 +00:00
Jim Jagielski
f77ced89e7 format typo
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1808723 13f79535-47bb-0310-9956-ffa450edef68
2017-09-18 14:17:04 +00:00
Jim Jagielski
221ddb4fe1 Update offsets
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1805195 13f79535-47bb-0310-9956-ffa450edef68
2017-08-16 13:41:39 +00:00
Jim Jagielski
d248d8b2ff loadfactor now decimal
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1805188 13f79535-47bb-0310-9956-ffa450edef68
2017-08-16 12:57:41 +00:00
Joe Orton
25c4764422 Fix ProxyAddHeaders merging.
* modules/proxy/mod_proxy.h:
  Add add_forwarded_headers_set field to proxy_dir_conf.

* modules/proxy/mod_proxy.c (create_proxy_dir_config, ):
  Initialize add_forwarded_headers_set.
  (add_proxy_http_headers): Set it.
  (merge_proxy_dir_config): Merge add_forwarded_headers correctly.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1805099 13f79535-47bb-0310-9956-ffa450edef68
2017-08-15 16:54:22 +00:00
Jim Jagielski
428acaded3 Proxy timeout statements now sub-second granularity
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799444 13f79535-47bb-0310-9956-ffa450edef68
2017-06-21 13:53:56 +00:00
Eric Covener
a30d71c824 remove taint checking from proxy_handler
rewrite tests with P flag in htaccess broken since r1792169


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1797843 13f79535-47bb-0310-9956-ffa450edef68
2017-06-07 00:24:31 +00:00
Eric Covener
c46a62d72f remove r1792169 taint checks from proxy and status modules
Both of these checks are problematic without further
work.

status: even a .htaccess with no SetHandler blocks the handler.
proxy: RewriteRule ... ... [P] in htaccess is blocked.




git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1796352 13f79535-47bb-0310-9956-ffa450edef68
2017-05-26 21:50:33 +00:00
Nick Kew
38e269322b Introduce request taint-checking concept.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1792169 13f79535-47bb-0310-9956-ffa450edef68
2017-04-21 08:44:06 +00:00
Jean-Frederic Clere
61ca36599d Add upgrade parameter to mod_proxy_wstunnel.
That allows to upgrade to jboss-remoting for example
or to run an HTTP/1.1 backend that needs to upgrade to
WebSocket.
See also:
 https://issues.jboss.org/browse/JBCS-254
 https://issues.jboss.org/browse/JBCS-291


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1792092 13f79535-47bb-0310-9956-ffa450edef68
2017-04-20 17:07:32 +00:00
Eric Covener
37c5465898 add no-proxy envvar for mod_proxy
replacement for ProxyPass /path ! when ProxyPass is in
location context.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1781328 13f79535-47bb-0310-9956-ffa450edef68
2017-02-01 22:33:10 +00:00
Eric Covener
e2e6e5194f revert r1780909 and r1773397 ProxyPass ! perdir
r1773397 had a regression and the whole thing is fishy
to shoehorn the current ProxyPass ! syntax into.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1781324 13f79535-47bb-0310-9956-ffa450edef68
2017-02-01 22:11:49 +00:00
Eric Covener
db1c9beec9 "fix" regression in r1773397.
committing for discussion purposes to trunk.  I have reopened PR60458 because
I am tempted to revert the entire thing, it was not really a release-to-release
regression because the reporter arbitrarily used a new 2.4 syntax and the semantics
were unclear.

It is useful to have global exceptions apply to per-location proxypass, but it totally
breaks the "fast" lookup part of it.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1780909 13f79535-47bb-0310-9956-ffa450edef68
2017-01-30 12:59:09 +00:00
Eric Covener
ff7722bc9a ProxyPass ! doesn't block per-directory ProxyPass
*) mod_proxy: Honor a server scoped ProxyPass exception when ProxyPass is
     configured in <Location>, like in 2.2. PR 60458.
     [Eric Covener]


reverted in r1781324


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1773397 13f79535-47bb-0310-9956-ffa450edef68
2016-12-09 14:00:51 +00:00
Jacob Champion
a9cf5db169 mod_proxy: log diagnostics during ProxyPass[Match]
To help out users when debugging ProxyPass and ProxyPassMatch, log all
match attempts (at trace2), as well as matches that are either
successful or explicitly disabled (at trace1).

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1762517 13f79535-47bb-0310-9956-ffa450edef68
2016-09-27 16:59:21 +00:00
Ruediger Pluem
fb8aa91094 * Do not overwrite r->status with access_status if access_status is OK or DONE
as in this case r->status might contain the true response code.

PR: 59869


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1753592 13f79535-47bb-0310-9956-ffa450edef68
2016-07-20 18:25:01 +00:00
William A. Rowe Jr
f4cc76ee71 Rename ap_casecmpstr[n]() to ap_cstr_casecmp[n](), update with APR doxygen
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1747469 13f79535-47bb-0310-9956-ffa450edef68
2016-06-09 00:06:42 +00:00
Eric Covener
f21415d6d8 include the scheme in the error message about missing a
mod_proxy_submodule (mod_proxy_$usually_a_scheme)



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1745039 13f79535-47bb-0310-9956-ffa450edef68
2016-05-22 13:11:11 +00:00
Yann Ylavic
f9ad2754f7 mod_proxy, mod_ssl: Handle SSLProxy* directives in <Proxy> sections,
allowing per backend TLS configuration.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1740928 13f79535-47bb-0310-9956-ffa450edef68
2016-04-26 00:04:57 +00:00
Yann Ylavic
b6f5963438 mod_proxy_ajp: Add "secret" parameter to proxy workers to implement legacy
AJP13 authentication.  PR 53098.

Proposed by: Dmitry A. Bakshaev <dab1818 gmail com>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1738878 13f79535-47bb-0310-9956-ffa450edef68
2016-04-12 23:09:07 +00:00
Yann Ylavic
0e0d0b608f mod_proxy: really return an error message on invalid "flusher" value.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1738875 13f79535-47bb-0310-9956-ffa450edef68
2016-04-12 22:43:00 +00:00
Yann Ylavic
447582e5f4 mod_proxy: axe negative "ping" parameter setting and handling.
This used to check for the backend connection readability only (instead of
the full ping/100-continue round-trip), but the case is already handled by
ap_proxy_connect_backend() which is always called.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1729507 13f79535-47bb-0310-9956-ffa450edef68
2016-02-09 23:38:59 +00:00
Rainer Jung
fa29d04871 Guess some platforms need PROXY_DECLARE_DATA
for data shared between proxy modules and
declared to be extern.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1728572 13f79535-47bb-0310-9956-ffa450edef68
2016-02-05 00:16:52 +00:00
Jim Jagielski
62a5f9e552 Since these are externs, prepend proxy_
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1728148 13f79535-47bb-0310-9956-ffa450edef68
2016-02-02 15:21:38 +00:00
Jim Jagielski
1a5e92f470 With the updated ap_expr, we can now check for the
returned response body, stored in kept_body

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725822 13f79535-47bb-0310-9956-ffa450edef68
2016-01-20 22:13:02 +00:00
Rainer Jung
af14d158a3 Added many log numbers to log statements that
had none.

Those were not detected by the coccinelle script.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725485 13f79535-47bb-0310-9956-ffa450edef68
2016-01-19 12:02:41 +00:00
Rainer Jung
44ce30494e Added many log numbers to log statements that
had none.

Handled all files in modules/.

I used the coccinelle script provided by Stefan.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725392 13f79535-47bb-0310-9956-ffa450edef68
2016-01-19 00:03:18 +00:00
Jim Jagielski
99f84abbd9 Leverage the OPTIONS code for HEAD as well...
So we now support: TCP, OPTIONS and HEAD.

Right now, anything other than an error (even a 404)
is consider a PASS.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725387 13f79535-47bb-0310-9956-ffa450edef68
2016-01-18 23:23:43 +00:00
Jim Jagielski
dbc98e6175 And we now allow for health checks via OPTIONS *
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725328 13f79535-47bb-0310-9956-ffa450edef68
2016-01-18 19:44:20 +00:00
Jim Jagielski
9f2dd3550e 1st cut of 'simple' tcp check... We reuse various proxy
function and so this *could* be more streamlined, but
use this to show how the other would work, since we need
brigades, SSL/TLS support, etc.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1724879 13f79535-47bb-0310-9956-ffa450edef68
2016-01-15 21:37:23 +00:00
Jim Jagielski
d1c307f15a per rplum suggestion. thx!
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1724017 13f79535-47bb-0310-9956-ffa450edef68
2016-01-11 13:06:03 +00:00
Jim Jagielski
0bfe3c0cd8 move to per server conf, useful for adding HealthCheckCondition
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1722328 13f79535-47bb-0310-9956-ffa450edef68
2015-12-30 13:28:12 +00:00
Jim Jagielski
f5c536d00f finish looping logic... place-holder for actual checking
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1722229 13f79535-47bb-0310-9956-ffa450edef68
2015-12-29 19:40:46 +00:00
Jim Jagielski
33aceece57 Commit framework impl of health-check module plus
required changes. The actual health checking is
currently in progress, but wanted to add in at
this stage.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1722177 13f79535-47bb-0310-9956-ffa450edef68
2015-12-29 16:12:04 +00:00
Yann Ylavic
4bfe0a6bba Follow up to r1715880: revert more abusive ap_casecmpstr[n]() usages.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1722150 13f79535-47bb-0310-9956-ffa450edef68
2015-12-29 15:32:27 +00:00
Jim Jagielski
89b29c504f Don't allow bad value to be updated
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1722137 13f79535-47bb-0310-9956-ffa450edef68
2015-12-29 14:17:26 +00:00
Christophe Jaillet
9b38fd77df Fix typo in comment
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1716769 13f79535-47bb-0310-9956-ffa450edef68
2015-11-26 21:27:57 +00:00
Yann Ylavic
e30575b0b0 More ap_casecmpstr[n]() usages (follow up to r1715876).
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1715880 13f79535-47bb-0310-9956-ffa450edef68
2015-11-23 16:48:35 +00:00
Yann Ylavic
c80e6b2a34 Use new ap_casecmpstr[n]() functions where appropriate (not exhaustive).
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1715876 13f79535-47bb-0310-9956-ffa450edef68
2015-11-23 16:46:01 +00:00
Yann Ylavic
3c9ddf44bf Revert r1715789: will re-commit without spurious functional changes.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1715869 13f79535-47bb-0310-9956-ffa450edef68
2015-11-23 16:28:36 +00:00
Yann Ylavic
29843dc73f Use new ap_casecmpstr[n]() functions where appropriate (not exhaustive).
[Reverted by r1715869]


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1715789 13f79535-47bb-0310-9956-ffa450edef68
2015-11-23 12:33:09 +00:00
Yann Ylavic
608a751ad6 mod_proxy: Don't put the worker in error state for 500 or 503 errors
returned by the backend unless failonstatus is configured to.  PR 56925.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1681694 13f79535-47bb-0310-9956-ffa450edef68
2015-05-26 07:25:08 +00:00