[quicwg/base-drafts] MAX_PUSH_ID: lower-than-previous value conn error seems to severe (#2412)

Lucas Pardue <notifications@github.com> Mon, 04 February 2019 21:55 UTC

Return-Path: <noreply@github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost []) by ietfa.amsl.com (Postfix) with ESMTP id 84DD2128CE4 for <quic-issues@ietfa.amsl.com>; Mon, 4 Feb 2019 13:55:04 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -11.149
X-Spam-Status: No, score=-11.149 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-4.553, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_IMAGE_ONLY_28=1.404, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=github.com
Received: from mail.ietf.org ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id QbQ3FvZrO8H7 for <quic-issues@ietfa.amsl.com>; Mon, 4 Feb 2019 13:55:03 -0800 (PST)
Received: from out-5.smtp.github.com (out-5.smtp.github.com []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C5AE3126DBF for <quic-issues@ietf.org>; Mon, 4 Feb 2019 13:55:02 -0800 (PST)
Date: Mon, 04 Feb 2019 13:55:01 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1549317301; bh=L6ClFdCVFs62PWq6dcldz5vEGNqFL8U06+7i4QQq7ek=; h=Date:From:Reply-To:To:Cc:Subject:List-ID:List-Archive:List-Post: List-Unsubscribe:From; b=qxZ5u9sYf+BIIWZNrNcgaqb1nQorFTSOki2UnCkN/axymIuWEZr8MBgFHb1WAV4hp v5wHZYpyHeMES63BaoDxkfgjwcbeJ5Vq8oIaWb0+GSb8V9TdVQn6V7yjGxHx0msasM 7awWRMnPVUzupgNzy6CUmUYG0AyioexOLmWIjmSo=
From: Lucas Pardue <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab5efe41c16155db976470ad8bd4de99d341627be492cf00000001187076b592a169ce183b427c@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/2412@github.com>
Subject: [quicwg/base-drafts] MAX_PUSH_ID: lower-than-previous value conn error seems to severe (#2412)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5c58b4b5c4d9e_3d653fbeab0d45b889437"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: LPardue
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/VUhfoKnFCw2LBiqB-z_LY2B9td4>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <quic-issues.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic-issues/>
List-Post: <mailto:quic-issues@ietf.org>
List-Help: <mailto:quic-issues-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 04 Feb 2019 21:55:05 -0000

The 18 spec says:

> A MAX_PUSH_ID frame cannot reduce the maximum Push ID; receipt of a MAX_PUSH_ID that contains a smaller value than previously received MUST be treated as a connection error of type HTTP_MALFORMED_FRAME.

This feels like another case of an error that isn't strictly a frame error. Its the data inside that is semantically wrong. The connection error severity also seems pretty extreme, and I question if its really needed. I think the appropriate fix is to borrow logic from the Transport's similar MAX_STREAMS frame:

> Loss or reordering can cause a MAX_STREAMS frame to be received which
   states a lower stream limit than an endpoint has previously received.
   MAX_STREAMS frames which do not increase the stream limit MUST be

The proposal therefore is to say that MAX_PUSH_ID can only increase the value, anything else gets ignored.

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub: