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

1833 Commits

Author SHA1 Message Date
Stefan Eissing
7c6d768d77 reverting the reverting of r1735174, r1735176 was the culprit
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1735227 13f79535-47bb-0310-9956-ffa450edef68
2016-03-16 13:09:47 +00:00
Stefan Eissing
9a54010ad2 reverting r1735174 as http/1.1 just terminated before response
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1735216 13f79535-47bb-0310-9956-ffa450edef68
2016-03-16 11:06:28 +00:00
Graham Leggett
008d76cc3f mpm: Generalise the ap_mpm_register_socket functions to accept pipes or sockets.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1735174 13f79535-47bb-0310-9956-ffa450edef68
2016-03-15 22:52:51 +00:00
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
Christophe Jaillet
c3a7812f63 Fix a small doxygen issue
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1734716 13f79535-47bb-0310-9956-ffa450edef68
2016-03-12 16:51:56 +00:00
Graham Leggett
64eaf888e9 core: Extend support for setting aside data from the network input filter
to any connection or request input filter.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1734656 13f79535-47bb-0310-9956-ffa450edef68
2016-03-12 00:43:58 +00:00
Stefan Eissing
ded480d219 added AP_DECLARE for new ap_create_request
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1734231 13f79535-47bb-0310-9956-ffa450edef68
2016-03-09 12:39:04 +00:00
Graham Leggett
56a1aecacc core: Split ap_create_request() from ap_read_request()
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1734009 13f79535-47bb-0310-9956-ffa450edef68
2016-03-07 23:55:08 +00:00
Joe Orton
b6a4217bad * include/http_protocol.h: Tweak wording.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1732521 13f79535-47bb-0310-9956-ffa450edef68
2016-02-26 17:02:38 +00:00
Graham Leggett
84051c1c9f mpm: Add a complete_connection hook that confirms whether an MPM is allowed
to leave the WRITE_COMPLETION phase. Move filter code out of the MPMs.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1731253 13f79535-47bb-0310-9956-ffa450edef68
2016-02-19 15:00:05 +00:00
Jim Jagielski
256e5cbdad Add 451... Needed to adjust RESPONSE_CODES which
was not in the provided patch
BUGZ# 58985

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1730723 13f79535-47bb-0310-9956-ffa450edef68
2016-02-16 17:33:31 +00:00
William A. Rowe Jr
6b699156cd Correct doxygen groupname
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1730128 13f79535-47bb-0310-9956-ffa450edef68
2016-02-12 22:06:01 +00:00
Stefan Eissing
1f81e26e65 update description of mmn bum 20150222.10 to include pre_close connection additions
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1729960 13f79535-47bb-0310-9956-ffa450edef68
2016-02-12 09:10:46 +00:00
William A. Rowe Jr
9d9b20f5a9 Introduce an ap_get_useragent_host() accessor to replace the old
ap_get_remote_host() in most applications, but preserve the original
behavior for all ap_get_remote_host() consumers (mostly, because we
don't have the request_rec in the first place, and also to avoid any
unintended consequences).

This accessor continues to store the remote_host of connection based
uesr agents within the conn_rec for optimization.  Only where some
other module modifies the useragent_addr will we perform a per-request
query of the remote_host.

(Fixed compilation issues noted by Ranier, applies to 2.4.x trunk,
modulo CHANGES and ap_mmn.h)



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1729929 13f79535-47bb-0310-9956-ffa450edef68
2016-02-12 01:04:58 +00:00
William A. Rowe Jr
db5f097737 Unwind commit 1729901 (and 1729926), it was not ready for trunk
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1729928 13f79535-47bb-0310-9956-ffa450edef68
2016-02-12 00:46:00 +00:00
William A. Rowe Jr
1dd2be03ad Introduce an ap_get_useragent_host() accessor to replace the old
ap_get_remote_host() in most applications, but preserve the original
behavior for all ap_get_remote_host() consumers (mostly, because we
don't have the request_rec in the first place, and also to avoid any
unintended consequences).

This accessor continues to store the remote_host of connection based
uesr agents within the conn_rec for optimization.  Only where some
other module modifies the useragent_addr will we perform a per-request
query of the remote_host.

