1
0
mirror of https://github.com/apache/httpd.git synced 2026-01-13 21:42:17 +03:00
Commit Graph

745 Commits

Author SHA1 Message Date
Ruediger Pluem
00933409fe * Fix PR36906 by not lower caseing the whole worker name. Only lower case the
schema when storing the worker url. Thus preventing case sensitive URI's in
  BalancerMembers to get broken.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@328463 13f79535-47bb-0310-9956-ffa450edef68
2005-10-25 19:54:11 +00:00
Ruediger Pluem
9d3ff0e04b * Fix PR37145 (data loss with httpd-2.0.55 reverse proxy method=post) by
exchanging APR_BRIGADE_CONCAT with ap_save_brigade to ensure that
  transient buckets get setaside correctly between various iterations of
  ap_get_brigade calls.

Reviewed by: Joe Orton, William Rowe, Jim Jagielski, Jeff Trawick


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@327590 13f79535-47bb-0310-9956-ffa450edef68
2005-10-21 21:50:46 +00:00
Ruediger Pluem
a9d2ab75d0 * Fix PR37100 (SEGV in mod_proxy_ajp), by sending the data up the filter
chain immediately instead of spooling it completely before passing it
  to the filter chain. It contains a bandaid to handle intentional
  flushes from Tomcat side. Further explanation in code and report.

  ajp.h:           Add ajp_msg_reuse prototype

  mod_proxy_ajp.c: Adjust logic of ap_proxy_ajp_request

  ajp_msg.c:       Add ajp_msg_reuse

  ajp_header.c:    Adjusting logic of ajp_read_header


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@327185 13f79535-47bb-0310-9956-ffa450edef68
2005-10-21 13:54:38 +00:00
Ruediger Pluem
77df2cdf5f * Style fixes: Add line breaks for lines that are too long. No functional change.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@325879 13f79535-47bb-0310-9956-ffa450edef68
2005-10-17 11:20:17 +00:00
Ruediger Pluem
18d60fb710 * Style fixes: Spaces, comments, typos. No functional change.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@322467 13f79535-47bb-0310-9956-ffa450edef68
2005-10-16 11:09:09 +00:00
Ruediger Pluem
6163d20351 * Cleanup: Remove dead code. No functional change.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@322464 13f79535-47bb-0310-9956-ffa450edef68
2005-10-16 10:31:45 +00:00
Jim Jagielski
388871d089 Performance Tune: Do the cheap and fast length check before
we bother doing a char-by-char comparison. 


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@314881 13f79535-47bb-0310-9956-ffa450edef68
2005-10-12 13:05:59 +00:00
Jim Jagielski
3ed4f2af57 Fix -Wall warning... Thanks to Joe for the head's up!
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@314875 13f79535-47bb-0310-9956-ffa450edef68
2005-10-12 13:01:25 +00:00
Jim Jagielski
be32e160ac mod_proxy_balancer: BalancerManager and proxies correctly handle
member workers with paths. PR36816. [Ruediger Pluem, Jim Jagielski]


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@312963 13f79535-47bb-0310-9956-ffa450edef68
2005-10-11 21:40:32 +00:00
Ruediger Pluem
13bceeee23 * Fix a declaration problem introduced in r195013 that is C99 but not ANSI C
compatible. Thus move declaration of *worker to the top of find_session_route
  to make it ANSI C compatible again.

Submitted by: NormW <normw bocnet.com.au>
Reviewed by: Ruediger Pluem


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@307389 13f79535-47bb-0310-9956-ffa450edef68
2005-10-09 10:59:06 +00:00
Ruediger Pluem
7a221adca5 * Fix PR36883 (mod_proxy_ajp and tomcat issues).
Submitted by: William Barker <william.barker wilshire.com>
Reviewed by: Ruediger Pluem


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@307195 13f79535-47bb-0310-9956-ffa450edef68
2005-10-07 21:05:01 +00:00
Jeff Trawick
8aa8c98bd0 mod_proxy_connect: Fix high CPU loop on systems like UnixWare which
trigger POLL_ERR or POLL_HUP on a terminated connection.

