Commit Graph

47 Commits

Author SHA1 Message Date
e43f032844 Make comment agree with code.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@820036 13f79535-47bb-0310-9956-ffa450edef68
2009-09-29 17:27:56 +00:00
1704a79477 * Check more strictly that the backend follows the AJP protocol.
Submitted by: mturk


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@764239 13f79535-47bb-0310-9956-ffa450edef68
2009-04-11 19:49:12 +00:00
b6b2ba9ef2 * Avoid delivering content from a previous request which failed to send a request
body by closing the connection to the backend in this case instead of reusing it.

CVE: CVE-2008-5519
PR: 46949
Reviewed by: jim, wrowe


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@763394 13f79535-47bb-0310-9956-ffa450edef68
2009-04-08 21:06:46 +00:00
07e868589e * Use distinct char pointers for sending and receiving buffers to avoid
destroying the pointer to the sending buffer in the ajp message if
  data is received from the backend before all data is sent to the
  backend.

PR: 45911


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@709666 13f79535-47bb-0310-9956-ffa450edef68
2008-11-01 10:23:09 +00:00
75fdb89d40 * There are no subrequests which have itself as parent.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@707027 13f79535-47bb-0310-9956-ffa450edef68
2008-10-22 10:40:55 +00:00
5dd3bee230 ap_proxy_determine_connection modifies the url if we are retrying the result we should retry using the orginal url.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@706318 13f79535-47bb-0310-9956-ffa450edef68
2008-10-20 15:11:05 +00:00
e2eac36201 Always send body (zero size at least) whenever C-L is present in the request
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@696614 13f79535-47bb-0310-9956-ffa450edef68
2008-09-18 09:35:30 +00:00
a5ce4c218b * If CPING fails retry once more with a fresh TCP connection. If this fails
as well give up.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@693392 13f79535-47bb-0310-9956-ffa450edef68
2008-09-09 07:25:56 +00:00
fd0f91e363 * Introduce a flag to decide whether we sent an body to the backend or not.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@660207 13f79535-47bb-0310-9956-ffa450edef68
2008-05-26 15:04:55 +00:00
b86ddabbef Set at init time, and combine comments
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@649922 13f79535-47bb-0310-9956-ffa450edef68
2008-04-20 14:23:25 +00:00
990f2aafc4 * Do not add the query string again in the case that we are using the
unparsed uri.

PR: 44803


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@649840 13f79535-47bb-0310-9956-ffa450edef68
2008-04-19 18:48:05 +00:00
aa2cf4597d handle ? in cases where nocanon is in effect
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@649239 13f79535-47bb-0310-9956-ffa450edef68
2008-04-17 19:20:16 +00:00
a10d494e08 Make mod_proxy_ajp aware of the nocanon envvar
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@649169 13f79535-47bb-0310-9956-ffa450edef68
2008-04-17 16:22:36 +00:00
4bcbc37a4c Remove useless test.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@641837 13f79535-47bb-0310-9956-ffa450edef68
2008-03-27 14:44:19 +00:00
eeca2b5914 * As per niq's comment, better destinct the types of idempotence.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@627097 13f79535-47bb-0310-9956-ffa450edef68
2008-02-12 20:51:08 +00:00
9af3a4cdfd * Do not retry a request in the case that we either failed to sent a part of the
request body or if the request is not idempotent.