(Committed previously, but backed out due to unrelated core.c changes)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1729901 13f79535-47bb-0310-9956-ffa450edef68
2016-02-11 21:58:45 +00:00
William A. Rowe Jr
4e46f910d0 Revert r1729897, 1729898, my copy of core.c was polluted by a different patch
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1729899 13f79535-47bb-0310-9956-ffa450edef68
2016-02-11 21:52:12 +00:00
William A. Rowe Jr
6947916643 Introduce an ap_get_useragent_host() accessor to replace the old
ap_get_remote_host() in most applications, but preserve the original
behavior for all ap_get_remote_host() consumers (mostly, because we
don't have the request_rec in the first place, and also to avoid any
unintended consequences).

This accessor continues to store the remote_host of connection based
uesr agents within the conn_rec for optimization.  Only where some
other module modifies the useragent_addr will we perform a per-request
query of the remote_host.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1729897 13f79535-47bb-0310-9956-ffa450edef68
2016-02-11 21:43:32 +00:00
William A. Rowe Jr
ed1695a87a Note that this should become private to mod_ident, accessed by the accessor fn
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1729895 13f79535-47bb-0310-9956-ffa450edef68
2016-02-11 21:37:42 +00:00
Eric Covener
21c8fa96ac r1726009 was a minor bump only
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1729376 13f79535-47bb-0310-9956-ffa450edef68
2016-02-09 12:57:11 +00:00
Christophe Jaillet
1003310755 Constify the protocol field in the request_rec structure.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1728739 13f79535-47bb-0310-9956-ffa450edef68
2016-02-05 22:17:46 +00:00
Stefan Eissing
e70247afa2 new hook pre_close_connection
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1727071 13f79535-47bb-0310-9956-ffa450edef68
2016-01-27 14:51:53 +00:00
Eric Covener
38a88646a9 from feedback, assume all parameters to SetHandler are expressions.
I couldnt come up with a plausible handler name that was an 
invalid expression.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1726233 13f79535-47bb-0310-9956-ffa450edef68
2016-01-22 15:30:19 +00:00
Rainer Jung
f439615d29 Fix typo in comment (s/patterm/pattern/).
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1726086 13f79535-47bb-0310-9956-ffa450edef68
2016-01-21 20:13:58 +00:00
Stefan Eissing
7bd0b1974b mmn bump for scoreboard api changes
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1726026 13f79535-47bb-0310-9956-ffa450edef68
2016-01-21 17:18:19 +00:00
Stefan Eissing
909aa9a87b scoreboard addition of protocol, new ap_udpte_child_status methods
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1726009 13f79535-47bb-0310-9956-ffa450edef68
2016-01-21 16:36:33 +00:00
Eric Covener
bda008ac8d missed in r1725149
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725151 13f79535-47bb-0310-9956-ffa450edef68
2016-01-17 23:42:21 +00:00
Eric Covener
e89938830a allow expressions to be used in SetHandler. Opt-in with expr= prefix.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725149 13f79535-47bb-0310-9956-ffa450edef68
2016-01-17 23:40:09 +00:00
Rainer Jung
a35dbc4e61 Happy New Year 2016
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1722572 13f79535-47bb-0310-9956-ffa450edef68
2016-01-01 20:51:54 +00:00
Jim Jagielski
f970bc8d99 New support function: ap_getword_conf2[_nc] which acts
just like ap_getword_conf[_nc] but allows for {} to be
used as word quotes. That is:

   {Hello World} Foo Bar
   "Hello World" Foo Bar

are equiv.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1722321 13f79535-47bb-0310-9956-ffa450edef68
2015-12-30 12:03:01 +00:00
Jim Jagielski
7bb1b911a1 revert... hold off for now.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1722245 13f79535-47bb-0310-9956-ffa450edef68
2015-12-29 22:54:23 +00:00
Jim Jagielski
d8838f491b Ok... allow for getting "words" by also allowing the
use of curlies... That is:

   "Hello World" Foo Bar

and

   {Hello World} Foo Bar

