Re: [quicwg/base-drafts] Asymmetry in the handling of SETTINGS frame (#1846)

Kazuho Oku <notifications@github.com> Tue, 09 October 2018 21:26 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 6A2FD130DF9 for <quic-issues@ietfa.amsl.com>; Tue, 9 Oct 2018 14:26:55 -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, 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, URIBL_BLOCKED=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 XEy7lkFLzaiv for <quic-issues@ietfa.amsl.com>; Tue, 9 Oct 2018 14:26:54 -0700 (PDT)
Received: from out-4.smtp.github.com (out-4.smtp.github.com [192.30.252.195]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0B5A6130DEB for <quic-issues@ietf.org>; Tue, 9 Oct 2018 14:26:54 -0700 (PDT)
Date: Tue, 09 Oct 2018 14:26:52 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1539120412; bh=LG1sski8FlCPcTeABYA0WHMO6f9URn7ZuNnd3LFNuWc=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=BH0EV5mo8LYsdl6iCyP9rZgA9HWCfDO2WEQm8UpYVdGx8Xa9pnuY/pY0UWN/hOiUZ 5Z37ro4Z+N+j1TiKTcNJXpzTbH7MCfzIXaSW7+a4FvLqFFh9tb7x5lY/8EhaiJCGgs 4tqa8wpRXi12KDlTD9yWiRso72IvmbSEnMidGGes=
From: Kazuho Oku <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4abbc435b637cbb3e1a258da531ecd23c8f1205640192cf0000000117d4df1c92a169ce15f10683@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/1846/428358560@github.com>
In-Reply-To: <quicwg/base-drafts/issues/1846@github.com>
References: <quicwg/base-drafts/issues/1846@github.com>
Subject: Re: [quicwg/base-drafts] Asymmetry in the handling of SETTINGS frame (#1846)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5bbd1d1c3c33e_7ab63fd8c5ad45c019845f"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: kazuho
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/zAQL_1ZIl5qhUrHRyHZ5YXwP4cQ>
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, 09 Oct 2018 21:26:55 -0000

@lnicco @MikeBishop Thank you for clarifying that we have a restriction for 1-RTT case, client-side.

@MikeBishop 
> Also, because settings are allowed to negotiate non-conformant behavior (and we no longer have a SETTINGS_ACK), in the general case, you can't guarantee that anything received on any other stream actually means what you think it means until you've seen SETTINGS. In the more common case where you don't support any such behavior, of course, this isn't a problem.

If that is the case, shouldn't we better block the client from sending anything (including SETTINGS) until it receives SETTINGS from server sent in 0.5 RTT?

In my view, without such requirement, current design does *not* allow the endpoints to *negotiate* their settings. Rather, it is unilateral declaration of SETTINGS by two parties. Assuming that we are fine with the lock-step approach on exchanging SETTINGS, I think adding one latch that requires the client for server's SETTINGS before sending it's SETTINGS would be fine.

If we have that latch, exchange of SETTINGS becomes a *negotiation*. That would allow us to evolve in various ways, e.g. have a different static table (#1343), or even have a different compression algorithm.

-- 
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/1846#issuecomment-428358560