Re: [quicwg/base-drafts] Specify behavior for post-handshake CRYPTO messages (#2524)

Nick Harper <> Tue, 19 March 2019 06:08 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id D2769130F1F for <>; Mon, 18 Mar 2019 23:08:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -8.001
X-Spam-Status: No, score=-8.001 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id NV5mW_uybInn for <>; Mon, 18 Mar 2019 23:08:45 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 60B511277CE for <>; Mon, 18 Mar 2019 23:08:45 -0700 (PDT)
Date: Mon, 18 Mar 2019 23:08:44 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1552975724; bh=k9L1FHHAGSM8BF2sHPn1gHF/4D7l5c3nG5Vtwimbyfg=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=Esx/k1Pd7SkjCOtTsvJglNDCZHiuVEmOLr0n1CKdTUc6MihH6ZmQt47Z+hVG0j4kF UpT8dDDIFwzNSRKjwSvHCgBCdVVZ8uCcCLKRUj0R5xNzHTxf3Nx4r7pjZ12LHIRdmz dNCLr8d28jEE75LOzsYO5n87pfMhhkfmjAYHBlJY=
From: Nick Harper <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/pull/2524/>
In-Reply-To: <quicwg/base-drafts/pull/>
References: <quicwg/base-drafts/pull/>
Subject: Re: [quicwg/base-drafts] Specify behavior for post-handshake CRYPTO messages (#2524)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5c90876c3ca36_2fb63ff5434d45b8149527"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: nharper
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
Archived-At: <>
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 19 Mar 2019 06:08:47 -0000

We discussed this in Tokyo ([minutes](, and there are basically 3 options here:

- Implement proper flow control for CRYPTO frames
- Specify a buffer size (50k is the example from the Tokyo discussion)
- Drop CRYPTO frames if an endpoint has to buffer too many

My sense of the room was that the 3rd option was the preferred option for now.

When we have TLS extensions where we care about reliable delivery of post-handshake messages, that sounds like a good time to add proper flow control. I don't like picking a fixed buffer size for the same reason as using timers for discarding keys. If we pick a buffer size now, how do we know that it will be big enough for whatever future TLS extensions might get used with QUIC (or future key exchanges)?

I don't think that this breaks a rule of acknowledging packets means that the peer has processed all frames in that packet. For example, if an endpoint receives a packet containing stream data that is a retransmission of previously received data, that endpoint in effect is dropping that STREAM frame. Here, the CRYPTO frame is being processed (and the endpoint is immediately choosing to do nothing based on it).

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