summaryrefslogtreecommitdiffstats
path: root/CHANGES
diff options
context:
space:
mode:
authorStefan Fritsch <sf@apache.org>2012-12-30 02:23:24 +0100
committerStefan Fritsch <sf@apache.org>2012-12-30 02:23:24 +0100
commitf726113d3346126b972776296131d5b1026ce807 (patch)
treeeffc57d94dacd2656af76361d2f30749e076adc1 /CHANGES
parentFix warning about discarding 'const' qualifier from pointer (diff)
downloadapache2-f726113d3346126b972776296131d5b1026ce807.tar.xz
apache2-f726113d3346126b972776296131d5b1026ce807.zip
Add an option to enforce stricter HTTP conformance
This is a first stab, the checks will likely have to be revised. For now, we check * if the request line contains control characters * if the request uri has fragment or username/password * that the request method is standard or registered with RegisterHttpMethod * that the request protocol is of the form HTTP/[1-9]+.[0-9]+, or missing for 0.9 * if there is garbage in the request line after the protocol * if any request header contains control characters * if any request header has an empty name * for the host name in the URL or Host header: - if an IPv4 dotted decimal address: Reject octal or hex values, require exactly four parts - if a DNS host name: Reject non-alphanumeric characters besides '.' and '-'. As a side effect, this rejects multiple Host headers. * if any response header contains control characters * if any response header has an empty name * that the Location response header (if present) has a valid scheme and is absolute If we have a host name both from the URL and the Host header, we replace the Host header with the value from the URL to enforce RFC conformance. There is a log-only mode, but the loglevels of the logged messages need some thought/work. Currently, the checks for incoming data log for 'core' and the checks for outgoing data log for 'http'. Maybe we need a way to configure the loglevels separately from the core/http loglevels. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1426877 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'CHANGES')
-rw-r--r--CHANGES3
1 files changed, 3 insertions, 0 deletions
diff --git a/CHANGES b/CHANGES
index c4aa84244f..1703ce3580 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,9 @@
-*- coding: utf-8 -*-
Changes with Apache 2.5.0
+ *) core, http: Extend HttpProtocol with an option to enforce stricter HTTP
+ conformance or to only log the found problems. [Stefan Fritsch]
+
*) core: Correctly parse an IPv6 literal host specification in an absolute
URL in the request line. [Stefan Fritsch]