66 Commits

Author SHA1 Message Date
61645eaac8 let httpd handle CL/TE for non-http handlers
Submitted By: ylavic, covener



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1916769 13f79535-47bb-0310-9956-ffa450edef68
2024-04-03 11:49:53 +00:00
df126569e2 Remove unnecessary APLOGNO() use in TRACE-level logging.
Submitted by: Jackie Chang <jackie.qq.chang gmail.com>
PR: 55627


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1913338 13f79535-47bb-0310-9956-ffa450edef68
2023-10-26 07:31:16 +00:00
296a99c310 * Report an error if the AJP backend sends an invalid number of headers
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1906940 13f79535-47bb-0310-9956-ffa450edef68
2023-01-23 08:59:14 +00:00
6ac821d9af * modules/proxy/ajp_header.c (sc_for_req_header): Zero-initialize
buffer to avoid potential (harmless) memcmp comparison against
  garbage stack data later.  (clang warning).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1842881 13f79535-47bb-0310-9956-ffa450edef68
2018-10-05 10:12:12 +00:00
f4cc76ee71 Rename ap_casecmpstr[n]() to ap_cstr_casecmp[n](), update with APR doxygen
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1747469 13f79535-47bb-0310-9956-ffa450edef68
2016-06-09 00:06:42 +00:00
b6f5963438 mod_proxy_ajp: Add "secret" parameter to proxy workers to implement legacy
AJP13 authentication.  PR 53098.

Proposed by: Dmitry A. Bakshaev <dab1818 gmail com>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1738878 13f79535-47bb-0310-9956-ffa450edef68
2016-04-12 23:09:07 +00:00
690c6105f9 hostname: Test and log useragent_host per-request across various modules,
including the scoreboard, expression and rewrite engines, setenvif,
authz_host, access_compat, custom logging, ssl and REMOTE_HOST variables.
PR55348  [William Rowe]

This is the complete change set which applies cleanly to 2.4.x as well,
the server/scoreboard.c will follow, which does not apply due to drift.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1729930 13f79535-47bb-0310-9956-ffa450edef68
2016-02-12 01:17:03 +00:00
af14d158a3 Added many log numbers to log statements that
had none.

Those were not detected by the coccinelle script.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725485 13f79535-47bb-0310-9956-ffa450edef68
2016-01-19 12:02:41 +00:00
c80e6b2a34 Use new ap_casecmpstr[n]() functions where appropriate (not exhaustive).
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1715876 13f79535-47bb-0310-9956-ffa450edef68
2015-11-23 16:46:01 +00:00
3c9ddf44bf Revert r1715789: will re-commit without spurious functional changes.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1715869 13f79535-47bb-0310-9956-ffa450edef68
2015-11-23 16:28:36 +00:00
29843dc73f Use new ap_casecmpstr[n]() functions where appropriate (not exhaustive).
[Reverted by r1715869]


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1715789 13f79535-47bb-0310-9956-ffa450edef68
2015-11-23 12:33:09 +00:00
ab3bbfa19a Silence a sparse warning about inconsistent indenting + some minor style issues
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1700332 13f79535-47bb-0310-9956-ffa450edef68
2015-08-31 20:34:29 +00:00
21729aacfe mod_proxy_ajp: Forward SSL_PROTOCOL. Forthcoming
versions of Tomcat know how to extract the information
and provide it as a request attribute.

Compatibility is not broken, because we forward it
as a named request attribute, not with a new byte
encoded name.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1661067 13f79535-47bb-0310-9956-ffa450edef68
2015-02-20 07:27:44 +00:00
3e3b46844f Forward local IP address as a custom request attribute
like we already do for the remote port.

Both were forgotten in the original AJP 13 spec
but are needed by the Servlet spec. Until now,
Tomcat simply returns for getLocalAddr() the same as
for getLocalName().

The next round of Tomcat releases will look for the
optional new request attribute.

See also Tomcat BZ 56661.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1610207 13f79535-47bb-0310-9956-ffa450edef68
2014-07-13 14:20:04 +00:00
6128f87c1b mod_proxy_ajp: Support unknown HTTP methods.
BZ 54416

Forward unknown methods as request attributes
using method id SC_M_JK_STORED=0xFF and
request attribute id SC_A_STORED_METHOD=13.

Code ported from mod_jk (which got it from mod_jk2).

