]> git.ipfire.org Git - thirdparty/apache/httpd.git/commit
Dropped the never-released ap_has_cntrls() as it had very limited
authorWilliam A. Rowe Jr <wrowe@apache.org>
Mon, 14 Nov 2016 18:15:07 +0000 (18:15 +0000)
committerWilliam A. Rowe Jr <wrowe@apache.org>
Mon, 14 Nov 2016 18:15:07 +0000 (18:15 +0000)
commit4214fa59ea8e71bdec90f069247df5204fee397b
tree7e8e6e6703699cd4e685331cba42dcb70773f38c
parent7552c056206a5a87f6377021a605ac7dac6c74ec
Dropped the never-released ap_has_cntrls() as it had very limited
and inefficient application at that, added ap_scan_vchar_obstext()
to accomplish a similar purpose.

Dropped HttpProtocolOptions StrictURL option, this will be better
handled in the future with a specific directive and perhaps multiple
levels of scrutiny, use ap_scan_vchar_obstext() to simply ensure there
are no control characters or whitespace within the URI.

Changed the scanning of the response header table by check_headers()
to follow the same rulesets as reading request headers. Disallow any
CTL character within a response header value, and any CTL or whitespace
in response header field name, even in strict mode.

Apply HttpProtocolOptions Strict to chunk header parsing, invalid
whitespace is invalid, line termination must follow CRLF convention.
Submitted by: wrowe
Backport: r1764961,1765112-1765115

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.
Submitted by: wrowe
Backport: r1765451

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x-merge-http-strict@1769672 13f79535-47bb-0310-9956-ffa450edef68
docs/manual/mod/core.xml
include/ap_mmn.h
include/http_core.h
include/httpd.h
modules/http/http_filters.c
server/core.c
server/gen_test_char.c
server/protocol.c
server/util.c