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

David Benjamin <notifications@github.com> Tue, 13 August 2019 22:49 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 4586C1208F5 for <quic-issues@ietfa.amsl.com>; Tue, 13 Aug 2019 15:49:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.999
X-Spam-Level:
X-Spam-Status: No, score=-7.999 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_IMAGE_ONLY_32=0.001, 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 4o1oH4Nf-MS5 for <quic-issues@ietfa.amsl.com>; Tue, 13 Aug 2019 15:49:24 -0700 (PDT)
Received: from out-6.smtp.github.com (out-6.smtp.github.com [192.30.252.197]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0F03E1208C2 for <quic-issues@ietf.org>; Tue, 13 Aug 2019 15:49:24 -0700 (PDT)
Date: Tue, 13 Aug 2019 15:49:23 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1565736563; bh=+HkjmKrSMWM84dg+DIUcsrQ7u0tsIjyT5tov9kjQS8M=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=TJjx4A0FkBkIHfMF822r8DDwBIBr+Ir+H7T3rcfNx/cscyHSos1MA4CNTjp7A1HKZ nJ3YQHCNu24HozRqujajDb77uHOabJszKqMknvjAXFy0Ka33Zro/tcSdHYnqeaiKAO LRohbJkDH+BuLiIrkN+qnVAndeZouOR+V/TIX3ls=
From: David Benjamin <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+AFTOJK2IODJ2YKMWW5YWYTF3MBYPHEVBNHHBYVUFKY@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/521037864@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_5d533e7324bc7_5e163ff918acd9641018f0"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: davidben
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/2HzUaOUHtUQabT5TdqdgLoxiGVY>
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: Tue, 13 Aug 2019 22:49:26 -0000

I think the proposal for moving it into the handshake only affects the server SETTINGS frame (that's the asymmetry that people are unhappy about), so it's fine. At the time the server sends it, it has decided on ALPN.

You do raise a good point about the ALPN dependency, however. That's a further complication to the QUIC/TLS interface: as long as we remember the server SETTINGS frame across 0-RTT, the QUIC/TLS interface must allow the server to pass the SETTINGS frame into TLS *after* TLS negotiates ALPN and *before* TLS sends tickets, likely in the ALPN callback. This happens independent of when the SETTINGS frame is sent (status quo, handshake, or something else). The only way to avoid that complexity is to stop remembering the SETTINGS frame across 0-RTT.

> There are a couple interwoven issues here. Let's try to untangle them:

I think your two issues are still interwoven. We can't do the second bullet point without the first, otherwise the client and server will get out of sync. But, yeah, this is the "yet another option" I suggested above.

> To that end, I guess there's yet another option: strike that sentence. The server must encode the SETTINGS de novo, and the client can start with either the initial value or the cached value. That ambiguity is odd, but the client already starts with the initial value at 1-RTT, so I think that's less of a nuisance.

-- 
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-521037864