1
0
mirror of https://github.com/apache/httpd.git synced 2026-10-23 22:49:01 +03:00
Commit Graph

1882 Commits

Author SHA1 Message Date
Christophe Jaillet
e0f539c438 Move definition of ASCII_ZERO to httpd.h and rename it ZERO_ASCII for consistancy reason.
Remove definition of ASCII_CRLF which is the same as CRLF_ASCII.

Use ZERO_ASCII and CRLF_ASCII in mod_proxy_http

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1777611 13f79535-47bb-0310-9956-ffa450edef68
2017-01-06 13:58:03 +00:00
Rainer Jung
ca435ae977 Happy New Year 2017
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1776956 13f79535-47bb-0310-9956-ffa450edef68
2017-01-02 16:06:53 +00:00
Stefan Fritsch
7d6d92947b ap_reclaim_child_processes(): Implement terminate immediately
The behavior for terminate == 1 was documented but not implemented. Do
that now.




git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1770750 13f79535-47bb-0310-9956-ffa450edef68
2016-11-21 20:32:40 +00:00
Yann Ylavic
ef6e478b78 http: Allow unknown response status' lines returned in the form of:
HTTP/x.x xxx Status xxx



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1769760 13f79535-47bb-0310-9956-ffa450edef68
2016-11-15 09:06:55 +00:00
William A. Rowe Jr
138746eb14 When redrawing the parser, ap_get_http_token looked to be useful, but there's
no application for this yet in httpd, so hold off adding this function when
we backport the enhancements. ap_scan_http_token was entirely sufficient.
If the community wants this new function, we can add it when backporting
work is complete.

This patch, and the earlier patches Friday actually demanded an mmn major
bump due to struct member changes. In any final backport, new members must
be added to the end of the struct to retain an mmn minor designation.




