Commit Graph

179 Commits

Author SHA1 Message Date
70201cd149 * Fix typo in error message
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1664133 13f79535-47bb-0310-9956-ffa450edef68
2015-03-04 20:16:34 +00:00
b26841b8dc mod_proxy(es): Avoid error response/document handling by the core if some
input filter already did it while reading client's payload.

When an input filter returns AP_FILTER_ERROR, it has already called ap_die()
or at least already responded to the client.

Here we don't want to lose AP_FILTER_ERROR when returning from proxy handlers,
so we use ap_map_http_request_error() to forward any AP_FILTER_ERROR to
ap_die() which knows whether a response needs to be completed or not.

Before this commit, returning an HTTP error code in this case caused a double
response to be generated.

Depends on r1657881 to preserve r->status (for logging) when nothing is to be
done by ap_die() when handling AP_FILTER_ERROR.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1657897 13f79535-47bb-0310-9956-ffa450edef68
2015-02-06 16:54:16 +00:00
1f6fd365c3 mod_proxy: Don't put non balancer-member workers in error state by
default for connection or 500/503 errors, and honor status=+I for
any error.  PR 48388.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1650028 13f79535-47bb-0310-9956-ffa450edef68
2015-01-07 10:36:12 +00:00
a9c4c3a37d Concat string at compile time when possible.
Doing so, sometimes also give the opportunity to turn a 'ap_fputstrs' into a 'ap_fputs'.
PR 53741

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1626050 13f79535-47bb-0310-9956-ffa450edef68
2014-09-18 19:06:52 +00:00
f17e7e5e10 * Correctly escape user provided data.
PR: 56532
Submitted by: Maksymilian <max cert.cx>
Reviewed by: rpluem


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1595305 13f79535-47bb-0310-9956-ffa450edef68
2014-05-16 18:54:19 +00:00
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
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
0605393196 syntax sugar... if the worker is associated w/ a UDS,
then make sure the log reporting has a visual clue.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1531370 13f79535-47bb-0310-9956-ffa450edef68
2013-10-11 17:36:24 +00:00
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
f443750523 More cool info ;)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1524158 13f79535-47bb-0310-9956-ffa450edef68
2013-09-17 18:31:58 +00:00
d3a30a09ab Add note to balancer manager whether changes will/will not survive a restart
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1524101 13f79535-47bb-0310-9956-ffa450edef68
2013-09-17 15:46:56 +00:00
7467487b43 We are no longer pre-grabbing.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1501399 13f79535-47bb-0310-9956-ffa450edef68
2013-07-09 17:41:33 +00:00
bd166fa13e Ensure balancer runs after proxy for mutex creation
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1501369 13f79535-47bb-0310-9956-ffa450edef68
2013-07-09 16:30:54 +00:00
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
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
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
1fc22893b4 mod_proxy_balancer: It's totally unclear what Drn, Dis, Ign, Stby means.
PR 52478

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1419796 13f79535-47bb-0310-9956-ffa450edef68
2012-12-10 21:35:16 +00:00
e5e91f8315 Use ap_rputs instead of ap_rvputs where applicable.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1418524 13f79535-47bb-0310-9956-ffa450edef68
2012-12-07 22:31:40 +00:00
18cc8e835b CVE-2012-3499 and CVE-2012-4558
Be sure to escape potential troubled strings


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1413732 13f79535-47bb-0310-9956-ffa450edef68
2012-11-26 17:18:54 +00:00
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
1c493b3ca5 and allow the xml param
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1392346 13f79535-47bb-0310-9956-ffa450edef68
2012-10-01 14:14:56 +00:00
aaaca4d1db Bring XML output up to snuff for balancer-manager
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1392345 13f79535-47bb-0310-9956-ffa450edef68
2012-10-01 14:14:53 +00:00
63fd4b04f8 fix clang warning (dead initialization)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1387979 13f79535-47bb-0310-9956-ffa450edef68
2012-09-20 11:26:34 +00:00
38f3c64c2f Re-instate balancer merge (for the time being) but force
persistence if the top-level server has it defined....


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1387684 13f79535-47bb-0310-9956-ffa450edef68
2012-09-19 17:21:55 +00:00
1c55455c36 Use identifying server_rec info when we know we have
unique and useful data :)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1387444 13f79535-47bb-0310-9956-ffa450edef68
2012-09-19 03:51:25 +00:00
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
ba90b1969f No rv here.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1374157 13f79535-47bb-0310-9956-ffa450edef68
2012-08-17 06:30:21 +00:00
94b3a2b552 mod_proxy_balancer: Restore balancing after a failed worker has
recovered when using lbmethod_bybusyness.

PR: 48735

Markus Stoll and Adam C both submitted patches against 2.2.x
to bug 48735.  Compared with those two, this solution

1. resets the busy field in the error-ed worker at the end of
   the request instead of at recovery time
