Eric Covener
23c292e6cd
Change the return value to const, so the const non-matching input can just be
...
returned.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1647334 13f79535-47bb-0310-9956-ffa450edef68
2014-12-22 15:39:54 +00:00
Eric Covener
85d1a0ba01
Allow SetHandler+UDS+fcgi to take advantage of dedicated workers including
...
opting in to connection reuse and other proxy options (max=, etc).
adds 'enablereuse' proxyoption and a minor MMN bump to share
proxy_desocketfy outside of mod_proxy.c, which is required to
match workers to URLs.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1647009 13f79535-47bb-0310-9956-ffa450edef68
2014-12-20 15:56:16 +00:00
Jim Jagielski
074c9cce56
Might as well make it 256 and be done w/ it. The extra bytes are
...
moot nowaways.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1621382 13f79535-47bb-0310-9956-ffa450edef68
2014-08-29 20:39:22 +00:00
Jim Jagielski
6be32ac353
PR53218
...
Allow for longer worker names and make truncation a non-fatal
error...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1621367 13f79535-47bb-0310-9956-ffa450edef68
2014-08-29 19:17:45 +00:00
Jan Kaluža
c0a52f109d
mod_proxy: add ap_proxy_define_match_worker() and use it for ProxyPassMatch
...
and ProxyMatch section to distinguish between normal workers and workers
with regex substitutions in the name. Implement handling of such workers
in ap_proxy_get_worker(). PR 43513
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1609680 13f79535-47bb-0310-9956-ffa450edef68
2014-07-11 10:36:15 +00:00
Yann Ylavic
ec95d72c5a
mod_proxy: Don't limit the size of the connectable Unix Domain Socket paths.
...
Since connect() to UDS path is used at several places, introduce
ap_proxy_connect_uds() in proxy_util.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1602989 13f79535-47bb-0310-9956-ffa450edef68
2014-06-16 20:26:24 +00:00
Jeff Trawick
a306773aa4
Clarify an existing requirement of the server_portstr parameter
...
to ap_proxy_determine_connection(): it must be a buffer of at
least one byte in size.
(And don't bother with using strcpy in order to zap a string.)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1592514 13f79535-47bb-0310-9956-ffa450edef68
2014-05-05 12:47:18 +00:00
Jeff Trawick
5512fa1b86
mod_proxy_http: Add detach_backend hook.
...
The immediate use is for a SSL-related module which works
on the backend proxy connection to be able to "leak" information
into the client r for logging.
This could be useful with other proxy scheme handlers.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1586719 13f79535-47bb-0310-9956-ffa450edef68
2014-04-11 17:07:18 +00:00
Yann Ylavic
fb3ff3e754
Redo what was reverted in r1572627.
...
Don't reuse a SSL backend connection whose SNI differs. PR 55782.
This may happen when ProxyPreserveHost is on and the proxy-worker
handles connections to different Hosts.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1572630 13f79535-47bb-0310-9956-ffa450edef68
2014-02-27 15:40:01 +00:00
Yann Ylavic
0ab0ee5043
Move newly added proxy_conn_rec's uds_path field to the end of the struct like in 2.4.x.
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1572628 13f79535-47bb-0310-9956-ffa450edef68
2014-02-27 15:33:58 +00:00
Yann Ylavic
dc560db2e9
Revert r1572606 for the time being since backport would conflict with 2.4.x's proxy_conn_rec.
...
The uds_path field is at the end of the struct in 2.4.x but not in trunk.
Fix that first, then recommit.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1572627 13f79535-47bb-0310-9956-ffa450edef68
2014-02-27 15:31:58 +00:00
Yann Ylavic
93a607e6f2
Don't reuse a SSL backend connection whose SNI differs. PR 55782.
...
This may happen when ProxyPreserveHost is on and the proxy-worker
handles connections to different Hosts.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1572606 13f79535-47bb-0310-9956-ffa450edef68
2014-02-27 14:52:12 +00:00
Jim Jagielski
72df6b36bf
make mod_rewrite and mod_proxy UDS work together...
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1560367 13f79535-47bb-0310-9956-ffa450edef68
2014-01-22 14:54:21 +00:00
Graham Leggett
43e022f007
core: Support named groups and backreferences within the LocationMatch,
...
DirectoryMatch, FilesMatch and ProxyMatch directives.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1554300 13f79535-47bb-0310-9956-ffa450edef68
2013-12-30 19:50:52 +00:00
Jim Jagielski
bb76893cfb
We were not being consistent between http and others
...
if we added the default port or not during the canonizing
phase... Baseline the http method (don't add unless the
port provided isn't the default).
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1542562 13f79535-47bb-0310-9956-ffa450edef68
2013-11-16 20:13:48 +00:00
Jim Jagielski
61a09af7dc
Expand some of these fields... mostlt it's the workers that we
...
need to expand due to them mapping to actual hostnames
NOTE: 96 enough?
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1540318 13f79535-47bb-0310-9956-ffa450edef68
2013-11-09 14:49:25 +00:00
Jim Jagielski
347c75b3c5
Put the uds path in its own field, and adjust the logic
...
to look for an empty string rather than a flag.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1533087 13f79535-47bb-0310-9956-ffa450edef68
2013-10-17 14:10:43 +00:00
Jim Jagielski
c984a2e5f3
Ensure that userland format of UDS is the same as how it is
...
configured, no matter how we store and use it internally.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1531962 13f79535-47bb-0310-9956-ffa450edef68
2013-10-14 16:12:30 +00:00
Jim Jagielski
e40e0a785b
Reformat the UDS support inline with a new naming structure.
...
Use a flag for speed for testing.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1531340 13f79535-47bb-0310-9956-ffa450edef68
2013-10-11 16:12:41 +00:00
Jeff Trawick
d79b9a03c5
mod_proxy: Add ap_connection_reusable() for checking if a connection
...
is reusable as of this point in processing.
mod_proxy_fcgi uses the new API to determine if FCGI_CONN_CLOSE
should be enabled, but that doesn't change existing behavior
since the connection is currently marked for closure elsewhere
in the module.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1526189 13f79535-47bb-0310-9956-ffa450edef68
2013-09-25 14:29:02 +00:00
Jim Jagielski
357828f9d2
Allow for a simple socket check in addition to the
...
higher level protocol-level checks for backends...
Not sure if it makes sense to do both or not... Comments?
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1516930 13f79535-47bb-0310-9956-ffa450edef68
2013-08-23 16:48:42 +00:00
Jeff Trawick
c66c301b57
fix Doxygen warnings/comments
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1513458 13f79535-47bb-0310-9956-ffa450edef68
2013-08-13 12:28:31 +00:00
Jim Jagielski
3919a404e3
update comments
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1483178 13f79535-47bb-0310-9956-ffa450edef68
2013-05-16 03:13:29 +00:00
Graham Leggett
9bc9d79079
core: Stop the HTTP_IN filter from attempting to write error buckets
...
to the output filters, which is bogus in the proxy case. Create a
clean mapping from APR codes to HTTP status codes, and use it where
needed.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1482522 13f79535-47bb-0310-9956-ffa450edef68
2013-05-14 18:58:06 +00:00
Graham Leggett
d2e6782ea7
mod_proxy, mod_proxy_http: Connection headers must be stripped on the way
...
in and out, support an optional function to handle this.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1482075 13f79535-47bb-0310-9956-ffa450edef68
2013-05-13 20:11:36 +00:00
Jim Jagielski
d7c8ba3992
Mod_proxy used the global pool w/o mutex. fix.
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1480627 13f79535-47bb-0310-9956-ffa450edef68
2013-05-09 13:33:02 +00:00
Daniel Ruggeri
d31632f33c
Add failontimeout to allow server admin to mark balancer member in err if IO timeout occurs.
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1465839 13f79535-47bb-0310-9956-ffa450edef68
2013-04-09 00:18:42 +00:00
Jim Jagielski
2bea7fb2bf
Pull out duplicated code to proxy_util...
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1453875 13f79535-47bb-0310-9956-ffa450edef68
2013-03-07 14:06:51 +00:00
Jim Jagielski
f5f921a2f2
Add in rough uds support (Bugx 54101) from Blaise Tarr <blaise.tarr@gmail.com>
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1451633 13f79535-47bb-0310-9956-ffa450edef68
2013-03-01 16:21:49 +00:00
Jim Jagielski
317eca4540
realign and fix logic
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1448630 13f79535-47bb-0310-9956-ffa450edef68
2013-02-21 13:19:30 +00:00
Jim Jagielski
0d13f604c1
ProxyPassInherit directive
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1439404 13f79535-47bb-0310-9956-ffa450edef68
2013-01-28 13:58:24 +00:00
Jim Jagielski
74708ea8f3
Allow for searching w/i shm slots for a specific worker and balancer
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1421953 13f79535-47bb-0310-9956-ffa450edef68
2012-12-14 16:14:06 +00:00
Rainer Jung
b63656829c
Use inherit_set to let the global server set
...
the default for all vhosts.
Otherwise inherit would need to be disabled
redundantly in each vhost.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1421912 13f79535-47bb-0310-9956-ffa450edef68
2012-12-14 15:02:30 +00:00
Jim Jagielski
bdafd4e926
Anticipate ordering for 2.4 backport
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1421852 13f79535-47bb-0310-9956-ffa450edef68
2012-12-14 13:30:45 +00:00
Jim Jagielski
59bc7bcaff
API sync... not crucial for trunk
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1418049 13f79535-47bb-0310-9956-ffa450edef68
2012-12-06 19:58:04 +00:00
Jim Jagielski
6ec40f4835
Allow for setting of sticky session split char...
...
Bugz 53893
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1404653 13f79535-47bb-0310-9956-ffa450edef68
2012-11-01 16:06:43 +00:00
Jim Jagielski
b360fcb2d2
OK, enable/allow previous broken, bad behavior iff the user
...
really, really wants it. And warn that b-m isn't recommended
in those cases.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1388029 13f79535-47bb-0310-9956-ffa450edef68
2012-09-20 13:41:45 +00:00
Jim Jagielski
664dd95af2
Persist local balancer-manager changes across restart/graceful.
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1387110 13f79535-47bb-0310-9956-ffa450edef68
2012-09-18 12:15:50 +00:00
Joe Orton
6c41025260
Fix handling of ProxyBlock if a forward proxy is configured, and fix
...
mod_proxy_connect to avoid an inappropriate DNS lookup:
* modules/proxy/proxy_util.c (ap_proxy_checkproxyblock): Take hostname
argument, make address argument optional. Check names against
hostname arg, omit if addr not given.
(ap_proxy_determine_connection): Adjust for the above; pass hostname
from URI not the next hop.
* modules/proxy/mod_proxy_ftp.c (proxy_ftp_handler): Adjust for
ap_proxy_checkproxyblock change.
* modules/proxy/mod_proxy_connect.c (proxy_connect_handler): Adjust
similarly, and avoid the DNS lookup on the request-URI hostname if a
proxy is used.
* include/ap_mmn.h: Bump MMN.
PR: 43697
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1365001 13f79535-47bb-0310-9956-ffa450edef68
2012-07-24 12:17:00 +00:00
Ruediger Pluem
e948002f96
* Add the forcerecovery balancer parameter that determines if recovery for
...
balancer workers without considering the retry value of workers is enforced.
There might be cases where an already overloaded backend can get into deeper
trouble if the recovery of all workers is enforced without considering the
retry parameter of each worker
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1306409 13f79535-47bb-0310-9956-ffa450edef68
2012-03-28 15:22:40 +00:00
Jim Jagielski
732f60dc2c
Handle cases, esp when using mod_proxy_fcgi, when we do not
...
want SCRIPT_FILENAME to include the query string.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1242351 13f79535-47bb-0310-9956-ffa450edef68
2012-02-09 15:07:22 +00:00
William A. Rowe Jr
33d94f3328
Cure size_t abuse, curse some recent code [recommit good bits from r1227852]
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1227856 13f79535-47bb-0310-9956-ffa450edef68
2012-01-05 21:50:31 +00:00
William A. Rowe Jr
07e32f24db
Revert a whole mess that was not ment to be committed
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1227855 13f79535-47bb-0310-9956-ffa450edef68
2012-01-05 21:48:21 +00:00
William A. Rowe Jr
0d1f9f658a
Cure size_t abuse, curse some recent code
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1227852 13f79535-47bb-0310-9956-ffa450edef68
2012-01-05 21:43:24 +00:00
Graham Leggett
411fceeda5
mod_proxy: Remove dead code ap_proxy_table_unmerge().
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1209952 13f79535-47bb-0310-9956-ffa450edef68
2011-12-03 17:09:58 +00:00
Graham Leggett
3122ef26c6
mod_proxy: Move ap_proxy_strmatch_path and ap_proxy_strmatch_domain out of
...
the public API.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1209947 13f79535-47bb-0310-9956-ffa450edef68
2011-12-03 16:45:29 +00:00
Graham Leggett
166ecfcc5f
mod_proxy: Remove ap_proxy_make_fake_req() from the public API.
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1209917 13f79535-47bb-0310-9956-ffa450edef68
2011-12-03 14:41:04 +00:00
Graham Leggett
35a6d8a2b5
mod_proxy: Remove dead PROXY_OPTIONAL_HOOK macro.
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1209913 13f79535-47bb-0310-9956-ffa450edef68
2011-12-03 14:09:54 +00:00
Graham Leggett
f2f321ff8c
mod_proxy: Remove dead code.
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1209910 13f79535-47bb-0310-9956-ffa450edef68
2011-12-03 13:38:26 +00:00
Graham Leggett
5259bb3f02
mod_proxy: Make the ap_proxy_is* functions private.
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1209908 13f79535-47bb-0310-9956-ffa450edef68
2011-12-03 13:29:05 +00:00