PR: 36951


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@306878 13f79535-47bb-0310-9956-ffa450edef68
2005-10-06 20:31:03 +00:00
Ruediger Pluem
fc078f7336 * Fix PR36507 (mod_proxy_balancer does not handle sticky sessions with
tomcat correctly).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@295013 13f79535-47bb-0310-9956-ffa450edef68
2005-10-05 07:59:36 +00:00
Ruediger Pluem
86c410c938 * Fix style nits (whitespaces / formats of comments). No Functional changes.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@293301 13f79535-47bb-0310-9956-ffa450edef68
2005-10-03 10:54:34 +00:00
Ruediger Pluem
16051d9681 * run the request_status hook in proxy_handler if HTTP_SERVICE_UNAVAILABLE
is returned by ap_proxy_pre_request.

Suggested by: Brian Akins <brian.akins turner.com>, Mladen Turk
Reviewed by: Jim Jagielski


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@293123 13f79535-47bb-0310-9956-ffa450edef68
2005-10-02 14:32:35 +00:00
Jim Jagielski
fc7c61e86a de-ref bug - balancer is always not null since it's &balancer
from the caller.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@292434 13f79535-47bb-0310-9956-ffa450edef68
2005-09-29 13:59:27 +00:00
Jim Jagielski
d2f9ab1659 gcc -Wall fix: depending on signedness of char.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@280013 13f79535-47bb-0310-9956-ffa450edef68
2005-09-10 14:59:48 +00:00
Joe Orton
8df46b6dd6 * modules/proxy/mod_proxy_balancer.c (balancer_handler): Fix gcc
warning; no functional change.

* modules/proxy/mod_proxy.c (set_balancer_param): Likewise.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@279973 13f79535-47bb-0310-9956-ffa450edef68
2005-09-10 09:10:27 +00:00
Jim Jagielski
22c5cb4728 Proxy balancer lbmethods are now registered as providers and not
via hooks. Move various find() functions back to mod_proxy_balancer
where they belong :)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@279752 13f79535-47bb-0310-9956-ffa450edef68
2005-09-09 12:28:02 +00:00
Bradley Nicholes
41bab0086f Remove proxy_hook_load_lbmethods from Netware export list
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@279579 13f79535-47bb-0310-9956-ffa450edef68
2005-09-08 16:37:00 +00:00
Jim Jagielski
54bb998b3a Minor nit. Methods are server-wide, so simply use the base version table.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@279319 13f79535-47bb-0310-9956-ffa450edef68
2005-09-07 13:14:16 +00:00
Jim Jagielski
da3e833d30 Restruct of lbmethod find-best algo's, bypassing hook mechanism.
Looking into provider method, but until then... Prevent core dump
when balancer not in vhosts


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@279305 13f79535-47bb-0310-9956-ffa450edef68
2005-09-07 12:04:15 +00:00
Jim Jagielski
c208de0bcf Some simple debugging log entries
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@265505 13f79535-47bb-0310-9956-ffa450edef68
2005-08-31 15:19:27 +00:00
Ian Holsman
8c1e315d3f Doxygen fixup / cleanup
submited by: Neale Ranns neale ranns.org
reviewed by: Ian Holsman



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@263931 13f79535-47bb-0310-9956-ffa450edef68
2005-08-28 23:03:59 +00:00
Mladen Turk
a75750ab89 Arghhh.... missed the version. Sorry for the noise.
Revert the hack for setting the lbmethod.
The problem is deeper inside caused by the
new hook to the balancer module that is never
called on WIN32.
Although the hack fixed core dump, the proxy is
still unusable because the configuration is failing
due to the empty lbmethod names array.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@233516 13f79535-47bb-0310-9956-ffa450edef68
2005-08-19 17:23:00 +00:00
Mladen Turk
f2b99c52c0 Revert the hack for setting the lbmethod.
The problem is deeper inside caused by the
new hook to the balancer module that is never
called on WIN32.
Although the hack fixed core dump, the proxy is
still unusable because the configuration is failing
due to the empty lbmethod names array.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@233514 13f79535-47bb-0310-9956-ffa450edef68
2005-08-19 17:19:54 +00:00
Mladen Turk
3b8fe8c738 Temporary make balancer working.
What is needed is a setup for the finder function
introduced, but never implemented.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@233468 13f79535-47bb-0310-9956-ffa450edef68
2005-08-19 11:58:36 +00:00
Bradley Nicholes
7b11c89465 Add proxy_hook_load_lbmethods to the export and imports lists for the Netware build
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@232808 13f79535-47bb-0310-9956-ffa450edef68
2005-08-15 13:19:10 +00:00
Jim Jagielski
487504d63b When using the LB Balancer manager, if you disabled
a member, then clicked on another member and/or
itself again, the member would be re-enabled. This
was due to the form being "submitted" and
'dw' being null (observed with Safari). Anyway,
moving to a radio makes it explicit.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@232314 13f79535-47bb-0310-9956-ffa450edef68
2005-08-12 15:31:03 +00:00
Martin Kraemer
4813d8a994 Get rid of some warnings
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@232311 13f79535-47bb-0310-9956-ffa450edef68
2005-08-12 15:22:19 +00:00
Jim Jagielski
a7d488a6d2 simple, functional interface to add additional balancer lb selection methods
without requiring code changes to mod_proxy/mod_proxy_balancer;
these can be implemented via sub-modules now.