2. leaves the lbstatus field alone
3. covers all possible scenarios where the busy field in the
   error-ed worker needs to be adjusted, since a cleanup to
   perform the decrement is registered at the point of the
   increment


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1366344 13f79535-47bb-0310-9956-ffa450edef68
2012-07-27 11:50:25 +00:00
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
b0a64838ac Stray/confusing "recovery" in this failonstatus=XXX error message seems
to be a copy/paste error.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1299738 13f79535-47bb-0310-9956-ffa450edef68
2012-03-12 17:03:39 +00:00
9f1045e8b5 Fix PR52402. Check if the shared memory was already created for this proxy_server_conf
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1240181 13f79535-47bb-0310-9956-ffa450edef68
2012-02-03 14:13:23 +00:00
a631bc9edb oops, this got forgotten when copy/paste from dev branch
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1240171 13f79535-47bb-0310-9956-ffa450edef68
2012-02-03 13:53:20 +00:00
7fac08440e C/C++ 101 on how to traverse the array of pointers ;). Fix core
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1240164 13f79535-47bb-0310-9956-ffa450edef68
2012-02-03 13:47:59 +00:00
76f782e188 Various code cleanup to avoid compiler, cppcheck, or clang warnings:
modules/debugging/mod_firehose.c: Make some internal functions static
                                  (to do: logs_cleanup() is unused)

modules/filters/mod_charset_lite.c: Remove dead assignments

modules/filters/mod_include.c: likewise

modules/metadata/mod_usertrack.c: likewise

modules/proxy/mod_proxy_ftp.c: likewise

modules/ssl/ssl_engine_pphrase.c: likewise

modules/proxy/mod_proxy_balancer.c: likewise;
                                    Remove NULL check that can never happen

modules/proxy/proxy_util.c: Axe NULL-check that can never happen and if it
                            would, it would just mask another bug

os/unix/unixd.c: likewise

modules/http/http_filters.c: Remove sub-condition that is always true

modules/lua/mod_lua.c: Add default cases to switch statements

modules/generators/mod_autoindex.c: Unsigned value can never be < 0

server/util_expr_eval.c: Fix compiler warnings with VC and on OS2



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1220493 13f79535-47bb-0310-9956-ffa450edef68
2011-12-18 17:52:59 +00:00
26d5fb7164 Add some more log message tags
Remove some log message tags from ap_log_* calls that log lots of
different error messages, in particular the config parsing errors.
Not sure how we should handle those.

ssl_util.c: Downgrade some dynamic locking messages from level DEBUG
to TRACE1-3



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1210252 13f79535-47bb-0310-9956-ffa450edef68
2011-12-04 22:09:24 +00:00
6f6ecbeae7 Change the provider names to match the module names:
mod_slotmem_shm: shared -> shm
mod_socache_memcache: mc -> memcache


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1210221 13f79535-47bb-0310-9956-ffa450edef68
2011-12-04 21:03:34 +00:00
92e366007c Add lots of unique tags to error log messages
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1209766 13f79535-47bb-0310-9956-ffa450edef68
2011-12-02 23:02:04 +00:00
0182b1654f mod_proxy: Make ap_proxy_retry_worker() into an optional function. Allows
mod_lbmethod_bybusyness, mod_lbmethod_byrequests, mod_lbmethod_bytraffic
and mod_lbmethod_heartbeat to be loaded without mod_proxy yet being present,
which happens when modules are loaded in alphabetical order.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1209754 13f79535-47bb-0310-9956-ffa450edef68
2011-12-02 22:42:39 +00:00
9846e4bac9 use a style sheet... ideally we would pull one off the filesystem,
but for now...

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1208411 13f79535-47bb-0310-9956-ffa450edef68
2011-11-30 13:15:24 +00:00
d2e320f509 Logic which makes the balancer "active" or not... so we can turn them
off and on as needed.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1207926 13f79535-47bb-0310-9956-ffa450edef68
2011-11-29 15:36:11 +00:00
71f487a7b9 Expose the path that the balancer handles...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1207582 13f79535-47bb-0310-9956-ffa450edef68
2011-11-28 20:46:53 +00:00
984c3a345c Move useful and shared balancer stuff to the shm slot...
Provide hooks for post-config/runtime addition of
balancers.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1206286 13f79535-47bb-0310-9956-ffa450edef68
2011-11-25 19:28:14 +00:00
fa862b3f7e Allow compile time changes of field sizes and be more
"clear" regarding the diff between balancer and worker slots...

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1206268 13f79535-47bb-0310-9956-ffa450edef68
2011-11-25 17:32:03 +00:00
8ec7f5c5bf great proxy logging cleanup:
* remove "proxy:", "FCGI", etc. prefixes and pid which are now
    included in the error log format

  * propagate frontend request's logconfig to backend request
    
  * use ap_log_rerror where possible
    
  * remove obsolete APLOG_NOERRNO


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1203859 13f79535-47bb-0310-9956-ffa450edef68
2011-11-18 21:41:09 +00:00
427c85bd23 Cleanup effort in prep for GA push:
Trim trailing whitespace... no func change



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1174751 13f79535-47bb-0310-9956-ffa450edef68
2011-09-23 13:39:32 +00:00
7eb1caed9a fix def'n of AP_SLOTMEM_PROVIDER_VERSION, use it
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1146737 13f79535-47bb-0310-9956-ffa450edef68
2011-07-14 14:47:59 +00:00
e075565180 Add in BalancerGrowth and its functionality... this lays
the framework for adding additional Balancers: post-config
by allowing for shm growth.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1125451 13f79535-47bb-0310-9956-ffa450edef68
2011-05-20 16:29:48 +00:00
2aef21903c Cleanup... most don't need apr_hooks.h at all...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1101067 13f79535-47bb-0310-9956-ffa450edef68
2011-05-09 15:36:32 +00:00
4e65550633 better error message
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1088620 13f79535-47bb-0310-9956-ffa450edef68
2011-04-04 13:37:57 +00:00
b8999572c0 Make the 'need to reset' more generic by extending its reach
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1087415 13f79535-47bb-0310-9956-ffa450edef68
2011-03-31 19:29:21 +00:00