git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1765451 13f79535-47bb-0310-9956-ffa450edef68
2016-10-18 14:56:07 +00:00
Yann Ylavic
56b999ff53 Follow up to r1765115: MMN minor is now 3.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1765126 13f79535-47bb-0310-9956-ffa450edef68
2016-10-16 09:06:58 +00:00
William A. Rowe Jr
411dd32a0d Complete r1764961, missed .h updates
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1765115 13f79535-47bb-0310-9956-ffa450edef68
2016-10-16 02:09:45 +00:00
Rainer Jung
ed301edc41 Followup to r1764961:
Remove declaration for dropped ap_has_cntrl().


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1765114 13f79535-47bb-0310-9956-ffa450edef68
2016-10-15 23:21:10 +00:00
Rainer Jung
22ee7dde70 Fix new declaration.
Sorry for the noise.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1765113 13f79535-47bb-0310-9956-ffa450edef68
2016-10-15 23:14:04 +00:00
Rainer Jung
57817b058a Followup to r1764961:
- ap_scan_http_uri_safe() was removed
- ap_scan_vchar_obstext() was introduced


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1765112 13f79535-47bb-0310-9956-ffa450edef68
2016-10-15 23:07:52 +00:00
Jacob Champion
747e4a2f89 util_script.h: clarify ap_scan_script_header_* behavior
The ap_scan_script_header_* functions were documented to be pass/fail,
but they also have a third "state" that is returned when HTTP conditions
(If-Modified-Since, etc.) aren't met. This has led to some recent bugs,
so document it.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1760404 13f79535-47bb-0310-9956-ffa450edef68
2016-09-12 16:35:24 +00:00
Yann Ylavic
8b562b9331 http_config: follow up to r1702948: maybe unused, yet maybe usefull too.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1759415 13f79535-47bb-0310-9956-ffa450edef68
2016-09-06 12:07:39 +00:00
William A. Rowe Jr
28163941ef New optional flag to enforce <CR><LF> line delimiters in ap_[r]getline,
created by overloading 'int fold' (1 or 0) as 'int flags', with the same
value 1 for AP_GETLINE_FOLD (which httpd doesn't use), and a new value
2 for AP_GETLINE_CRLF

Enforce CRLF when HttpProtocolOptions Strict is in force.

Correctly introduces a new t/TEST fail.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1758304 13f79535-47bb-0310-9956-ffa450edef68
2016-08-29 22:17:07 +00:00
William A. Rowe Jr
098e08994b Dropped a public structure elt, bump major
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1758227 13f79535-47bb-0310-9956-ffa450edef68
2016-08-29 13:48:47 +00:00
William A. Rowe Jr
f54c03b7ee Folding StrictWhitespace into the Strict ruleset of RFC7230, per dev@ poll.
This choice is unanimous, although StrictURI (a different RFC) still hasn't
found absolute concensus.

An ap_mmn bump will follow (major, this removes a struct elt)



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1758226 13f79535-47bb-0310-9956-ffa450edef68
2016-08-29 13:47:27 +00:00
William A. Rowe Jr
6cae6f2487 Rename LenientWhitespace to UnsafeWhitespace and change StrictWhitespace
to the default behavior, after discussion with fielding et al about the
purpose of section 3.5. Update the documentation to clarify this.

This patch removes whitespace considerations from the Strict|Unsafe toggle
and consolidates them all in the StrictWhitespace|UnsafeWhitespace toggle.

Added a bunch of logic comments to read_request_line parsing.

Dropped the badwhitespace list for an all-or-nothing toggle in rrl.

Leading space before the method is optimized to be evaluated only once.

Toggled the request from HTTP/0.9 to HTTP/1.0 for more BAD_REQUEST cases.

Moved s/[\n\v\f\r]/ / cleanup logic earlier in the cycle, to operate on
each individual line read, and catch bad whitespace errors earlier.
This changes the obs-fold to more efficiently condense whitespace and
forces concatinatination with a single SP, always. Overrides are not
necessary since obs-fold is clearly deprecated.






git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1757589 13f79535-47bb-0310-9956-ffa450edef68
2016-08-25 01:46:20 +00:00
Stefan Fritsch
7903412fe1 ap_reclaim_child_processes() ignores its first argument
note this in the docs, add comment


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1757061 13f79535-47bb-0310-9956-ffa450edef68
2016-08-21 14:09:00 +00:00
William A. Rowe Jr
b9a6a0ee7b Introduce StrictURI|UnsafeURI for RFC3986 enforcement
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1756959 13f79535-47bb-0310-9956-ffa450edef68
2016-08-19 19:48:58 +00:00
William A. Rowe Jr
8d77efe21e Perform correct, strict parsing of the request line, handling the
http protocol tag, url and method appropriately, and attempting 
to extract values even in the presence of unusual whitespace in
keeping with section 3.5, prior to responding with whatever
error reply is needed. Conforms to RFC7230 in all respects,
the section 3.5 optional behavior can be disabled by the user
with a new HttpProtocolOptions StrictWhitespace flag. In all
cases, the_request is regenerated from the parsed components
with exactly two space characters.

Shift sf's 'strict' method check from the Strict behavior because
it violates forward proxy logic, adding a new RegisteredMethods
flag, as it will certainly be useful to some.




git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1756729 13f79535-47bb-0310-9956-ffa450edef68
2016-08-18 07:15:06 +00:00
William A. Rowe Jr
35f12766bc Correct AP_HTTP_CONFORMANCE_ flags with an ap_mmn.h bump
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1756555 13f79535-47bb-0310-9956-ffa450edef68
2016-08-16 22:29:39 +00:00
Yann Ylavic
753c3ecea7 Follow up to r1750392: r1756186 should have also bumped MMN minor for
s/ap_proxy_check_backend/ap_proxy_check_connection/, and r1756328 really bump the MMN :p

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1756329 13f79535-47bb-0310-9956-ffa450edef68
2016-08-14 20:42:16 +00:00
Yann Ylavic
667613271b Follow up to r1750392: r1756186 should have also bumped MMN minor for
s/ap_proxy_check_backend/ap_proxy_check_connection/.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1756328 13f79535-47bb-0310-9956-ffa450edef68
2016-08-14 20:40:38 +00:00
Yann Ylavic
1bda0469cf [mod_proxy_]http: follow up to r1750392.
Export [ap_]check_pipeline() and use it also for ap_proxy_check_connection(),
so that all the necessary checks on the connection are done before reusing it.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1756186 13f79535-47bb-0310-9956-ffa450edef68
2016-08-12 13:58:10 +00:00
Yann Ylavic
104ef73c95 Revert r1756064 and r1756060 until fixed (tests framework passes).
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1756065 13f79535-47bb-0310-9956-ffa450edef68
2016-08-11 23:37:45 +00:00
Yann Ylavic
2023d56eea [mod_proxy_]http: follow up to r1750392.
Export [ap_]check_pipeline() and use it also for ap_proxy_check_connection().

[Reverted by r1756065]


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1756060 13f79535-47bb-0310-9956-ffa450edef68
2016-08-11 22:32:42 +00:00
Rainer Jung
d79b514c4b Fix spelling in comments and text files.
No functional change.
PR 59990


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1756038 13f79535-47bb-0310-9956-ffa450edef68
2016-08-11 19:50:02 +00:00
Jim Jagielski
9e2ee0d01c We didn't change the MODULE_MAGIC_NUMBER_MAJOR
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1755325 13f79535-47bb-0310-9956-ffa450edef68
2016-08-05 13:55:34 +00:00
William A. Rowe Jr
b167818f7d Introduce ap_scan_http_field_content, ap_scan_http_token
and ap_get_http_token for more efficient string handling.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1754541 13f79535-47bb-0310-9956-ffa450edef68
2016-07-29 15:56:54 +00:00
William A. Rowe Jr
ea506b6708 A whole lotta nope, if you implement HTCPCP then register your methods in init
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1753263 13f79535-47bb-0310-9956-ffa450edef68
2016-07-18 16:20:27 +00:00
Yann Ylavic
d4aa6476b2 mod_proxy_{http,ajp,fcgi}}: don't reuse backend connections with data available
before the request is sent.  PR 57832.

