Re: empty lists?, was: Last Call: <draft-ietf-httpbis-header-structure-18.txt> (Structured Field Values for HTTP) to Proposed Standard

Benjamin Kaduk <bkaduk@akamai.com> Mon, 18 May 2020 21:26 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 B65BB3A0DEE for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 18 May 2020 14:26:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.85
X-Spam-Level:
X-Spam-Status: No, score=-0.85 tagged_above=-999 required=5 tests=[DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.249, MAILING_LIST_MULTI=-1, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=akamai.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 9vFIeoMam58w for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 18 May 2020 14:26:53 -0700 (PDT)
Received: from lyra.w3.org (lyra.w3.org [128.30.52.18]) (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 2357B3A0DEA for <httpbisa-archive-bis2Juki@lists.ietf.org>; Mon, 18 May 2020 14:26:52 -0700 (PDT)
Received: from lists by lyra.w3.org with local (Exim 4.92) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1janEx-0000d1-AV for ietf-http-wg-dist@listhub.w3.org; Mon, 18 May 2020 21:24:03 +0000
Resent-Date: Mon, 18 May 2020 21:24:03 +0000
Resent-Message-Id: <E1janEx-0000d1-AV@lyra.w3.org>
Received: from mimas.w3.org ([128.30.52.79]) by lyra.w3.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <bkaduk@akamai.com>) id 1janEw-0000cG-12 for ietf-http-wg@listhub.w3.org; Mon, 18 May 2020 21:24:02 +0000
Received: from mx0a-00190b01.pphosted.com ([2620:100:9001:583::1]) by mimas.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <bkaduk@akamai.com>) id 1janEq-0007pb-FK for ietf-http-wg@w3.org; Mon, 18 May 2020 21:24:01 +0000
Received: from pps.filterd (m0050093.ppops.net [127.0.0.1]) by m0050093.ppops.net-00190b01. (8.16.0.42/8.16.0.42) with SMTP id 04ILJM8b010090; Mon, 18 May 2020 22:23:38 +0100
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=akamai.com; h=date : from : to : cc : subject : message-id : references : mime-version : content-type : in-reply-to; s=jan2016.eng; bh=xlRVSPVflHfudI1Sd/vZ6cB2sAUDaMpPJrJl7R/nMYY=; b=H8dAChNpHUQVEmdOexAnaplwohakenwi9OpCk0aVTt91DtaZwIDbP73wnIe31kFuckwd 9XPaIZcU2vrsZXtQSC7joXaey189y9IJG6XUfS2oDmL2gPnwE3PGwCekJZsPqCp0EHQp iJ23kX+pmH5CLwxc67tJdml5rCaQTch6ENneDzQmc9BbBabYJYOng2i7G1dGo+j9/bhA z2pF8j2lCpT4bScXQ1ackRYd/jqtYLAg4cjuKnWAdr239N2sNbRLx/ST+d8GjDn7MXtI gIiEJV5QXeIaU0+SfQgLEgdBxWpuKc234uhiKfIjk3pG7CBpTXxuPO8FEH6LapcXEFCz qg==
Received: from prod-mail-ppoint7 (a72-247-45-33.deploy.static.akamaitechnologies.com [72.247.45.33] (may be forged)) by m0050093.ppops.net-00190b01. with ESMTP id 312rvn0nfd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 18 May 2020 22:23:38 +0100
Received: from pps.filterd (prod-mail-ppoint7.akamai.com [127.0.0.1]) by prod-mail-ppoint7.akamai.com (8.16.0.27/8.16.0.27) with SMTP id 04ILH93P012171; Mon, 18 May 2020 17:23:37 -0400
Received: from prod-mail-relay19.dfw02.corp.akamai.com ([172.27.165.173]) by prod-mail-ppoint7.akamai.com with ESMTP id 3140ea0d0n-1; Mon, 18 May 2020 17:23:37 -0400
Received: from akamai.com (sea-lp9yo.kendall.corp.akamai.com [172.19.16.134]) by prod-mail-relay19.dfw02.corp.akamai.com (Postfix) with ESMTP id D804E60088; Mon, 18 May 2020 21:23:35 +0000 (GMT)
Date: Mon, 18 May 2020 14:23:34 -0700
From: Benjamin Kaduk <bkaduk@akamai.com>
To: Julian Reschke <julian.reschke@gmx.de>
Cc: last-call@ietf.org, httpbis-chairs@ietf.org, ietf-http-wg@w3.org, barryleiba@gmail.com, draft-ietf-httpbis-header-structure@ietf.org
Message-ID: <20200518212334.GD3811@akamai.com>
References: <158740521959.1174.9556681562748997101@ietfa.amsl.com> <bb3a29ff-1a0f-964d-c764-4d4819d338da@gmx.de> <1d494d71-b837-729a-62f3-5ba8ca6549cb@gmx.de> <20200518182746.GC3811@akamai.com> <45ec9bc0-2a81-edf1-6054-7c5bb3cb8140@gmx.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <45ec9bc0-2a81-edf1-6054-7c5bb3cb8140@gmx.de>
User-Agent: Mutt/1.9.4 (2018-02-28)
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.216,18.0.676 definitions=2020-05-18_06:2020-05-15,2020-05-18 signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=845 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-2004280000 definitions=main-2005180183
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.216,18.0.676 definitions=2020-05-18_06:2020-05-15,2020-05-18 signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 lowpriorityscore=0 phishscore=0 clxscore=1015 malwarescore=0 priorityscore=1501 mlxlogscore=828 bulkscore=0 spamscore=0 cotscore=-2147483648 mlxscore=0 adultscore=0 impostorscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2005180183
Received-SPF: pass client-ip=2620:100:9001:583::1; envelope-from=bkaduk@akamai.com; helo=mx0a-00190b01.pphosted.com
X-W3C-Hub-Spam-Status: No, score=-4.1
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: mimas.w3.org 1janEq-0007pb-FK cc95f77f4b3eb5ad96b6b5aa557ae7ef
X-Original-To: ietf-http-wg@w3.org
Subject: Re: empty lists?, was: Last Call: <draft-ietf-httpbis-header-structure-18.txt> (Structured Field Values for HTTP) to Proposed Standard
Archived-At: <https://www.w3.org/mid/20200518212334.GD3811@akamai.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/37655
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 Mon, May 18, 2020 at 09:22:47PM +0200, Julian Reschke wrote:
> On 18.05.2020 20:27, Benjamin Kaduk wrote:
> > On Mon, May 18, 2020 at 03:06:02PM +0200, Julian Reschke wrote:
> > > On 13.05.2020 05:59, Julian Reschke wrote:
> > > > ...
> > > 
> > > Another late commment...
> > > 
> > > <https://greenbytes.de/tech/webdav/draft-ietf-httpbis-header-structure-18.html#rfc.section.3.1>:
> > > 
> > > > 3.1. Lists
> > > > 
> > > > Lists are arrays of zero or more members, each of which can be an Item (Section 3.3) or an Inner List (Section 3.1.1), both of which can be Parameterized (Section 3.1.2).
> > > > 
> > > > The ABNF for Lists in HTTP fields is:
> > > > 
> > > > sh-list       = list-member *( *SP "," *SP list-member )
> > > > list-member   = sh-item / inner-list
> > > 
> > > 
> > > So the prose says zero elements are allowed, but the ABNF actually
> > > requires one element.
> > > 
> > > One of these is incorrect...
> > 
> > You saw
> > 
> >     An empty List is denoted by not serializing the field at all.
> > 
> > right?
> 
> That's about serialization.
> 
> 4.2.1 seems to parse an empty string into an empty list.
> 
> AFAICT, that's in conflict with the ABNF.

Thanks for clarifying.

FWIW I already have a comment staged about how we seem to make the
ABNF normative for serialization but the prose normative for parsing,
which seems like a weird mismatch that requires justification.

-Ben