]> granicus.if.org Git - apache/commitdiff
On the 2.4.x branch:
authorStefan Eissing <icing@apache.org>
Fri, 5 May 2017 13:23:48 +0000 (13:23 +0000)
committerStefan Eissing <icing@apache.org>
Fri, 5 May 2017 13:23:48 +0000 (13:23 +0000)
Merged /httpd/httpd/trunk:r1793533,1794049

mod_http2: fail requests without ERROR log in case we need to read interim
     responses and see only garbage. This can happen if proxied servers send
     data where none should be, e.g. a body for a HEAD request.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1794052 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
modules/http2/h2_from_h1.c
modules/http2/h2_version.h

diff --git a/CHANGES b/CHANGES
index ef22625990e648914bf0bfc3e28f278c7a897853..6a03c3e2cc8e44777486266d25761440fe4d3f02 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,10 @@
 
 Changes with Apache 2.4.26
 
+  *) mod_http2: fail requests without ERROR log in case we need to read interim
+     responses and see only garbage. This can happen if proxied servers send
+     data where none should be, e.g. a body for a HEAD request. [Stefan Eissing]
+     
   *) mod_proxy_http2: adding support for Reverse Proxy Request headers.
      [Stefan Eissing]
      
index a8f50987f34f130ce26a0f0039a3fbec33af4c1a..56f051ef8ce6f3d2f4dbb51344657e81a694e810 100644 (file)
@@ -449,7 +449,14 @@ static apr_status_t parse_status(h2_task *task, char *line)
         
         return APR_SUCCESS;
     }
-    ap_log_cerror(APLOG_MARK, APLOG_ERR, 0, task->c, APLOGNO(03467)
+    /* Seems like there is garbage on the connection. May be a leftover
+     * from a previous proxy request. 
+     * This should only happen if the H2_RESPONSE filter is not yet in 
+     * place (post_read_request has not been reached and the handler wants
+     * to write something. Probably just the interim response we are
+     * waiting for. But if there is other data hanging around before
+     * that, this needs to fail. */
+    ap_log_cerror(APLOG_MARK, APLOG_DEBUG, 0, task->c, APLOGNO(03467)
                   "h2_task(%s): unable to parse status line: %s", 
                   task->id, line);
     return APR_EINVAL;
index 4f85b04382794b21e457521c04f3dc0e43edeade..70608f3fa6ba008fb51b34a71081997eae4766b0 100644 (file)
@@ -26,7 +26,7 @@
  * @macro
  * Version number of the http2 module as c string
  */
-#define MOD_HTTP2_VERSION "1.10.4"
+#define MOD_HTTP2_VERSION "1.10.5"
 
 /**
  * @macro
@@ -34,7 +34,7 @@
  * release. This is a 24 bit number with 8 bits for major number, 8 bits
  * for minor and 8 bits for patch. Version 1.2.3 becomes 0x010203.
  */
-#define MOD_HTTP2_VERSION_NUM 0x010a04
+#define MOD_HTTP2_VERSION_NUM 0x010a05
 
 
 #endif /* mod_h2_h2_version_h */