Re: Empty lists in Structured Headers (#781)

Willy Tarreau <w@1wt.eu> Thu, 02 May 2019 17:44 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6D69A1203AF for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 2 May 2019 10:44:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.9
X-Spam-Level:
X-Spam-Status: No, score=-2.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.001, MAILING_LIST_MULTI=-1, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 WIOXkB7a8KO6 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 2 May 2019 10:44:05 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [IPv6:2603:400a:ffff:804:801e:34:0:38]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 38003120075 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Thu, 2 May 2019 10:44:05 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.89) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1hMFih-0003nU-83 for ietf-http-wg-dist@listhub.w3.org; Thu, 02 May 2019 17:42:07 +0000
Resent-Date: Thu, 02 May 2019 17:42:07 +0000
Resent-Message-Id: <E1hMFih-0003nU-83@frink.w3.org>
Received: from mimas.w3.org ([2603:400a:ffff:804:801e:34:0:4f]) by frink.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <w@1wt.eu>) id 1hMFif-0003mP-FP for ietf-http-wg@listhub.w3.org; Thu, 02 May 2019 17:42:05 +0000
Received: from wtarreau.pck.nerim.net ([62.212.114.60] helo=1wt.eu) by mimas.w3.org with esmtp (Exim 4.89) (envelope-from <w@1wt.eu>) id 1hMFid-0002P2-NZ for ietf-http-wg@w3.org; Thu, 02 May 2019 17:42:05 +0000
Received: (from willy@localhost) by pcw.home.local (8.15.2/8.15.2/Submit) id x42HfT1I000321; Thu, 2 May 2019 19:41:29 +0200
Date: Thu, 02 May 2019 19:41:29 +0200
From: Willy Tarreau <w@1wt.eu>
To: Poul-Henning Kamp <phk@phk.freebsd.dk>
Cc: "Roy T. Fielding" <fielding@gbiv.com>, Martin Thomson <mt@lowentropy.net>, ietf-http-wg@w3.org
Message-ID: <20190502174129.GF32325@1wt.eu>
References: <D99820F1-D169-468E-BA31-68AA710C3CC4@mnot.net> <1645485d-84da-4b74-8fb1-d487394ba89a@www.fastmail.com> <627257EE-FE78-40A6-AA91-9E488C53A8FC@gbiv.com> <8113.1556816199@critter.freebsd.dk>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <8113.1556816199@critter.freebsd.dk>
User-Agent: Mutt/1.6.1 (2016-04-27)
Received-SPF: pass client-ip=62.212.114.60; envelope-from=w@1wt.eu; helo=1wt.eu
X-W3C-Hub-Spam-Status: No, score=-6.8
X-W3C-Hub-Spam-Report: AWL=1.084, BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, W3C_AA=-1, W3C_IRA=-1, W3C_IRR=-3, W3C_WL=-1
X-W3C-Scan-Sig: mimas.w3.org 1hMFid-0002P2-NZ 34875cce9a327d8026142b0650556bea
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Empty lists in Structured Headers (#781)
Archived-At: <https://www.w3.org/mid/20190502174129.GF32325@1wt.eu>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/36590
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <https://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

On Thu, May 02, 2019 at 04:56:39PM +0000, Poul-Henning Kamp wrote:
(...)
> Then we retreated further by restricting the depth to one, hoping
> to at least curb the enthusiasm for inventing new syntax in this
> space, and through successive cuttings of heels and toes, the SH
> draft we have now has resulted.
> 
> If you have any ideas how this could have gone better, I'm all ears ?

Guys, I think the problem can easily be addressed. I think that many
of us will agree that there are some reasonable limitations that add
simplicity and/or security at the expense of tradeoffs that should
almost affect nobody, such as the limited range of integers.

I think that the opposition against support of empty values only came
from an almost inexistent need at a moment where the spec looks quite
polished, resulting in limited motivation to do some further work on
this. I continue to think it's a bad idea to explicitly exclude them
as the time saved by *not* working on this point is wasted discussing
why it's not being worked on, and will be wasted 100 times more once
the document becomes an RFC, to deal with the ugly workarounds that
people will have invented and/or how to find a safer update to the
spec that remains backwards compatible with deployments.

I don't think we've discussed a *technical* reason for not supporting
these, most only taste based on (possibly inappropriate) proposals
coming out of a few of us' heads. Let's try again to see how that
could be included without breaking things apart nor creating traps
for implementers, and see if the resulting solution looks acceptable
or not. If it does not, at least we'll have a compelling reason
explaining why this is not supported and to encourage users to stop
emitting or dealing with these. Otherwise we'll have a better and
safer coverage, which is always welcome.

Just my two cents,
Willy