Supported by Tomcat at least since TC 4.1.
Doesn't seem to be supported by Jetty though.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1435178 13f79535-47bb-0310-9956-ffa450edef68
2013-01-18 15:09:58 +00:00
57a155737d fix some comments
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1328339 13f79535-47bb-0310-9956-ffa450edef68
2012-04-20 12:02:09 +00:00
03a8b1b4c2 Fix some typos
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1300766 13f79535-47bb-0310-9956-ffa450edef68
2012-03-14 22:21:50 +00:00
2af2fa44ad Further clarify the naming of the entity that originates the request by
calling that entity a useragent instead of a client.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1214003 13f79535-47bb-0310-9956-ffa450edef68
2011-12-14 00:31:51 +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
394e5594d6 Introduce a per connection "peer_ip" and a per request "client_ip" to
distinguish between the raw IP address of the connection and the effective
IP address of the request.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1206291 13f79535-47bb-0310-9956-ffa450edef68
2011-11-25 19:42:04 +00:00
4ee7eea4cf Introduce a per request version of the remote IP address, which can be
optionally modified by a module when the effective IP of the client
is not the same as the real IP of the client (such as a load balancer).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1204968 13f79535-47bb-0310-9956-ffa450edef68
2011-11-22 13:10:39 +00:00
f16552affe check return status
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1204556 13f79535-47bb-0310-9956-ffa450edef68
2011-11-21 15:51:46 +00:00
b56ba5a823 More ap_log_rerror() usage and axe some more AJP: prefixes
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1203878 13f79535-47bb-0310-9956-ffa450edef68
2011-11-18 22:02:27 +00:00
966df72b7c Improve logging for mod_proxy_ajp.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1152452 13f79535-47bb-0310-9956-ffa450edef68
2011-07-30 10:58:34 +00:00
a7fe66131c Make AJP trace messages a bit less cryptic.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1152450 13f79535-47bb-0310-9956-ffa450edef68
2011-07-30 10:54:04 +00:00
bed1021e56 Move some debug log statements to trace level
and improve message format consistency.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1152448 13f79535-47bb-0310-9956-ffa450edef68
2011-07-30 10:49:32 +00:00
73cf5b7f29 mod_proxy_ajp: Respect "reuse" flag in END_REPONSE
packets.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1152379 13f79535-47bb-0310-9956-ffa450edef68
2011-07-29 21:41:00 +00:00
ebb62867fb Use the new APLOG_USE_MODULE/AP_DECLARE_MODULE macros everywhere to take
advantage of per-module loglevels


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@951895 13f79535-47bb-0310-9956-ffa450edef68
2010-06-06 16:59:50 +00:00
8a65f5dff0 The remote port information was forgotten from the builtin
data of the AJP 13 protocol.  Since the servlet spec allows
to retrieve it via getRemotePort(), we provide the port to
the Tomcat connector as an additional request attribute.
Modern/future Tomcat versions know how to retrieve
the remote port from the attribute AJP_REMOTE_PORT.

See:
https://issues.apache.org/bugzilla/show_bug.cgi?id=41263
http://svn.eu.apache.org/viewvc?view=rev&revision=756926
http://svn.eu.apache.org/viewvc?view=rev&revision=757223


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@761329 13f79535-47bb-0310-9956-ffa450edef68
2009-04-02 15:49:29 +00:00
0c674a71e6 * save_table needs to be declared first before it can be used.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@707665 13f79535-47bb-0310-9956-ffa450edef68
2008-10-24 16:00:10 +00:00
9b6fefa44f AJP was dropping pre-existing cookies. Use same logic
as HTTP to tuck them away


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@707649 13f79535-47bb-0310-9956-ffa450edef68
2008-10-24 15:01:44 +00:00
1a2c2c2f7c Make AJP HEAD aware
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@574024 13f79535-47bb-0310-9956-ffa450edef68
2007-09-09 16:20:45 +00:00
0aae30b211 Here too, the limited comparison ignored the trailing NIL character
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@571232 13f79535-47bb-0310-9956-ffa450edef68
2007-08-30 16:27:22 +00:00
bfed1d7fae Convert just the message text to EBCDIC, and not the (already EBCDIC) status code
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@571219 13f79535-47bb-0310-9956-ffa450edef68
2007-08-30 15:54:44 +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
4932849eec Revert 451953 and 451951. Log the real r->method that is
unsupported by the AJP protocol.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@452536 13f79535-47bb-0310-9956-ffa450edef68
2006-10-03 15:18:57 +00:00
fe00141420 Ups. Fix typo. We are logging int, not string.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@451953 13f79535-47bb-0310-9956-ffa450edef68
2006-10-02 10:26:13 +00:00
0102152486 If the r->method_number is unknown the r->method
is unknown or corrupted as well. Log the method number
that was not recognized.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@451951 13f79535-47bb-0310-9956-ffa450edef68
2006-10-02 10:24:45 +00:00
7aa10a383a Fix compile time warning. AJP protocol method is byte.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@427059 13f79535-47bb-0310-9956-ffa450edef68
2006-07-31 09:42:57 +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
3c4c74840d small cleanup of EBCDIC support in mod_proxy_ajp
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@409709 13f79535-47bb-0310-9956-ffa450edef68
2006-05-26 18:03:01 +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
b5ca8f8f3f * Crosscheck the length of the body chunk with the length of the ajp message
to prevent readings beyond the buffer boundaries which possibly could reveal
  sensitive memory contents to the client.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@383339 13f79535-47bb-0310-9956-ffa450edef68
2006-03-05 15:22:18 +00:00
d66bb0a4d0 * Fix PR38340 by actual getting the word and thus advancing the message buffer
pointer to the next data.

Submitted by: Aleksey Pesternikov <apesternikov yahoo.com>
Reviewed by: Ruediger Pluem


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@371013 13f79535-47bb-0310-9956-ffa450edef68
2006-01-21 11:30:41 +00:00
49ce35caa5 Fix Cookie2 header problems that originates back
from mod_jk. Cookie2 was always sent as Cookie.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@358769 13f79535-47bb-0310-9956-ffa450edef68
2005-12-23 08:36:18 +00:00
e4c6f88a87 In Apache-2.x, the function is called apr_pstrdup().
The 'tmp' variable is not really necessary.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@357699 13f79535-47bb-0310-9956-ffa450edef68
2005-12-19 14:50:56 +00:00
fe2d495671 Sorry, previous commit was not ok.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@357044 13f79535-47bb-0310-9956-ffa450edef68
2005-12-15 16:58:10 +00:00
5aa5b6bf3e The string comming from TC is in ASCII and the string returned by apr_psprintf isn't.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@357022 13f79535-47bb-0310-9956-ffa450edef68
2005-12-15 14:44:39 +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