Yann Ylavic
0674872c16
mod_proxy_{ajp,fcgi}: Fix a possible crash when reusing an established
...
backend connection, happening with LogLevel trace2 or higher configured,
or at any log level with compilers not detected as C99 compliant (e.g.
MSVC on Windows).
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1775775 13f79535-47bb-0310-9956-ffa450edef68
2016-12-22 23:30:05 +00:00
Yann Ylavic
2c87430863
Follow up to r1750392: reduce AH03408 level to INFO as suggested by wrowe/jim.
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1756531 13f79535-47bb-0310-9956-ffa450edef68
2016-08-16 16:21:13 +00:00
Yann Ylavic
1bda0469cf
[mod_proxy_]http: follow up to r1750392.
...
Export [ap_]check_pipeline() and use it also for ap_proxy_check_connection(),
so that all the necessary checks on the connection are done before reusing it.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1756186 13f79535-47bb-0310-9956-ffa450edef68
2016-08-12 13:58:10 +00:00
Yann Ylavic
104ef73c95
Revert r1756064 and r1756060 until fixed (tests framework passes).
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1756065 13f79535-47bb-0310-9956-ffa450edef68
2016-08-11 23:37:45 +00:00
Yann Ylavic
2023d56eea
[mod_proxy_]http: follow up to r1750392.
...
Export [ap_]check_pipeline() and use it also for ap_proxy_check_connection().
[Reverted by r1756065]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1756060 13f79535-47bb-0310-9956-ffa450edef68
2016-08-11 22:32:42 +00:00
Rainer Jung
d79b514c4b
Fix spelling in comments and text files.
...
No functional change.
PR 59990
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1756038 13f79535-47bb-0310-9956-ffa450edef68
2016-08-11 19:50:02 +00:00
Yann Ylavic
5d0c0114fd
mod_proxy: follow up to r1750392 and r1750474.
...
Restore PROXY_WORKER_IS_USABLE() check in ap_proxy_connect_backend(), we must
obviously (un)put backend in error state based on the result of the actual
connect(), and don't change it in ap_proxy_check_backend()...
APR_SUCCESS return by ap_proxy_check_backend(), i.e. a usable worker and an
established connection, is enough for modules to continue w/o calling
ap_proxy_connect_backend(), still.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1750508 13f79535-47bb-0310-9956-ffa450edef68
2016-06-28 13:48:44 +00:00
Yann Ylavic
26faec4940
mod_proxy: follow up to r1750392.
...
Avoid double checking the connection in ap_proxy_connect_backend() when
ap_proxy_check_backend() says it is up and good to go.
This can be done by moving the PROXY_WORKER_IS_USABLE() check in
ap_proxy_check_backend(), since it is called by ap_proxy_connect_backend(),
and not calling the latter if the former succeeded (for the modules using it).
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1750474 13f79535-47bb-0310-9956-ffa450edef68
2016-06-28 11:19:36 +00:00
Yann Ylavic
b031a1ffed
mod_proxy: we don't need ap_proxy_ssl_connection_cleanup() anymore with
...
ap_proxy_check_backend() used at connection reuse time, so remove its last call and deprecate it.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1750416 13f79535-47bb-0310-9956-ffa450edef68
2016-06-27 21:49:15 +00:00
Yann Ylavic
bc73d63b45
mod_proxy: use proxy_conn_rec->tmp_bb where appopriate to avoid temporary
...
brigade create/destroy.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1750412 13f79535-47bb-0310-9956-ffa450edef68
2016-06-27 21:39:53 +00:00
Yann Ylavic
d4aa6476b2
mod_proxy_{http,ajp,fcgi}}: don't reuse backend connections with data available
...
before the request is sent. PR 57832.
ap_proxy_check_backend() can be used before ap_proxy_connect_backend() to try
to read available data (including from the filters), and is called by
ap_proxy_connect_backend() to check the socket state only (as before, still
relevant after ap_proxy_check_backend() due to filter data which may not have
triggered a real socket operation).
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1750392 13f79535-47bb-0310-9956-ffa450edef68
2016-06-27 17:26:12 +00:00
Yann Ylavic
4ddbed1baf
mod_proxy: revert r1750301, r1750305 and r1750311.
...
Rework needed.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1750376 13f79535-47bb-0310-9956-ffa450edef68
2016-06-27 16:06:42 +00:00
Yann Ylavic
808eb5ee2e
mod_proxy: follow up to r1750301: APLOGNO().
...
[Reverted by r1750376]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1750311 13f79535-47bb-0310-9956-ffa450edef68
2016-06-27 08:20:39 +00:00
Yann Ylavic
d353c8bfed
mod_proxy: follow up to r1750301.
...
s/is_socket_connected/get_socket_connected/ in the !USE_ALTERNATE_IS_CONNECTED
case, and add CHANGE + MMN entries.
[Reverted by r1750376]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1750305 13f79535-47bb-0310-9956-ffa450edef68
2016-06-27 08:08:26 +00:00
Yann Ylavic
d2e75e1d51
mod_proxy: don't reuse backend connections with data available before the
...
request is sent. PR 57832.
[Reverted by r1750376]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1750301 13f79535-47bb-0310-9956-ffa450edef68
2016-06-27 08:00:30 +00:00
Christophe Jaillet
4bc9cc0976
When ap_proxy_show_hcmethod has been backported in 2.4.x (r1744951) the function has not been placed at the same position in the code (see r1725306).
...
Move it at the same place in oder to synch 2.4.x and trunk.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1747807 13f79535-47bb-0310-9956-ffa450edef68
2016-06-10 22:12:55 +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
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
Stefan Eissing
a46258f6bb
adding default port numbers for h2/h2x proxy schemes, by jchampion
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1733239 13f79535-47bb-0310-9956-ffa450edef68
2016-03-02 09:51:05 +00:00
Yann Ylavic
7614326743
mod_proxy: follow up to r1729826 + r1729847 + r1732986.
...
Don't use magic constants.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1733056 13f79535-47bb-0310-9956-ffa450edef68
2016-03-01 12:35:01 +00:00
Yann Ylavic
9a6583a778
Revert r1733054: spurious commit of being-worked mod_reqtimeout changes.
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1733055 13f79535-47bb-0310-9956-ffa450edef68
2016-03-01 12:33:50 +00:00
Yann Ylavic
f3008b6253
mod_proxy: follow up to r1729826 + r1729847 + r1732986.
...
Don't use magic constants.
Reverted by r1733055, re-commited without spurious changes in r1733056.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1733054 13f79535-47bb-0310-9956-ffa450edef68
2016-03-01 12:31:40 +00:00
Yann Ylavic
60c614614f
mod_proxy: follow up to r1729826 + r1729847.
...
Adjust stacked ssl_hostname maximum size.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1732986 13f79535-47bb-0310-9956-ffa450edef68
2016-03-01 01:20:06 +00:00
Yann Ylavic
a76232b46c
mod_proxy: add missing APLOGNO()s.
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1732954 13f79535-47bb-0310-9956-ffa450edef68
2016-02-29 21:54:23 +00:00
Yann Ylavic
4a2cbdf69d
mod_proxy: follow up to r1729826: really copy conn->ssl_hostname.
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1729847 13f79535-47bb-0310-9956-ffa450edef68
2016-02-11 14:57:04 +00:00
Yann Ylavic
78b7a65fe2
mod_proxy: Play/restore the TLS-SNI on new backend connections which
...
had to be issued because the remote closed the previous/reusable one
during idle (keep-alive) time.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1729826 13f79535-47bb-0310-9956-ffa450edef68
2016-02-11 13:46:39 +00:00
Stefan Eissing
a5511fe280
let proxy handler forward ALPN protocol strings for ssl proxy connections
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1729208 13f79535-47bb-0310-9956-ffa450edef68
2016-02-08 16:50:07 +00:00
Rainer Jung
04da55f0b7
Provide dummy impl of ap_proxy_connect_uds()
...
in case when APR_HAVE_SYS_UN_H is not defined.
Just returns APR_ENOTIMPL.
This helps symbol export/import handling on
Netware and also seems to be more correct,
because mod_proxy.h contains ap_proxy_connect_uds()
unconditionally.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1728650 13f79535-47bb-0310-9956-ffa450edef68
2016-02-05 12:12:14 +00:00
Ruediger Pluem
fbf68524d3
* Introduce ap_proxy_transfer_between_connections
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1728478 13f79535-47bb-0310-9956-ffa450edef68
2016-02-04 13:41:19 +00:00
Jim Jagielski
f3027dc4be
STOPPED workers are never retried... Disabled can be.
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1728304 13f79535-47bb-0310-9956-ffa450edef68
2016-02-03 12:52:29 +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
Ruediger Pluem
e8fb815ecd
* Fill missing log number
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1726781 13f79535-47bb-0310-9956-ffa450edef68
2016-01-26 12:19:50 +00:00
Ruediger Pluem
67ddd9009c
* Introduce ap_proxy_buckets_lifetime_transform as a replacement for
...
proxy_buckets_lifetime_transform in mod_proxy_http. Another future consumer
of this will be mod_proxy_wstunnel.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1726779 13f79535-47bb-0310-9956-ffa450edef68
2016-01-26 12:13:56 +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
Jim Jagielski
26019784af
Expose this in our API
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725306 13f79535-47bb-0310-9956-ffa450edef68
2016-01-18 16:54:06 +00:00
Jim Jagielski
2fda66ec46
Make balancer manager health-check aware
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725120 13f79535-47bb-0310-9956-ffa450edef68
2016-01-17 20:12:09 +00:00
Jim Jagielski
8ea2d71642
Oops :)
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1724882 13f79535-47bb-0310-9956-ffa450edef68
2016-01-15 21:43:55 +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
4d3ab92dbf
Make aware of new status: Failed Health Check.
...
Store the number of current passes/fails in shm
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1722195 13f79535-47bb-0310-9956-ffa450edef68
2015-12-29 17:42:19 +00:00
Jim Jagielski
2b7a352917
Abstract out as macro
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1721759 13f79535-47bb-0310-9956-ffa450edef68
2015-12-26 21:29:21 +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
fab37e8e26
mod_proxy: Fix ProxySourceAddress binding failure with AH00938. PR 56687.
...
Proposed by: Arne de Bruijn <apache arbruijn.dds.nl>
Reviewed by: ylavic
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1703902 13f79535-47bb-0310-9956-ffa450edef68
2015-09-18 16:43:25 +00:00
Yann Ylavic
cef0bb5ac5
mod_proxy: don't recyle backend announced "Connection: close" connections.
...
Failing to do this may lead to a race condition where we send a new request
before the backend really closes the connection (or lost SSL-Alert/FIN make
us think the connection is still alive, until the retransmission).
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1703807 13f79535-47bb-0310-9956-ffa450edef68
2015-09-18 10:58:58 +00:00
Ruediger Pluem
ba6ece3161
* Do a more complete cleanup here. At this point we cannot end up with something useful with the data we created so far.
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1697323 13f79535-47bb-0310-9956-ffa450edef68
2015-08-24 07:43:19 +00:00
Yann Ylavic
3efa9ca002
mod_proxy: follow up to r1678768.
...
The resource is not dereferenceable if connection_destructor()
is called from reslist_destroy().
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1687783 13f79535-47bb-0310-9956-ffa450edef68
2015-06-26 15:10:29 +00:00
Christophe Jaillet
d83f45cee1
Improve error message (related to PR57311 diagnostic)
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1682819 13f79535-47bb-0310-9956-ffa450edef68
2015-06-01 05:45:13 +00:00
Yann Ylavic
ff720d0f56
mod_proxy: check for the correct pool (lifetime) in connection_cleanup(),
...
according to the associated comment and the value really NULLed in
conn_pool_cleanup().
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1678768 13f79535-47bb-0310-9956-ffa450edef68
2015-05-11 15:26:13 +00:00
Yann Ylavic
339e1a5943
mod_proxy: only cleanup the socket for a connection asked to be closed but
...
whose address can still be reused.
This saves unnecessary socket pool destroy and creation at cleanup and reuse
time, plus the same initialization of conn->pool's associated data which can
be reused in that case.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1678763 13f79535-47bb-0310-9956-ffa450edef68
2015-05-11 14:53:34 +00:00