ajp_header.c

Checkout Tools
  • last updated 1 hour ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
* 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).

Rename ap_casecmpstr[n]() to ap_cstr_casecmp[n](), update with APR doxygen
  1. … 49 more files in changeset.
mod_proxy_ajp: Add "secret" parameter to proxy workers to implement legacy

AJP13 authentication. PR 53098.

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

  1. … 5 more files in changeset.
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.

  1. … 9 more files in changeset.
Added many log numbers to log statements that

had none.

Those were not detected by the coccinelle script.

  1. … 34 more files in changeset.
Use new ap_casecmpstr[n]() functions where appropriate (not exhaustive).

  1. … 32 more files in changeset.
Revert r1715789: will re-commit without spurious functional changes.

  1. … 32 more files in changeset.
Use new ap_casecmpstr[n]() functions where appropriate (not exhaustive).

[Reverted by r1715869]

  1. … 32 more files in changeset.
Silence a sparse warning about inconsistent indenting + some minor style issues
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.

  1. … 2 more files in changeset.
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.

  1. … 2 more files in changeset.
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.

  1. … 2 more files in changeset.
fix some comments

  1. … 1 more file in changeset.
Fix some typos

  1. … 3 more files in changeset.
Further clarify the naming of the entity that originates the request by

calling that entity a useragent instead of a client.

  1. … 14 more files in changeset.
Add lots of unique tags to error log messages

  1. … 172 more files in changeset.
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.

  1. … 23 more files in changeset.
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).

  1. … 17 more files in changeset.
check return status
More ap_log_rerror() usage and axe some more AJP: prefixes

  1. … 3 more files in changeset.
Improve logging for mod_proxy_ajp.

  1. … 3 more files in changeset.
Make AJP trace messages a bit less cryptic.

  1. … 2 more files in changeset.
Move some debug log statements to trace level

and improve message format consistency.

  1. … 1 more file in changeset.
mod_proxy_ajp: Respect "reuse" flag in END_REPONSE

packets.

  1. … 3 more files in changeset.
Use the new APLOG_USE_MODULE/AP_DECLARE_MODULE macros everywhere to take

advantage of per-module loglevels

  1. … 169 more files in changeset.
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

  1. … 2 more files in changeset.
* save_table needs to be declared first before it can be used.

AJP was dropping pre-existing cookies. Use same logic

as HTTP to tuck them away

Make AJP HEAD aware

  1. … 1 more file in changeset.
Here too, the limited comparison ignored the trailing NIL character