From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS3215 2.6.0.0/16 X-Spam-Status: No, score=-4.0 required=3.0 tests=AWL,BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-oo1-xc3e.google.com (mail-oo1-xc3e.google.com [IPv6:2607:f8b0:4864:20::c3e]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 4506F1F54E for ; Thu, 1 Sep 2022 21:45:42 +0000 (UTC) Authentication-Results: dcvr.yhbt.net; dkim=pass (2048-bit key; unprotected) header.d=googlegroups.com header.i=@googlegroups.com header.b="E0f/9K5P"; dkim-atps=neutral Received: by mail-oo1-xc3e.google.com with SMTP id h12-20020a4ad28c000000b00448bee68970sf224469oos.10 for ; Thu, 01 Sep 2022 14:45:42 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1662068741; cv=pass; d=google.com; s=arc-20160816; b=z7h3aUEOJfVFbf72yddYTACOurWDG5cnnLdq0ucFlyQhD0yy0bVOBwKkSWqRmxlyBu 0czcd0UjtJpg64+Pl3KVxSniAhxWl35laEEhu5rj7jlFijaSe0fLgB1bi3dptzDNzqVx fpgpubD5G+FtGyzYEkmaCZ2LKyPlf1Ych3Shm3i3yGTCg0vJdcTW7onG71CiKEgxNSyB Mz/u4+J5/4fEQ6A2Mx6qGxSDerCJOgwp9eFUwS9RxId1cNY6uA3POcPjlMv/CdD2RX8O tO6o1Z+LTt/cFo5qPb3pA6FoChK53jioiD26iIG9WGRDZ2gjkk03jKOvGAMFhBE3ayLg kgxQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:mime-version:references :in-reply-to:message-id:date:subject:to:from:sender:dkim-signature; bh=i1PZWof6FvKlY+QfQcqSCUJyR7irMqNoFHMH9VprnWw=; b=MuxlxPutaO/JPSTNjkDlgMilyZnwv+onIvRszY8DzJd95sTEFlBTJZxehYC8Zb/FWF YSsbzQA1i0PCfcHhGhpLq6GfYOW8sRbKWMSyfZLgBumcN9lPS8EL3Y4D0g9yQoitahzI 7/kpmSjgpJnRedMZk8swJm2bXqn8Hrq4sdR+bmu5L5M5xsv5b+A3mIDUj0SyOBLXA9W2 CkMQh4xOs2KSTBeBJz7dKF6EUrf7iNlkeacLiU75O4oN6jaOJrxIOkQcQ87FuoRwong0 ZXVe4g2xyrm/kxfUlLkjPdFmc3oMVCKlSTRCxRDKUfOfiaOkWFskqhO8u/H+cHs+1PI7 iVvQ== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@80x24.org header.s=selector1 header.b=y4GPIeiP; spf=pass (google.com: domain of e@80x24.org designates 173.255.242.215 as permitted sender) smtp.mailfrom=e@80x24.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=80x24.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20210112; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:to:from:sender:from :to:cc:subject:date; bh=i1PZWof6FvKlY+QfQcqSCUJyR7irMqNoFHMH9VprnWw=; b=E0f/9K5PH+zCWU/raQeNe9O2FHBtJ6LX/1U7hKojIicuAf9QhQlpoqnTdProOTBd3k i/eBkcwUfQjvrDYQWDm5XBcdGNsN9u1gi+GlM9MT61c2JF/CdnFJ62WbsmaYgwY/nEuF 2ZyxgDO8vYkN6qrJW7H1YbYD9zySmAHmJuCFveFjYofIsLbiNkVTbjVEkjE0BfC2KrQm ZNDR+8nHYl7gUxlF0MRXX7oK5XGMjzfu26PsK9J+WmAJTjw9RLkmM6QeZpBDcysq4v6y ay4m5SRjMQaSYRfY5Kput9xy+/6SvFJbdkkeIDB+6F0c4GzIN0GNBU7/AeGABxGxyTbQ Kl6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:to:from :x-gm-message-state:sender:from:to:cc:subject:date; bh=i1PZWof6FvKlY+QfQcqSCUJyR7irMqNoFHMH9VprnWw=; b=cUuin+3LXWJKBvW24wfsyx3c+B8ehlmaT9mHPtSHj7Ju+AqqW316XNOHqsgrSRmznZ AA/LxizEGKwAJsz0wcfaSjzCFJER1dYf5CUdzN0tQXCqG42+Z6yLZ7sIhkv5vzq3gQJD nNhFRsbx1SCgca6qeboIrDuQvAuWiWcrC42asGDDfQSZoCqgKa4tfraP+YZ8Qgea1W/m UFy9bm8tKpf5OsKKy3dD8da8KgCtfxst8ChSSi5ZBqxNATB84sUC5kDBi7HXBNM7KN76 UvN7oAA3wOqhGbG0gvFOJgtmmy9fWcH+jLega3lZGJgjCL7BlQUL6r9Llztm3tQHUbbl buhw== Sender: rack-devel@googlegroups.com X-Gm-Message-State: ACgBeo2F7f4jjuqCxss1fksHaJHglXawRLHVNixqffZR15NFa/X/dLib YSFfXrTno24saWun9kTvODY= X-Google-Smtp-Source: AA6agR7AG3iwZBSg0Fu2X9st8BkM3RtpgW0tWWb3MeVPcKEVlIjqOLk42yLlxjXy09/WhkwP82y2JA== X-Received: by 2002:a05:6870:b520:b0:11d:5228:d87c with SMTP id v32-20020a056870b52000b0011d5228d87cmr645032oap.13.1662068741475; Thu, 01 Sep 2022 14:45:41 -0700 (PDT) X-BeenThere: rack-devel@googlegroups.com Received: by 2002:a05:6870:7d13:b0:11e:4261:68e3 with SMTP id os19-20020a0568707d1300b0011e426168e3ls1304184oab.6.-pod-prod-gmail; Thu, 01 Sep 2022 14:45:40 -0700 (PDT) X-Received: by 2002:a05:6870:2111:b0:122:5572:964d with SMTP id f17-20020a056870211100b001225572964dmr645881oae.1.1662068740650; Thu, 01 Sep 2022 14:45:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1662068740; cv=none; d=google.com; s=arc-20160816; b=woqJIML0KvtqavBit1B776Pwtrz4+DwbhyEBegzJvdjz1bbWSrIediulG7I7Pi8PO7 prpqIVomSCH906Hej0PXdR7elu3cHC8z3HMvIQOgBOQRt9CqefQoxuO+xlUh1Flx7rYz dk/yVt2LiuYBewYFRe2DyNsXDWMABBLyQgtjQMxvzvtpxuRQrAe8RWgcrYqnrsMnRMUa 70yiv7xSCiId+7/OSRA8BpXZSbctnX1tD+X9Q+8D2AjvbejXaTQmxRRtt2oKMtQZ3cs/ hSA6LV/oipmj2/CaJV1JrEQWJesM+jbgrrLSi7EXWQmFsIKlWob1vkRihlCBexZWTFnA xrBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:dkim-signature; bh=GPl+AVh5L5RKwVz+UOTXamD7FLIj4YuH//hmaee7AWE=; b=uCku7eGKJvW4bEkijMSxsJsjLACkswVZvCz2ekzucIhjSZRgOKcevLy+9qyGKP5Y44 sNjHkhE21n9IbLV23oDpOkJwuAmLr12n7fFYKviy1bK1n1NeY2v38cGIu/GFr6eM31Am ON0oE3D6r6JA22InahxVxhudUvFnvKrt2OlY1LfvAZwDGC364yQsZZLkMwfHmCcCoEQd lDfsbVNfavxr7O6jYaUYwHIprAl/U4wW88IW2jRddgayP8X+iMTS+rL+KFxLBMvbxeia ni55YiHodGRr7ofukaaIPfIJ0wN1TyUkaFuNkEnphBzO35sDjQ4RymmI/1Y44wJizUUW I8ag== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@80x24.org header.s=selector1 header.b=y4GPIeiP; spf=pass (google.com: domain of e@80x24.org designates 173.255.242.215 as permitted sender) smtp.mailfrom=e@80x24.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=80x24.org Received: from dcvr.yhbt.net (dcvr.yhbt.net. [173.255.242.215]) by gmr-mx.google.com with ESMTPS id u18-20020a056870f29200b0011ca4383bd6si74597oap.4.2022.09.01.14.45.40 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Sep 2022 14:45:40 -0700 (PDT) Received-SPF: pass (google.com: domain of e@80x24.org designates 173.255.242.215 as permitted sender) client-ip=173.255.242.215; Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 20A6B1F59D for ; Thu, 1 Sep 2022 21:45:37 +0000 (UTC) From: Eric Wong To: rack-devel@googlegroups.com Subject: [PATCH 1/2] chunked: limit to HTTP/1.1 Date: Thu, 1 Sep 2022 21:45:35 +0000 Message-Id: <20220901214536.5469-2-e@80x24.org> In-Reply-To: <20220901214536.5469-1-e@80x24.org> References: <20220901214536.5469-1-e@80x24.org> MIME-Version: 1.0 X-Original-Sender: e@80x24.org X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@80x24.org header.s=selector1 header.b=y4GPIeiP; spf=pass (google.com: domain of e@80x24.org designates 173.255.242.215 as permitted sender) smtp.mailfrom=e@80x24.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=80x24.org Reply-To: rack-devel@googlegroups.com Content-Type: text/plain; charset="UTF-8" Precedence: list Mailing-list: list rack-devel@googlegroups.com; contact rack-devel+owners@googlegroups.com List-ID: X-Google-Group-Id: 486215384060 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , 895beec0622d (chunked: do not chunk on pre-HTTP/1.0 clients, 2013-11-12) was written in 2013 in anticipation of HTTP/1.2 and future versions supporting chunked encoding. As of 2022, HTTP/1.2 is yet to happen, and is unlikely given HTTP/2 and HTTP/3 both exist. So limit chunking to HTTP/1.1, since HTTP/1.x will remain in use for years to come, and there's still a few odd places using HTTP/0.9. --- lib/rack/chunked.rb | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/lib/rack/chunked.rb b/lib/rack/chunked.rb index 47fb36ac..004163d9 100644 --- a/lib/rack/chunked.rb +++ b/lib/rack/chunked.rb @@ -83,16 +83,9 @@ module Rack @app = app end - # Whether the HTTP version supports chunked encoding (HTTP 1.1 does). + # Whether the HTTP version supports chunked encoding (only HTTP 1.1 does). def chunkable_version?(ver) - case ver - # pre-HTTP/1.0 (informally "HTTP/0.9") HTTP requests did not have - # a version (nor response headers) - when 'HTTP/1.0', nil, 'HTTP/0.9' - false - else - true - end + ver == 'HTTP/1.1' # HTTP/2 doesn't, and HTTP/1.2 is unlikely end # If the rack app returns a response that should have a body, -- --- You received this message because you are subscribed to the Google Groups "Rack Development" group. To unsubscribe from this group and stop receiving emails from it, send an email to rack-devel+unsubscribe@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/rack-devel/20220901214536.5469-2-e%4080x24.org.