1
0
mirror of https://github.com/apache/httpd.git synced 2026-01-06 09:01:14 +03:00
Commit Graph

155 Commits

Author SHA1 Message Date
Jeff Trawick
9b6702a85c Add CGIVar directive for configuring REQUEST_URI behavior
The goal is to use this one directive to handle any configurable
CGI variable behavior; only one CGI variable is supported initially.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1734947 13f79535-47bb-0310-9956-ffa450edef68
2016-03-14 15:42:45 +00:00
William A. Rowe Jr
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
Rainer Jung
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
Yann Ylavic
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
Yann Ylavic
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
Yann Ylavic
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
Eric Covener
d5fff1ccd5 followup to r1710380 -- refactored name and didn't have 'make depend'
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1710391 13f79535-47bb-0310-9956-ffa450edef68
2015-10-24 21:34:52 +00:00
Eric Covener
28d2d12241 Make the fix for fully qualifying REDIRECT_URL from PR#57785 opt-in.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1710380 13f79535-47bb-0310-9956-ffa450edef68
2015-10-24 19:13:16 +00:00
Gregg Lewis Smith
1b0c4542b0 core/util_script: relax alphanumeric filter of enviroment variable names
on Windows to allow '(' and ')' for passing PROGRAMFILES(X86) et.al.
unadulterated in 64 bit versions of Windows. PR 46751.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1705217 13f79535-47bb-0310-9956-ffa450edef68
2015-09-25 06:29:05 +00:00
Nick Kew
5a649184dc Make REDIRECT_URL a complete URL (where set).
PR 57785


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1677702 13f79535-47bb-0310-9956-ffa450edef68
2015-05-04 22:05:14 +00:00
Jeff Trawick
d49e6f0ad9 core: Add CGIPassAuth directive to control whether HTTP authorization
headers are passed to scripts as CGI variables.

PR: 56855


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1642847 13f79535-47bb-0310-9956-ffa450edef68
2014-12-02 12:20:21 +00:00
Christophe Jaillet
fb0ad3fd89 Turn some APR_BUCKET_REMOVE(e)+apr_bucket_destroy(e) into the equivalent apr_bucket_delete(e) to reduce code verbosity
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1615026 13f79535-47bb-0310-9956-ffa450edef68
2014-08-01 04:23:50 +00:00
Christophe Jaillet
56d0c25725 Add missing APLOGNO.
Refactor some lines to keep APLOGNO on the same line as ap_log_error, when applicable.
Split lines longer than 80.
Improve alignment.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1612068 13f79535-47bb-0310-9956-ffa450edef68
2014-07-20 09:32:58 +00:00
Christophe Jaillet
bb69ec6cfe Remove useless tests.
Turn
   if (*x && apr_isspace(*x))
into
   if (apr_isspace(*x))

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1452128 13f79535-47bb-0310-9956-ffa450edef68
2013-03-03 21:25:46 +00:00
Christophe Jaillet
85ed636d1d Avoid some memory allocation on error path in 'http2env' if TRACE1 logging is not activated.
Avoid a function call to 'apr_filepath_name_get' which ends up to a strrchr call, if TRACE1 logging is not activated. 


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1451478 13f79535-47bb-0310-9956-ffa450edef68
2013-03-01 06:33:40 +00:00
Ryan Pan
c7721a9e32 remove an unnecessary check in a nest loop of ap_create_environment()
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1378178 13f79535-47bb-0310-9956-ffa450edef68
2012-08-28 15:35:18 +00:00
Chris Darroch
56b1a71fe3 Apply the same length limit when logging Status header values
as used when logging invalid header lines.

Application of a limit on logged header data suggested by Jeff Trawick.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1376695 13f79535-47bb-0310-9956-ffa450edef68
2012-08-23 20:57:32 +00:00
Chris Darroch
36ab7eb1eb Log the value of Status header lines in script responses rather than
than just the fixed header name of "Status".


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1362538 13f79535-47bb-0310-9956-ffa450edef68
2012-07-17 15:26:27 +00:00
Stefan Fritsch
165e11ee96 Fix error handling in ap_scan_script_header_err_brigade() if there
is no EOS bucket in the brigade:

Also don't loop if there is a timeout when discarding the script output.

Thanks to Edgar Frank for the analysis.

