1
0
mirror of https://github.com/apache/httpd.git synced 2026-10-23 22:49:01 +03:00
Commit Graph

723 Commits

Author SHA1 Message Date
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
William A. Rowe Jr
00b86812a8 Missed an edge case; once we know the C-L didn't match, it's
time to shut down the body already.  Finish reading from the
  client but do nothing else, returning an error.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@219057 13f79535-47bb-0310-9956-ffa450edef68
2005-07-14 16:17:56 +00:00
William A. Rowe Jr
b05ef49f93 How can I fix thee? let me count the ways...
* pass a chunked body always (no-body requests don't go chunked).

  * validate that the C-L counted body length doesn't change.

  * follow RFC 2616 for C-L / T-E in the request body C-L / T-E
    election logic.

  * do not forward HTTP/1.0 requests as HTTP/1.1, unless the admin
    configures force-proxy-request-1.1

  * conn was illegible, use 2.0's p_conn.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@218978 13f79535-47bb-0310-9956-ffa450edef68
2005-07-14 03:42:22 +00:00
William A. Rowe Jr
9a44d6866d Fix two fat-fingered typos from commit 216156. Code matches previous
behavior now; time to start fixing.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@216159 13f79535-47bb-0310-9956-ffa450edef68
2005-07-13 14:06:24 +00:00
William A. Rowe Jr
bf0bd6d653 send_request_body and indentation made it very difficult to follow
all the mistakes in this code.  Fold send_request_body into reindent
  to make the pattern clear and skip some extra string handling.
  Little functional change, that comes next.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@216156 13f79535-47bb-0310-9956-ffa450edef68
2005-07-13 13:59:32 +00:00
William A. Rowe Jr
d2ff850241 End abuse of apr_strnat[case]cmp - it isn't str[case]cmp.
Unsure if apr_strnatcasecmp(conf_ip, uri_ip) was intentional, on the
  off chance that the left or right hand ip string happens to contain
  leading zeros.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@216111 13f79535-47bb-0310-9956-ffa450edef68
2005-07-13 04:43:59 +00:00
William A. Rowe Jr
8342bc03a2 Fix a ton of wrong/silly indention, and clarify the fix-notes
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@209836 13f79535-47bb-0310-9956-ffa450edef68
2005-07-08 16:25:54 +00:00
William A. Rowe Jr
179ca062fd This test for TraceEnable cases cannot be buried within the max-forwards
logic cases.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@209406 13f79535-47bb-0310-9956-ffa450edef68
2005-07-06 04:10:50 +00:00
William A. Rowe Jr
d90cbe8650 Plug AllowTrace extended|on|off into proxy and http core.
It still is not 'correct' until REQUEST_CHUNKED_PASS is reimplemented
  and passes some chunk headers, since we aren't echoing the entire
  request.  But it gets me further on testing 1.3 -> 2.0 -> 2.1 -> 2.0 -> 1.3
  proxy behaviors.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@208787 13f79535-47bb-0310-9956-ffa450edef68
2005-07-01 19:59:59 +00:00
Jeff Trawick
f5cd172571 proxy HTTP: If a response contains both Transfer-Encoding and a
Content-Length, remove the Content-Length and don't reuse the
connection, stopping some HTTP Request smuggling attacks.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@193205 13f79535-47bb-0310-9956-ffa450edef68
2005-06-23 19:20:29 +00:00
Joe Orton
3169261900 * modules/proxy/mod_proxy_balancer.c (proxy_balancer_pre_request): Fix
another valid variable-may-be-used-uninitialized warning from GCC 4
(in the !balancer->sticky case, find_session_route returns NULL
without setting route).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@193117 13f79535-47bb-0310-9956-ffa450edef68
2005-06-23 09:10:09 +00:00
Paul Querna
cf10bfaefa mod_proxy_ftp: Fix comparison of char* to '\0'
PR: 34512


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@179704 13f79535-47bb-0310-9956-ffa450edef68
2005-06-03 02:44:39 +00:00
Paul Querna
693107a967 - Use apr_uri_t to parse the proxy URL, instead of munging it by hand. Original code did not handle IPv6 Addresses correctly.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@178391 13f79535-47bb-0310-9956-ffa450edef68
2005-05-25 06:42:33 +00:00
William A. Rowe Jr
20d06d7a06 Reintroduce stack frame construction with /Oy- (removal was implied by /O2).
This makes binaries far easier to debug, during operation and for post-crash
  .dmp analysis.  Do not alter /Gs optimizations per brane.

Reviewed by: stoddard, brane

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@170253 13f79535-47bb-0310-9956-ffa450edef68
2005-05-15 19:11:57 +00:00
Paul Querna
c84966321a Make sure mod_rewrite always runs before mod_proxy in the translate_name hook. This makes doing RewriteRules on a Reverse Proxy.. Slightly more predictable than the order of LoadModules.
Reported By: David D. Miller <justdave bugzilla.org>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@169692 13f79535-47bb-0310-9956-ffa450edef68
2005-05-11 20:11:44 +00:00
Bradley Nicholes
93e638300b Link to the correct socket library depending on which one is selected
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@161791 13f79535-47bb-0310-9956-ffa450edef68
2005-04-18 19:54:33 +00:00
Mladen Turk
9fac5c4376 Add failover to mod proxy. If the service is unavailable,
check another worker in case this is balancer request.
In case the error in unrecoverable, fail with returned
status code.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@160848 13f79535-47bb-0310-9956-ffa450edef68
2005-04-11 08:45:15 +00:00
Mladen Turk
e32503984e Set default number of maxattempts to the number of
balancer members.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@160847 13f79535-47bb-0310-9956-ffa450edef68
2005-04-11 08:42:33 +00:00
Bradley Nicholes
bdd9c004ff Add two more APIs to the export and import lists for NetWare
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@160725 13f79535-47bb-0310-9956-ffa450edef68
2005-04-10 00:17:44 +00:00
Mladen Turk
363117e7a1 Move direct_connect out of attempt loop. No need to
calculate that value on each attempt, because it's always
the same.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@160705 13f79535-47bb-0310-9956-ffa450edef68
2005-04-09 18:33:00 +00:00
Mladen Turk
d13b2de6e2 Simplify canon_handler. There is no thing like ajps:
protocol.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@160693 13f79535-47bb-0310-9956-ffa450edef68
2005-04-09 16:34:33 +00:00
Mladen Turk
c4323f9615 Simplify canon_handler. Blancer can have only a single
scheme.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@160692 13f79535-47bb-0310-9956-ffa450edef68
2005-04-09 16:32:32 +00:00
Mladen Turk
0eab042f6a Use two optional functions from mod_ssl so that we
can receive both is_ssl and ssl_var for ajp protocol.
This is combined work based on patch from Brad Boyer and
Joe Orton's suggestion to use ssl_var_lookup.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@160690 13f79535-47bb-0310-9956-ffa450edef68
2005-04-09 16:16:54 +00:00