will both return the same if using ap_getword_conf2()

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1722243 13f79535-47bb-0310-9956-ffa450edef68
2015-12-29 22:40:21 +00:00
Christophe Jaillet
6bbb79daaa Use 'unsigned int' instead of 'int' for bitfields
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1721139 13f79535-47bb-0310-9956-ffa450edef68
2015-12-21 12:17:32 +00:00
Jim Jagielski
15d829531e we just worry about "equality" with this implementation...
So it's not a "real" strcasecmp replacement.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1715859 13f79535-47bb-0310-9956-ffa450edef68
2015-11-23 15:58:25 +00:00
Jim Jagielski
d7a70d5a04 MMN update and func name change
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1715852 13f79535-47bb-0310-9956-ffa450edef68
2015-11-23 15:39:42 +00:00
Yann Ylavic
7ebe2d558b Before they are used, rename ap_str[n]casecmp() to ap_casecmpstr[n]() to match
what will probably be their APR names, avoiding any confusion wrt <strings.h>'s
functions (semantic).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1715736 13f79535-47bb-0310-9956-ffa450edef68
2015-11-23 08:36:35 +00:00
William A. Rowe Jr
8f88c9d3f1 Not strictly ASCII only, but only ASCII char case is folded
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1715546 13f79535-47bb-0310-9956-ffa450edef68
2015-11-21 17:42:57 +00:00
Jim Jagielski
1021a6c104 further info re impl
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1715527 13f79535-47bb-0310-9956-ffa450edef68
2015-11-21 13:59:43 +00:00
Jim Jagielski
897b8d4fab make bill happy (if possible!)
Note that these are ascii specific.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1715404 13f79535-47bb-0310-9956-ffa450edef68
2015-11-20 18:57:36 +00:00
Jim Jagielski
113a01b8f8 Provide our own impl of str[n]casecmp()
This simply provides it. Next step is to change all uses of
str[n]casecmp to ap_str[n]casecmp and *then* remove those silly
logic paths where we check the 1st char of a string before
we do the strcasecmp (since this is no longer expensive).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1715401 13f79535-47bb-0310-9956-ffa450edef68
2015-11-20 18:49:38 +00:00
Stefan Eissing
5b5c48e657 first request on master connection only reports more preferred protocols in Upgrade header
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1710583 13f79535-47bb-0310-9956-ffa450edef68
2015-10-26 12:15:43 +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
Stefan Eissing
87b2c32276 announce protocol choices on first request
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1710231 13f79535-47bb-0310-9956-ffa450edef68
2015-10-23 15:14:50 +00:00
Yann Ylavic
f9b56afc0e core: Limit to ten the number of tolerated empty lines between request,
and consume them before the pipelining check to avoid possible response
delay when reading the next request without flushing.

Before this commit, the maximum number of empty lines was the same as
configured LimitRequestFields, defaulting to 100, which was way too much.
We now use a fixed/hard limit of 10 (DEFAULT_LIMIT_BLANK_LINES).

check_pipeline() is changed to check for (up to the limit) and comsume the
trailing [CR]LFs so that they won't be interpreted as pipelined requests,
otherwise we would block on the next read without flushing data, and hence
possibly delay pending response(s) until the next/real request comes in or
the keepalive timeout expires.
 
Finally, when the maximum number of empty line is reached in
read_request_line(), or that request line does not contains at least a method
and an (valid) URI, we can fail early and avoid some failure detected in
further processing.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1710095 13f79535-47bb-0310-9956-ffa450edef68
2015-10-22 20:26:12 +00:00
Stefan Eissing
18e2dd1225 new ap_is_allowed_protocol() for testing configured protocols, added H2Upgrade on/off directive, changed H2Direct default back to on when h2c is in Protocols
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1709587 13f79535-47bb-0310-9956-ffa450edef68
2015-10-20 13:42:23 +00:00
Graham Leggett
2da6c9a57a Add the AsyncFilter directive that allows the asynchronous filter
functionality to be switched off for certain classes of filters.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1707161 13f79535-47bb-0310-9956-ffa450edef68
2015-10-06 22:33:03 +00:00
Eric Covener
e6e113cc6f fix parameter name in ap_log_rdata C99 macro def.
Via  PR57045



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1706942 13f79535-47bb-0310-9956-ffa450edef68
2015-10-06 01:37:54 +00:00
Graham Leggett
615f97f933 core: Extend support for asynchronous write completion from the
network filter to any connection or request filter.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1706669 13f79535-47bb-0310-9956-ffa450edef68
2015-10-04 10:10:51 +00:00
Jeff Trawick
69deb80190 Follow-up to r1702948:
APR_HAVE_foo is checked via #if, not #ifdef (since it should always be
defined, to either 0 or 1)

This fixes a compile error on Windows introduced by r1702948
as well as straightens up two long-time glitches.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1706595 13f79535-47bb-0310-9956-ffa450edef68
2015-10-03 14:55:43 +00:00
Christophe Jaillet
844e85ad0d Synch 2.4.x and trunk.
Remove part of a comment that is not really useful. The type of the variables in the code (i.e. "worker_score *dest" and "worker_score *ws") is already explicit.

This part of the comment was not backported in r1610499.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1705969 13f79535-47bb-0310-9956-ffa450edef68
2015-09-30 06:23:16 +00:00