PR: 48272 (partial fix)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1311174 13f79535-47bb-0310-9956-ffa450edef68
2012-04-09 09:35:35 +00:00
Stefan Fritsch
e9ac8ddb83 Make sure the getsfunc_*() functions used by ap_scan_script_header_err*()
NUL-terminate the resulting string, even in case of an error. mod_cgi
and mod_cgid try to log incomplete output from CGI scripts.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1244211 13f79535-47bb-0310-9956-ffa450edef68
2012-02-14 21:18:22 +00:00
Jim Jagielski
732f60dc2c Handle cases, esp when using mod_proxy_fcgi, when we do not
want SCRIPT_FILENAME to include the query string.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1242351 13f79535-47bb-0310-9956-ffa450edef68
2012-02-09 15:07:22 +00:00
Graham Leggett
cb21a0dbcc Further clarify the naming of the entity that directly connects to us by
calling that entity a client instead of a peer.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1214015 13f79535-47bb-0310-9956-ffa450edef68
2011-12-14 01:10:52 +00:00
Graham Leggett
ad489c105b 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@1214005 13f79535-47bb-0310-9956-ffa450edef68
2011-12-14 00:33:46 +00:00
Graham Leggett
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
Jim Jagielski
427c85bd23 Cleanup effort in prep for GA push:
Trim trailing whitespace... no func change



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1174751 13f79535-47bb-0310-9956-ffa450edef68
2011-09-23 13:39:32 +00:00
Stefan Fritsch
481fac5ce2 Make the SERVER_NAME variable include [ ] for literal IPv6 addresses, as
mandated by RFC 3875

PR: 26005


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1147614 13f79535-47bb-0310-9956-ffa450edef68
2011-07-17 13:56:28 +00:00
Stefan Fritsch
beb3ea9c11 Add more (trace) logging to the ap_scan_script_header*() functions
Add ap_scan_script_header*_ex() functions that take a module index for
logging.
Make mod_cgi, mod_cgid, mod_proxy_fcgi, mod_proxy_scgi, mod_isapi use the
new functions.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1147493 13f79535-47bb-0310-9956-ffa450edef68
2011-07-16 21:53:18 +00:00
Stefan Fritsch
255b79ce73 improve readability of 'malformed header from script' message and simplify code
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1147487 13f79535-47bb-0310-9956-ffa450edef68
2011-07-16 20:36:11 +00:00
Stefan Fritsch
c9fd2623da Introduce ap_(get|set)_core_module_config() functions/macros and use them
everywhere.

We know that the core module has module_index 0. Therefore we can save
some pointer operations in ap_get_module_config(cv, &core_module) and
ap_set_module_config(cv, &core_module, val). As these are called rather often,
this may actually have some (small) measurable effect.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1132781 13f79535-47bb-0310-9956-ffa450edef68
2011-06-06 21:26:56 +00:00
Stefan Fritsch
feca55db60 - Introduce concept of context prefix (which is an URL prefix)
and context document root (which is the file system directory that
  this URL prefix is mapped to). This generalization of the document
  root makes it easier for scripts to create self-referential URLs and
  to find their files.
- Expose CONTEXT_DOCUMENT_ROOT and CONTEXT_PREFIX as envvars, in mod_rewrite,
  and in ap_expr.
- Make mod_alias and mod_userdir set the context information.
- Allow to override the document root on a per-request basis. This allows
  mass vhosting modules to set DOCUMENT_ROOT correctly.
- Make mod_vhost_alias set the per-request document root

PR: 26052, 46198, 49705

Remaining tasks:
- Use the context document root & prefix in mod_rewrite to make RewriteBase
  unneccessary in many cases. Do this without breaking compatibility.
- Write docs.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1132494 13f79535-47bb-0310-9956-ffa450edef68
2011-06-05 21:33:12 +00:00
Stefan Fritsch
6c6979ede6 Make the REQUEST_SCHEME variable available to scripts and mod_rewrite
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1053872 13f79535-47bb-0310-9956-ffa450edef68
2010-12-30 12:34:19 +00:00
Stefan Fritsch
8ef0eb9c77 Log a trace message if we drop a header with an invalid name
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1053365 13f79535-47bb-0310-9956-ffa450edef68
2010-12-28 14:53:59 +00:00
Stefan Fritsch
2ae41fa476 Move duplicated code into utility functions
Submitted by: Malte S. Stretz <mss@apache.org>, Stefan Fritsch


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1053363 13f79535-47bb-0310-9956-ffa450edef68
2010-12-28 14:48:51 +00:00
Stefan Fritsch
afea2a1dc4 When exporting request headers to HTTP_* environment variables, drop variables
whose names contain invalid characters. Describe in the docs how to restore the
old behaviour.

