Re: [quicwg/base-drafts] When to send the SETTINGS frame (#2945)

Nick Harper <notifications@github.com> Thu, 22 August 2019 21:07 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 [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E322912029C for <quic-issues@ietfa.amsl.com>; Thu, 22 Aug 2019 14:07:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8
X-Spam-Level:
X-Spam-Status: No, score=-8 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_HELO_NONE=0.001, 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 ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kVcuhmJmb1Y2 for <quic-issues@ietfa.amsl.com>; Thu, 22 Aug 2019 14:07:50 -0700 (PDT)
Received: from out-24.smtp.github.com (out-24.smtp.github.com [192.30.252.207]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 70BBE12012E for <quic-issues@ietf.org>; Thu, 22 Aug 2019 14:07:50 -0700 (PDT)
Date: Thu, 22 Aug 2019 14:07:49 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1566508069; bh=nygbHdb4Q3fVxZ9AnS9AoxxN9y71eTSVqxjRo+bmHFI=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=Yb7ND0g1NFOX05kT1LSLvSCaluCjQSSJkmJqhVBs8N+QqaQacbwRA9JwD22zgaRVs F0qgYwAl0tdEu+M+aBe7hjKHPryy6yPIIpQIkequrBi4voyl/uBPZ5xdGiS8Sh5X2n eBWzWz2XJyf2MEyRy2nmiOpH1VNHpGmTH4kYOj2Q=
From: Nick Harper <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+AFTOJK473WWQB2H32XVHCON3NQ3KLEVBNHHBYVUFKY@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/2945/524078106@github.com>
In-Reply-To: <quicwg/base-drafts/issues/2945@github.com>
References: <quicwg/base-drafts/issues/2945@github.com>
Subject: Re: [quicwg/base-drafts] When to send the SETTINGS frame (#2945)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5d5f0425800e2_52d83fe00c2cd96435215d"; 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
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/ocCQQJZLORBjzSIYi6wW8SXv51s>
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: Thu, 22 Aug 2019 21:07:53 -0000

I think @janaiyengar frames this issue well, that we don't currently have an application handshake embedded in the crypto+transport handshake. #2958 is close to providing a general mechanism for an application handshake embedded in the crypto+transport handshake. The change necessary to that PR to provide all of the application handshake would be to allow specifying different application_layer_parameters for different alpns. The caveat is that the client-sent application layer params are sent in the clear, but this might not be an issue. (For example, transport params are sent in the clear by the client even though they could be delayed a round-trip to have them encrypted, and an application could make the analysis that the client-sent part of its handshake is not sensitive information that needs to be encrypted because it is similar to transport params.)

Since the application handshake mechanism in #2958 doesn't impose any restrictions on how the application uses it, we can use it in H3 only for the server->client direction. Having just half of the embedded application handshake seems better than not using it at all. In addition to the benefits for #2790, sending the server's SETTINGS in the handshake means both sides can know that it comes before any server-sent application data (and before client-sent application data on non 0-RTT connections).

Regardless of the outcome on this issue, I think #2972 to send complete SETTINGS instead of only the ones that have changed is a good idea, and we can merge that one while still figuring out what to do here.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/2945#issuecomment-524078106