Let the games begin...


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@232282 13f79535-47bb-0310-9956-ffa450edef68
2005-08-12 12:47:04 +00:00
Nick Kew
ab0fd007b9 Fix mess left by incompleteness of previous ProxyPassReverse fix
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@232247 13f79535-47bb-0310-9956-ffa450edef68
2005-08-12 09:38:09 +00:00
Nick Kew
9d7b5928db Fix build error from cut&paste
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@231501 13f79535-47bb-0310-9956-ffa450edef68
2005-08-11 18:52:16 +00:00
Nick Kew
d153de58fe Fix ProxyPassReverse & family to work correctly in <Location>
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@231355 13f79535-47bb-0310-9956-ffa450edef68
2005-08-10 23:36:39 +00:00
Joe Orton
4a4869adca * modules/proxy/mod_proxy_http.c (stream_reqbody_cl): Fix gcc warning.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@231114 13f79535-47bb-0310-9956-ffa450edef68
2005-08-09 21:15:40 +00:00
William A. Rowe Jr
d034a8eee9 Hopefully, address the last edge case where status may
be uninitialized.  Asserts in non-debug builds are bad things,
  anyways, so this is probably more correct.  This should fix
  -Werror compile warning observed by Joe Orton.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@231046 13f79535-47bb-0310-9956-ffa450edef68
2005-08-09 14:54:46 +00:00
Graham Leggett
43d07d771d Remove the base href tag from mod_proxy_ftp, as it breaks relative
links for clients not using an Authorization header.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@231044 13f79535-47bb-0310-9956-ffa450edef68
2005-08-09 14:46:55 +00:00
William A. Rowe Jr
6b7dcfacf2 Two blank lines for clarity; whitespace only change.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@230745 13f79535-47bb-0310-9956-ffa450edef68
2005-08-08 03:34:57 +00:00
William A. Rowe Jr
a29f5c9215 We already accept 80 bytes less than the client body's anticipated
size, so we don't need to also prefetch an extra 1024 bytes; this
  was redundant.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@230739 13f79535-47bb-0310-9956-ffa450edef68
2005-08-08 03:12:24 +00:00
William A. Rowe Jr
2bdf4dd430 Drop an impossible case; the while() loop already protected us
from this situation.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@230735 13f79535-47bb-0310-9956-ffa450edef68
2005-08-08 02:57:55 +00:00
William A. Rowe Jr
c9e9770996 Fix a double-termination case in svn trunk/; we terminated the
headers up-front knowing the resulting headers were already
  correctly composed.

  

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@230733 13f79535-47bb-0310-9956-ffa450edef68
2005-08-08 02:51:32 +00:00
William A. Rowe Jr
d6bbff7719 An impossible-to-hit edge case today; we described the request
as chunked - and if chunked always send the body termination "0"
  chunk header.

  Roy's requested change that we always send a body we could read
  in full as a C-L request ensures this code wasn't triggered; some
  change in the future could again reveal this edge case.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@230718 13f79535-47bb-0310-9956-ffa450edef68