Submitted by: Malte S. Stretz <mss apache org>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1053353 13f79535-47bb-0310-9956-ffa450edef68
2010-12-28 14:20:52 +00:00
William A. Rowe Jr
6c3b1e2ec5 Because PATH and the library path are closely interrelated, and the cause
of most confusion over cgi or fcgid failures, or even starting rotatelogs,
etc, when the server binaries have been relocated, pass the library path
as paired with the system PATH.

Of course, PATH and platform-specific library path(s) may be modified as
needed with mod_env, so there is no loss of functionality with this change.

The days of monolithic binaries are long gone, even on 1970's architectures,
and PATH should not be decoupled from the library path.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1000593 13f79535-47bb-0310-9956-ffa450edef68
2010-09-23 19:50:14 +00:00
Nick Kew
344a7acdc3 Enable SetEnv to set PATH
PR 43906


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@965679 13f79535-47bb-0310-9956-ffa450edef68
2010-07-19 23:40:25 +00:00
William A. Rowe Jr
7716d3c3e3 Drop ap_body_to_table due to missing constraints; a DoS waiting
for an exploit.

Some mod_lua fan aught to revisit this and provide a sensible
implementation.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@953203 13f79535-47bb-0310-9956-ffa450edef68
2010-06-10 03:02:07 +00:00
Stefan Fritsch
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
Takashi Sato
0534f5f339 Fix string constness to get rid of gcc compiler warnings by -Wwrite-strings.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@894368 13f79535-47bb-0310-9956-ffa450edef68
2009-12-29 12:34:26 +00:00
William A. Rowe Jr
3e338e488c Elaborate on low hanging XXX fruit
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@885689 13f79535-47bb-0310-9956-ffa450edef68
2009-12-01 08:44:11 +00:00
Guenter Knauf
3353db1086 added comment about the never reached return statement.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@819893 13f79535-47bb-0310-9956-ffa450edef68
2009-09-29 12:08:28 +00:00
Brian Havard
60fbe11de1 Bring back OS/2 support.
Reverses r758929 with a little bit of conflict resolution.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@807930 13f79535-47bb-0310-9956-ffa450edef68
2009-08-26 08:56:13 +00:00
Nick Kew
1026b83608 http://marc.info/?l=apache-httpd-dev&m=123845333914309&w=2
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@760379 13f79535-47bb-0310-9956-ffa450edef68
2009-03-31 09:32:14 +00:00
Nick Kew
7fe4728a29 HTTPD script support
When a script returns a no-body response code, pretend it was a HEAD
request so as to drop any body the script might erroneously generate.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@760167 13f79535-47bb-0310-9956-ffa450edef68
2009-03-30 20:49:10 +00:00
Jeff Trawick
ee32468a33 remove OS/2 platform support
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@758929 13f79535-47bb-0310-9956-ffa450edef68
2009-03-26 23:47:52 +00:00
Jeff Trawick
2f9b9fdd70 remove BeOS OS support
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@758891 13f79535-47bb-0310-9956-ffa450edef68
2009-03-26 22:23:44 +00:00
William A. Rowe Jr
801a5aa379 document some nonsense it may be sizeof off_t > sizeof size_t.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@730815 13f79535-47bb-0310-9956-ffa450edef68
2009-01-02 19:01:01 +00:00
Nick Kew
3dc8a45a64 CGI: return 504 (Gateway timeout) rather than 500 when a script
times out before returning status line/headers.
PR 42190


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@729586 13f79535-47bb-0310-9956-ffa450edef68
2008-12-27 03:53:32 +00:00
Paul Querna
7ff39c3567 Remove commented out block that wouldn't even work in this context.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@724084 13f79535-47bb-0310-9956-ffa450edef68
2008-12-07 05:51:23 +00:00
Paul Querna
2b494140a5 Don't pass in a pool to to argstr_to_table, and duplicate r->args before sending it in.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@724080 13f79535-47bb-0310-9956-ffa450edef68
2008-12-07 05:45:31 +00:00