ap_proxy_check_backend() can be used before ap_proxy_connect_backend() to try
to read available data (including from the filters), and is called by
ap_proxy_connect_backend() to check the socket state only (as before, still
relevant after ap_proxy_check_backend() due to filter data which may not have
triggered a real socket operation).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1750392 13f79535-47bb-0310-9956-ffa450edef68
2016-06-27 17:26:12 +00:00
Yann Ylavic
4ddbed1baf mod_proxy: revert r1750301, r1750305 and r1750311.
Rework needed.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1750376 13f79535-47bb-0310-9956-ffa450edef68
2016-06-27 16:06:42 +00:00
Yann Ylavic
d353c8bfed mod_proxy: follow up to r1750301.
s/is_socket_connected/get_socket_connected/ in the !USE_ALTERNATE_IS_CONNECTED
case, and add CHANGE + MMN entries.

[Reverted by r1750376]


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1750305 13f79535-47bb-0310-9956-ffa450edef68
2016-06-27 08:08:26 +00:00
Graham Leggett
75b1758444 Allow other modules to become providers and add ACLs
to the DAV response. Requires apr-util v1.6+.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1748322 13f79535-47bb-0310-9956-ffa450edef68
2016-06-13 22:33:35 +00:00
Graham Leggett
9d10b5661a mod_dav: Add dav_begin_multistatus, dav_send_one_response,
dav_finish_multistatus, dav_send_multistatus, dav_handle_err, 
dav_failed_proppatch, dav_success_proppatch to mod_dav.h.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1748047 13f79535-47bb-0310-9956-ffa450edef68
2016-06-12 20:23:21 +00:00
Graham Leggett
5405da141a mod_dav: Add dav_get_provider_name() function to obtain the name
of the provider from mod_dav.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1747946 13f79535-47bb-0310-9956-ffa450edef68
2016-06-12 00:58:09 +00:00
William A. Rowe Jr
b277880661 A much more innocuous cut-and-paste flaw
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1747484 13f79535-47bb-0310-9956-ffa450edef68
2016-06-09 02:42:23 +00:00
William A. Rowe Jr
3844c66c2c Rename ap_casecmpstr[n]() to ap_cstr_casecmp[n](), update with APR doxygen
This time, with merge-ability back into 2.4.x


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1747478 13f79535-47bb-0310-9956-ffa450edef68
2016-06-09 01:05:45 +00:00
William A. Rowe Jr
8b48a3686b Major issue with these two specific edits falling into r1747469
is that it becomes impossible to cleanly merge into branches/2.4.x.

Reverting this one functional/historical edit, to recommit for merging.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1747477 13f79535-47bb-0310-9956-ffa450edef68
2016-06-09 01:04:47 +00:00
William A. Rowe Jr
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
Graham Leggett
b40a421606 mod_dav: Add support for childtags to dav_error.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1746207 13f79535-47bb-0310-9956-ffa450edef68
2016-05-30 22:38:23 +00:00
Christophe Jaillet
36552743a7 Off by one "make dox" warning
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1746206 13f79535-47bb-0310-9956-ffa450edef68
2016-05-30 21:08:56 +00:00
Christophe Jaillet
294165b5a7 Fix some doxygen warning.
Make the use of 'pfds' and 'pds' consistent

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1746189 13f79535-47bb-0310-9956-ffa450edef68
2016-05-30 20:19:41 +00:00
Christophe Jaillet
f069dabada Off by one "make dox" warning
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1746171 13f79535-47bb-0310-9956-ffa450edef68
2016-05-30 19:24:34 +00:00
Yann Ylavic
b2b160f243 Follow up to r1740928: update docs (contexts) and minor MMN.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1740967 13f79535-47bb-0310-9956-ffa450edef68
2016-04-26 08:55:57 +00:00
Yann Ylavic
f9ad2754f7 mod_proxy, mod_ssl: Handle SSLProxy* directives in <Proxy> sections,
allowing per backend TLS configuration.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1740928 13f79535-47bb-0310-9956-ffa450edef68
2016-04-26 00:04:57 +00:00
Yann Ylavic
ca61148220 Follow up to r1736217: really bump MMN minor.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1736428 13f79535-47bb-0310-9956-ffa450edef68
2016-03-24 11:36:15 +00:00
Yann Ylavic
958ef399d6 core: Add missing AP_IMPLEMENT_OPTIONAL_HOOK_RUN_FIRST.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1736217 13f79535-47bb-0310-9956-ffa450edef68
2016-03-22 17:38:20 +00:00
Yann Ylavic
239ac0c076 Follow up to r1734656: restore c->data_in_input_filters usage to
see if it helps unblocking test framework.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1736216 13f79535-47bb-0310-9956-ffa450edef68
2016-03-22 17:08:29 +00:00
Jeff Trawick
6efeeac187 Mention cgi_var_rules, fix expr_handler typos
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1735952 13f79535-47bb-0310-9956-ffa450edef68
2016-03-21 12:09:27 +00:00
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