2005-08-08 00:57:52 +00:00
Mladen Turk
e7479bf114 Add status param option so that current worker
status can be changed via editing httpd.conf instead
just using web page. Seems the ApacheCon is paying of.
Thanks to Sander for pointing that out.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@225751 13f79535-47bb-0310-9956-ffa450edef68
2005-07-28 11:16:34 +00:00
Joe Orton
b3163fe9e9 * modules/proxy/mod_proxy_http.c (stream_reqbody_cl): Fix format
string error.
(ap_proxy_http_request): Restore default case in rb_method switch to
fix gcc warnings.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@224721 13f79535-47bb-0310-9956-ffa450edef68
2005-07-25 12:44:40 +00:00
William A. Rowe Jr
16ab528eb5 Yet another snafu in body handling. We need to clearly avoid any
ap_get_brigade or request body processing in every *subrequest* 
  proxy action.  The new code introduced more chaos because we read
  the request body irrespective of any bogus header handling bugs.

  This requires a goto, and yes, that sucks :)  But this is one of those
  oddball cases where jumping away makes more sense than tons of indented
  code, IMHO.  And if you count the number of goto's I've committed to
  httpd, you know I avoid them like the plague.

  I woulda' suggestd to jorton to take a flying carnal act, except that 
  each time he points me back to the 2.0 patch, I catch another entirely 
  bogus choice within the old/new httpd-2.x request body code :)

  I've bumped the 2.0 patch to correspond; see
  http://people.apache.org/~wrowe/httpd-2.0-proxy-request-4.patch

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@219533 13f79535-47bb-0310-9956-ffa450edef68
2005-07-18 16:48:25 +00:00
William A. Rowe Jr
f815ba9885 Fix broken while () {} loops (lingering code from the old logic),
closes an infinite loop in the most recent version.  Init the cl_val
  to prevent failure of zero length bodies in the most recent version.

  Use 'request body' instead of 'data' to describe any errors.

  Finally, loop around ap_get_brigade to grab multiple chunks that still
  fall below our MAX_MEM_SPOOL threshold, since the chunk decoding from
  the client will pass up just one small chunk per ap_get_brigade call.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@219430 13f79535-47bb-0310-9956-ffa450edef68
2005-07-18 00:16:52 +00:00
Ian Holsman
9ffe8c5d1a This patch adds a new hook (request_status) that gets ran in proxy_handler
just before the final return.  This gives modules an opportunity to do
something based on the proxy status.

A couple of examples where this is useful:

-You are using a caching module and would rather return stale content rather
than an error to the client if the origin is down.

-you proxy some subrequests (using SSI - mod_include) and do not want SSI
errors when the backend is down. If you would normally return
HTTP_BAD_GATEWAY, you may have a module that serves some other content.


new hook -- so mmn bump.. i made it a major one, hope thats ok 

Patch From Brian Akins <Brian.Akins turner.com>




git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@219372 13f79535-47bb-0310-9956-ffa450edef68
2005-07-17 05:12:10 +00:00
William A. Rowe Jr
f38fd1ca57 On Roy's suggestion; why wait to try to clear out the input
stream if it is smaller than MAX_MEM_SPOOL?  Do this upfront
  before dispatching to a body handler.

  This means changing each of the three body pumps to presume
  a preexisting input_brigade was already loaded, so turn around
  their loop conditions.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@219224 13f79535-47bb-0310-9956-ffa450edef68
2005-07-15 17:39:27 +00:00
William A. Rowe Jr
5bec2aaeb3 Fix a style problem; b is ambigous (is it a brigade or bucket?)
bb is far less ambigous.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@219223 13f79535-47bb-0310-9956-ffa450edef68
2005-07-15 17:37:56 +00:00
William A. Rowe Jr
fac43eeab4 leaving force-proxy-request-1.0 for broken clients, revert my
patch for forcing an HTTP/1.0 proxy request, if the client 
  request is HTTP/1.0, per Roy.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@219221 13f79535-47bb-0310-9956-ffa450edef68
2005-07-15 17:32:14 +00:00