PR: 44334


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@617822 13f79535-47bb-0310-9956-ffa450edef68
2008-02-02 16:35:40 +00:00
a067e75531 Ignore any ajp13 flush messages which we may mistakenly
rec' before we send the response headers. See
Tomcat PR 43478.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@579707 13f79535-47bb-0310-9956-ffa450edef68
2007-09-26 16:11:07 +00:00
c749df3ca8 Add support for proxy-nokeepalive (for testings).
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@572919 13f79535-47bb-0310-9956-ffa450edef68
2007-09-05 09:21:23 +00:00
9d24ba2573 * Rework the error handling logic to make it more readable.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@534031 13f79535-47bb-0310-9956-ffa450edef68
2007-05-01 12:17:30 +00:00
d3858a5012 Make sure that we are not resending if we have received something from Tomcat.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@518938 13f79535-47bb-0310-9956-ffa450edef68
2007-03-16 11:26:33 +00:00
631a73fbdc When Servlet container sends AJP body message with size 0, this means that Servlet container has asked for an explicit flush.
Create flush bucket in that case.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@468941 13f79535-47bb-0310-9956-ffa450edef68
2006-10-29 17:05:40 +00:00
247365582c Make sure the AJP message is between 8 and 64K.
Use the provided message size when using get_brigade.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@467257 13f79535-47bb-0310-9956-ffa450edef68
2006-10-24 06:33:13 +00:00
a61bc18671 fix typo that breaks compilation
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@467017 13f79535-47bb-0310-9956-ffa450edef68
2006-10-23 16:07:40 +00:00
aab07de155 At support for ProxyIOBufferSize in AJP.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@467014 13f79535-47bb-0310-9956-ffa450edef68
2006-10-23 15:31:59 +00:00
4d2639fa95 * Close connection to backend if reading of request body fails.
PR: 40310
Submitted by: Ian Abel <ianabel mxtelecom.com>
Reviewed by: rpluem


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@434483 13f79535-47bb-0310-9956-ffa450edef68
2006-08-24 19:53:14 +00:00
9bbf36995e Cleanup: Remove close_on_recycle from proxy_conn_rec.
It behaves the same as close.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@427959 13f79535-47bb-0310-9956-ffa450edef68
2006-08-02 12:03:42 +00:00
4fd2c57da0 Added cping/cpong support for the AJP protocol.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@425454 13f79535-47bb-0310-9956-ffa450edef68
2006-07-25 16:50:07 +00:00
de659cbed0 update license header text
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@420983 13f79535-47bb-0310-9956-ffa450edef68
2006-07-11 20:33:53 +00:00
dd95d7c37c Update the copyright year in all .c, .h and .xml files
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@395228 13f79535-47bb-0310-9956-ffa450edef68
2006-04-19 12:11:27 +00:00
dede56b14d Document the removal of the flushing bandaid to a
runtime param. Since other protocols might benefit
from this, remove the ajp_ prefixes, to make it
more generic looking.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@390210 13f79535-47bb-0310-9956-ffa450edef68
2006-03-30 18:32:53 +00:00
391472a050 Make AJP flushing admin configurable.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@384580 13f79535-47bb-0310-9956-ffa450edef68
2006-03-09 18:39:16 +00:00
32df739a8f Explain how we're checking to see if ap_proxy_backend_broke()
has been called or not. 


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@366558 13f79535-47bb-0310-9956-ffa450edef68
2006-01-06 20:04:43 +00:00
30d205d8a9 * Correctly signal broken backend connections up the chain also for the ajp
backend (see also r357461). Furthermore move common code in mod_proxy_http.c
  and mod_proxy_ajp.c into a new function (ap_proxy_backend_broke) in
  proxy_util.c.

  modules/proxy/mod_proxy_ajp.c : Signal broken backend connection for ajp backend
  modules/proxy/proxy_util.c    : Add ap_proxy_backend_broke
  modules/proxy/mod_proxy_http.c: - Use ap_proxy_backend_broke
                                  - Return DONE also if backend broke
  modules/proxy/mod_proxy.h     : Add declaration of ap_proxy_backend_broke


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@365374 13f79535-47bb-0310-9956-ffa450edef68
2006-01-02 16:39:22 +00:00
06c6bde4c6 * revert r355823 and r355837
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@355853 13f79535-47bb-0310-9956-ffa450edef68
2005-12-11 01:28:13 +00:00
c666adbbae * Let the proxy handler know that the backend connection broke after we have
sent the headers.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@355837 13f79535-47bb-0310-9956-ffa450edef68
2005-12-11 00:50:21 +00:00
5061d9fa92 No functional Change: Removing trailing whitespace. This also
means that "blank" lines consisting of just spaces or
tabs are now really blank lines


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@332306 13f79535-47bb-0310-9956-ffa450edef68
2005-11-10 15:11:44 +00:00
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
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
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
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
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
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
000d9acf74 Return correct status codes in case of bad request, that
is probably too large for AJP protocol.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@160677 13f79535-47bb-0310-9956-ffa450edef68
2005-04-09 10:39:50 +00:00
7e5069e82e Remove useless loging of something that is not an error.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@160661 13f79535-47bb-0310-9956-ffa450edef68
2005-04-09 06:55:13 +00:00
d55cef82b3 * modules/proxy/mod_proxy_ajp.c
(proxy_ajp_handler): Log error when a backend connection could not
    be made.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@152966 13f79535-47bb-0310-9956-ffa450edef68
2005-02-09 00:21:49 +00:00
905cdf9f0b Update copyright year to 2005 and standardize on current copyright owner line.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@151408 13f79535-47bb-0310-9956-ffa450edef68
2005-02-04 20:28:49 +00:00
0f59873110 Rename proxy modules.
* modules\proxy\mod_proxy_ajp.c
* modules\proxy\mod_proxy_balancer.c
* modules\proxy\mod_proxy_connect.c
* modules\proxy\mod_proxy_ftp.c
* modules\proxy\mod_proxy_http.c

  Renamed from proxy_{ajp,balancer,connect,ftp,http}.c


* modules\proxy\mod_proxy_ajp.dsp
* modules\proxy\mod_proxy_balancer.dsp
* modules\proxy\mod_proxy_connect.dsp
* modules\proxy\mod_proxy_ftp.dsp
* modules\proxy\mod_proxy_http.dsp

  Update references to renamed files.


* modules\proxy\NWGNUproxyajp
* modules\proxy\NWGNUproxybalancer
* modules\proxy\NWGNUproxycon
* modules\proxy\NWGNUproxyftp
* modules\proxy\NWGNUproxyhtp

  Update references to renamed files.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@151238 13f79535-47bb-0310-9956-ffa450edef68
2005-02-03 21:56:30 +00:00