Re: [TLS] Application-Layer Protocol Settings

David Benjamin <> Mon, 20 July 2020 21:46 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 62EC53A0FC9 for <>; Mon, 20 Jul 2020 14:46:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -3.019
X-Spam-Status: No, score=-3.019 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, HEADER_FROM_DIFFERENT_DOMAINS=0.001, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id j6xEip3mmKSA for <>; Mon, 20 Jul 2020 14:46:02 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 78F293A0FC7 for <>; Mon, 20 Jul 2020 14:46:02 -0700 (PDT)
Received: from lists by with local (Exim 4.92) (envelope-from <>) id 1jxdYc-0008Ud-Gs for; Mon, 20 Jul 2020 21:42:46 +0000
Resent-Date: Mon, 20 Jul 2020 21:42:46 +0000
Resent-Message-Id: <>
Received: from ([]) by with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <>) id 1jxdYb-0008Ts-Ag for; Mon, 20 Jul 2020 21:42:45 +0000
Received: from ([2607:f8b0:4864:20::429]) by with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from <>) id 1jxdYZ-0002mm-BW for; Mon, 20 Jul 2020 21:42:44 +0000
Received: by with SMTP id u5so9718612pfn.7 for <>; Mon, 20 Jul 2020 14:42:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=u+wwtGwgXZx/pFXzPwOV8MhtTSojkr1XPgZD4LFHDVM=; b=fmQiDQJMtGQ3ifiQ8jCL6LW6hfYRgmp8FOezMcTXjFuWe1WD+JE+bdguJgWNg/IdTz mO+7eg804rSdDYZ+r/A7pYLMKekPrw593jLJzOw1M9Ss87en+U3ayxCyVi8HKMlG12xq g/0doYE5mSeiPMfkXvP6n8FG7F7xX63NkflSE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=u+wwtGwgXZx/pFXzPwOV8MhtTSojkr1XPgZD4LFHDVM=; b=p/dnrzsy8W/WOZHegW9CI0UDGa26jNfnL/JGuI/xR1ewO1mvEiJcECw0MxT8c3DaYA tYHXpZj5RDUfAVbRal3MYSQURAdCWBZB3849tGBGV/1f/lzMqWWrMy55rsnNRgwpHxPl 2HQlEjPh7/T5V2SchH8lRUyRQmSuAH0GGVN1DhwQmcgHeoFHkWXa1fU+KTclGODLbs01 Y1m2wI95deLDijsl2CwLZfIcLbHD0JKVHGbOYTY6n610IRvC70a5m0XzBOXLoTMwWOwu XANg7gYyMCijfZptl4qdNculDC1wUrwqtU0O2v0eQ+rHccTnWaPvYxQG8BBQDsNr/uww hOOQ==
X-Gm-Message-State: AOAM533BogPXY5asxm+fpiNoZ7dccv9aT6xsE3K0Whq9IsvZY1UwZZ3m 3KruY+xuze6OtUESqzUKQOlUqbv3g/xGA6aUtQ7T
X-Google-Smtp-Source: ABdhPJy9rCHMz1vrvwv6nJdOEHjrvb5K5E2yz1VkbLm+3ptsc+un7lPq1s0Mr0JaT8m65bHz5fxiR8ND1xgLOAL3HTI=
X-Received: by 2002:a62:7c97:: with SMTP id x145mr22282182pfc.80.1595281351919; Mon, 20 Jul 2020 14:42:31 -0700 (PDT)
MIME-Version: 1.0
References: <> <> <> <> <> <> <> <>
In-Reply-To: <>
From: David Benjamin <>
Date: Mon, 20 Jul 2020 17:42:15 -0400
Message-ID: <>
To: Lucas Pardue <>
Cc: Victor Vasiliev <>, "" <>, HTTP Working Group <>
Content-Type: multipart/alternative; boundary="0000000000004cb9c305aae66250"
Received-SPF: pass client-ip=2607:f8b0:4864:20::429;;
X-W3C-Hub-Spam-Status: No, score=-11.5
X-W3C-Scan-Sig: 1jxdYZ-0002mm-BW 2ed11a4d43a81630a0996d35b799c612
Subject: Re: [TLS] Application-Layer Protocol Settings
Archived-At: <>
X-Mailing-List: <> archive/latest/37897
Precedence: list
List-Id: <>
List-Help: <>
List-Post: <>
List-Unsubscribe: <>

On Mon, Jul 20, 2020 at 5:00 PM Lucas Pardue <>

> On Mon, 20 Jul 2020, 21:38 David Benjamin, <> wrote:
>> On Mon, Jul 20, 2020 at 3:33 PM Victor Vasiliev <vasilvv=
>>> wrote:
>>> On Mon, Jul 20, 2020 at 3:10 PM Lucas Pardue <>
>>> wrote:
>>>> Hi Victor,
>>>> It seems my brain skipped over "ALPS in HTTPS" [1] when you mentioned
>>>> in your original email. I was reading it in the context of David Benjamin's
>>>> thread on Client Hint Reliability [2]. There's a couple of things that
>>>> surprised me when reading both drafts:
>>>> 1. ALPS in HTTPS actually supports more than just exchanging Settings
>>>> Parameters, it can actually hold a series of frames. It's just that ALPS
>>>> only defines SETTINGS to be allowed, and Client Hints Reliability wants to
>>>> add more in the shape of a new ACCEPT_CH frame. I'm not sure I like the
>>>> idea of supporting any old frame in the TLS handshake, SETTINGS are at
>>>> least reasoned about in terms of how they are remembered for the purposes
>>>> of 0-RTT.
>>> It explicitly bans all existing frames that are not SETTINGS.  The
>>> problem here is that SETTINGS only supports integral values, so we'd be
>>> limited to those if we make ALPS just SETTINGS.
>> Right, concretely there is an "Allowed in ALPS" column added by Victor's
>> ALPS document, which my document sets for the new frame. Old frames weren't
>> designed with ALPS in mind, so the ALPS document needs to make a decision.
>> New frames can reason about the implications of opting into ALPS and do so.
>> As Victor notes, it's only a new frame because we got SETTINGS values
>> wrong and, per earlier discussion, the extension point we currently have is
>> new frames. If we want something even more restrictive, we could instead
>> revive draft-bishop-httpbis-extended-settings, say only SETTINGS and
>> EXTENDED_SETTINGS are allowed, and close it there. But I think the new
>> column works fine and matches how this sort of thing usually works.
> That makes sense but I guess I don't see the point in defining a new thing
> that contains frames that are never sent on streams. That is, if these are
> connection settings, just send the payload. Unframed extended settings
> might get you there, if you can find a way to encapsulate conventional
> settings inside them, then all the better.

Could you elaborate on this a bit? I'm probably just failing to parse, but
I'm not sure which alternative you're suggesting here. (Ah, the wonders of