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 88C7E200BB1 for ; Thu, 3 Nov 2016 18:51:52 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 87450160AFF; Thu, 3 Nov 2016 17:51:52 +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 CDDD9160AE5 for ; Thu, 3 Nov 2016 18:51:51 +0100 (CET) Received: (qmail 6638 invoked by uid 500); 3 Nov 2016 17:51:45 -0000 Mailing-List: contact dev-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 dev@httpd.apache.org Received: (qmail 6628 invoked by uid 99); 3 Nov 2016 17:51:45 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 03 Nov 2016 17:51:45 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 7202CC729F for ; Thu, 3 Nov 2016 17:51:45 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -3.1 X-Spam-Level: X-Spam-Status: No, score=-3.1 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RP_MATCHES_RCVD=-2.999, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd1-us-west.apache.org (amavisd-new); dkim=pass (1024-bit key) header.d=greenbytes.de header.b=QDLj+v8E; dkim=pass (1024-bit key) header.d=greenbytes.de header.b=QDLj+v8E Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id zpQ39jKJRhub for ; Thu, 3 Nov 2016 17:51:44 +0000 (UTC) Received: from mail.greenbytes.de (mail.greenbytes.de [5.10.171.186]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id 539285F24F for ; Thu, 3 Nov 2016 17:51:44 +0000 (UTC) Received: by mail.greenbytes.de (Postfix, from userid 117) id 63C5815A0EF5; Thu, 3 Nov 2016 18:51:34 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=greenbytes.de; s=mail; t=1478195494; bh=mSLSRz2XRQ/2tcyoQNaY889lHEaZu+kw00tf7580/xc=; h=From:Subject:Date:To:From; b=QDLj+v8EioYVFv8Qs6RwWCG8SLhNQnxWVKS+wA9QtgZ9KtmpxwV8edGKs0LeIkDAs kZZ7wfRlbqw9b4ehiemAXtR4/Tt6bxpkAP6GQuSVasm4C70yawzJabaIaSH2xckA2c K5Ex20KjOky2P4bHM1psQeqoypka2//dGIetiFvc= Received: from [192.168.178.72] (unknown [84.150.95.141]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mail.greenbytes.de (Postfix) with ESMTPSA id 2BF9B15A04A3 for ; Thu, 3 Nov 2016 18:51:34 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=greenbytes.de; s=mail; t=1478195494; bh=mSLSRz2XRQ/2tcyoQNaY889lHEaZu+kw00tf7580/xc=; h=From:Subject:Date:To:From; b=QDLj+v8EioYVFv8Qs6RwWCG8SLhNQnxWVKS+wA9QtgZ9KtmpxwV8edGKs0LeIkDAs kZZ7wfRlbqw9b4ehiemAXtR4/Tt6bxpkAP6GQuSVasm4C70yawzJabaIaSH2xckA2c K5Ex20KjOky2P4bHM1psQeqoypka2//dGIetiFvc= From: Stefan Eissing Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 10.1 \(3251\)) Subject: ap_get_status_line(int) Message-Id: <3E849005-C37E-4ED0-9E97-5B948DF2418C@greenbytes.de> Date: Thu, 3 Nov 2016 18:51:33 +0100 To: dev@httpd.apache.org X-Mailer: Apple Mail (2.3251) archived-at: Thu, 03 Nov 2016 17:51:52 -0000 Like to get your opinion:=20 ap_get_status_line(int) converts any status code it does not know into a = 500. This is fine for the use cases we had so far, although it can be = discussed if it is a good idea, too strict or whatnot. But I do not want = to go down that rathole... My question is how httpd should handle unknown codes coming from an = upstream server. Currently: - mod_proxy_http sends it on (tested for intermediate responses) - mod_proxy_http2 sends a 500 server error The reason for this is that mod_proxy_http2 generates a status line = using ap_get_status_line() while mod_proxy_http can parse that line from = the upstream response. So, we have different handling of status code acceptance in proxies = responses for HTTP/1.x and HTTP/2. This should not be. Question is, do = we need another function which returns NULL for such cases, so the = caller can decide to give up or work around it? -Stefan