Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 35FCE200C6C for ; Fri, 5 May 2017 15:03:44 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 34843160BAF; Fri, 5 May 2017 13:03:44 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 7839F160B97 for ; Fri, 5 May 2017 15:03:43 +0200 (CEST) Received: (qmail 13909 invoked by uid 500); 5 May 2017 13:03:42 -0000 Mailing-List: contact cvs-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list cvs@httpd.apache.org Received: (qmail 13900 invoked by uid 99); 5 May 2017 13:03:42 -0000 Received: from Unknown (HELO svn01-us-west.apache.org) (209.188.14.144) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 05 May 2017 13:03:42 +0000 Received: from svn01-us-west.apache.org (localhost [127.0.0.1]) by svn01-us-west.apache.org (ASF Mail Server at svn01-us-west.apache.org) with ESMTP id 1EFA23A08FD for ; Fri, 5 May 2017 13:03:42 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1794049 - in /httpd/httpd/trunk: CHANGES modules/http2/h2_from_h1.c Date: Fri, 05 May 2017 13:03:42 -0000 To: cvs@httpd.apache.org From: icing@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20170505130342.1EFA23A08FD@svn01-us-west.apache.org> archived-at: Fri, 05 May 2017 13:03:44 -0000 Author: icing Date: Fri May 5 13:03:41 2017 New Revision: 1794049 URL: http://svn.apache.org/viewvc?rev=1794049&view=rev Log: On the trunk: 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. Modified: httpd/httpd/trunk/CHANGES httpd/httpd/trunk/modules/http2/h2_from_h1.c Modified: httpd/httpd/trunk/CHANGES URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/CHANGES?rev=1794049&r1=1794048&r2=1794049&view=diff ============================================================================== --- httpd/httpd/trunk/CHANGES [utf-8] (original) +++ httpd/httpd/trunk/CHANGES [utf-8] Fri May 5 13:03:41 2017 @@ -1,6 +1,10 @@ -*- coding: utf-8 -*- Changes with Apache 2.5.0 + *) 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] + *) Evaluate nested If/ElseIf/Else configuration blocks. [Luca Toscano, Jacob Champion] Modified: httpd/httpd/trunk/modules/http2/h2_from_h1.c URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/http2/h2_from_h1.c?rev=1794049&r1=1794048&r2=1794049&view=diff ============================================================================== --- httpd/httpd/trunk/modules/http2/h2_from_h1.c (original) +++ httpd/httpd/trunk/modules/http2/h2_from_h1.c Fri May 5 13:03:41 2017 @@ -449,7 +449,14 @@ static apr_status_t parse_status(h2_task 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;