Re: [Ietf-message-headers] Permanent message header field registration for traceparent and tracestate

Julian Reschke <julian.reschke@gmx.de> Mon, 25 November 2019 05:57 UTC

Return-Path: <julian.reschke@gmx.de>
X-Original-To: ietf-message-headers@ietfa.amsl.com
Delivered-To: ietf-message-headers@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 48DDE120255 for <ietf-message-headers@ietfa.amsl.com>; Sun, 24 Nov 2019 21:57:45 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, 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=gmx.net
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 ff_TVeWMGVOq for <ietf-message-headers@ietfa.amsl.com>; Sun, 24 Nov 2019 21:57:42 -0800 (PST)
Received: from mout.gmx.net (mout.gmx.net [212.227.17.22]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DD51C120289 for <ietf-message-headers@lists.ietf.org>; Sun, 24 Nov 2019 21:57:41 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1574661456; bh=awJSdTGMkuJhBfr3zK7iTceZVIvIHrplduy1ATO64A4=; h=X-UI-Sender-Class:Subject:To:References:From:Date:In-Reply-To; b=lG3qCYMVicJzZTCFvL+N8QLAbi2NJDWrMbsX/1kBGljfESwJHDce5C6KB/XkyYjEl K4uzXGS+2tTND+ud4O9Tlutj1qIJFX8iqZq0zLq44vRKBhSrg4xIYastLtNTF3qGZ3 WFcbjXO/qJyjvAIOudYQuMBzEDwkpoiRZK/DS3xE=
X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
Received: from [192.168.178.124] ([84.171.145.82]) by mail.gmx.com (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MbRjt-1hxZgj0S0P-00bs83; Mon, 25 Nov 2019 06:52:20 +0100
To: =?UTF-8?Q?Philippe_Le_H=c3=a9garet?= <plh@w3.org>, "ietf-message-headers@lists.ietf.org" <ietf-message-headers@lists.ietf.org>
References: <ee1742ec-61d2-bffa-ad7e-eecd506ba70d@w3.org> <78d32933-2d67-5757-99a3-5195ef6c4315@gmx.de> <fa7c9775-aff3-21c6-55dd-0d019e96c382@w3.org>
From: Julian Reschke <julian.reschke@gmx.de>
Message-ID: <19412ab8-41d3-8f61-52e9-b1e88799c467@gmx.de>
Date: Mon, 25 Nov 2019 06:52:17 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.9.1
MIME-Version: 1.0
In-Reply-To: <fa7c9775-aff3-21c6-55dd-0d019e96c382@w3.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:TdWL9pU/8vFkZyj3wpddP44SqzbofaRbwe6qM60jpoJoykM9Fx/ peZDoVIdon+pKecpbLTR3Qouut9jHO8DfJl52COg198uSDgiqG0lHbKtNBDB7J66LDPYWGD 5wOkir/S+28lOFp2aVmQz+u4z0BrwOnoQOu8wsIUmQv1MfbIKERxbEgZlwHX02nh6GF7geY Inl9l9RG6ITITHIO09PwA==
X-UI-Out-Filterresults: notjunk:1;V03:K0:olj5AusvebE=:LT3qrfzUKiqL8VJyt2FLUl YQKmfpi+PRrtlLAgJG51u4dPo/cR1oLALa8mc5lZROV5AF/ilnxxTj9HDHhQt+JF27GZ2B4K4 5rM5p2TVEin3JXaCQFT7bdMf3WdqAqyyW7LJBwbruKBz3UXKMFYARz5sRFT0kTOhZBpmKqmth D4On0Y3bWa9NMvQkVPfaSsNuw5uy7wkhetzv7AKFsZuYwrZ02ZTULLLmAPlEn2N0a0lVcOSoI CrqX5SY00/cC3Syt8JCxj/wrT07muKtFrFCtszG8qHQ6u1h5aCOwFWvGVamYn3OfhYnQFa5Kt G6oEIns9gfavN5dDiSbP9HC08ZA8NNWFsPwRz0LluOiJxN6Uzn2bRyJ9udXd0yG+wX9+7uYH4 83vQsejUz9eyKzt8f1a0LaIpk8wuzWs+6rZD7ux6WNUdjZ8CfRc262GCqc3q+EJ3OcA0F5uYj 09X4Wn6W4Bsm+dG8mVfT8nFeDBfuCIDY/8y5uxHYARacZsAm0dDIibSInJA+RbheNNszvmzDQ FGwUY84aqoFqolsxMU27Pe50YejyGbjtTheJLZgniWZH5rvDhd4QJwsBIukZwOzqUOszqr9OH JSOAdfeMKuAkxUbaZMW7VGFkWIW107v+A6vZUNgO9B6BWlhd+HAqedfgz0cltCfStg9Qii/bg 0ei+117AOsJjUGqR/bv/wTtbBmCzRV1wkXauVz5duAyWlNuRzhovflxhzU7AGserorrrT3KvK jN3XBhcqgqsRsNyj9op9jQrO4vFHysdRJegfYeqHQKoLF8GbMGXegWtO42t8sqTdF1LmAIfp0 VDoJ0hBn8EE84k/6rscnxvco1vwtBf0oLVBYTOmN8MPoKYuUZCThnkE1lBs6N9ATeywZIfEtS pVx0i1sZGFpaF4KV4o1BxidOaDIPw67a2rtssPaVWjsC8IXJrHqaHyv7h3ojSWfsUy+/Fm0WH Y+ISy0RTyVU4SDtKh7Sx2h4fhhAvFE2r3+ntep1AgcjJWRzxvVdP+7/Uq1PgUKo4NlZhdeaze PFpvzGA3j4ODBY8T4EKwXGuev5XPVEVkzY8hBLb3Dk+sezUCs/GT3cKBd+z/a2YK+cYFwPxMN c5FfA/9i3HFkc/eI55za7RenXMTZb8k76CZjg6sh/MPtUjE+0Zgym5X3HHBjIkUA6Qlb0tjKy q7TMhPz2btzfdmBS9417FEbyDXLRBuLjf+HTzJQtivR6bUF8Hox4m4y8hKJoxKk47n9sqZkSv dCE4Y+KlQauIhfaVlFQzHfNIDjd/mLXJU8DBKKr83liiaiYWyG/xMUI4dl48=
Archived-At: <https://mailarchive.ietf.org/arch/msg/ietf-message-headers/UqZZ_IRZ4Dvvc8_KEyRkkkHWkSU>
Subject: Re: [Ietf-message-headers] Permanent message header field registration for traceparent and tracestate
X-BeenThere: ietf-message-headers@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Discussion list for header fields used in Internet messaging applications." <ietf-message-headers.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf-message-headers>, <mailto:ietf-message-headers-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ietf-message-headers/>
List-Post: <mailto:ietf-message-headers@ietf.org>
List-Help: <mailto:ietf-message-headers-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf-message-headers>, <mailto:ietf-message-headers-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 25 Nov 2019 05:57:46 -0000

On 24.11.2019 21:46, Philippe Le Hégaret wrote:
>
>
> On 11/24/2019 3:39 PM, Julian Reschke wrote:
>> The spec link's anchor doesn't work for me.
>> <https://www.w3.org/TR/trace-context/#traceparent-header> does, though.
>
> Didn't check and realize the links had changed. Here is an updated
> template:
>
> [[
> Header field name: traceparent
> Applicable protocol: http
> Status: permanent
> Change Controller:
>    Distributed Tracing Working Group
>    https://www.w3.org/2018/distributed-tracing/
>    public-trace-context@w3.org
> Specification:
>    https://www.w3.org/TR/trace-context/#traceparent-header
>
> Header field name: tracestate
> Applicable protocol: http
> Status: permanent
> Change Controller:
>    Distributed Tracing Working Group
>    https://www.w3.org/2018/distributed-tracing/
>    public-trace-context@w3.org
> Specification:
>    https://www.w3.org/TR/trace-context/#tracestate-header
> ]]
>
>> Quoting:
>>
>>> 3.2 Traceparent Header
>>>
>>> The traceparent HTTP header field identifies the incoming request in
>>> a tracing system. It has four fields:
>>>
>>>     version
>>>     trace-id
>>>     parent-id
>>>     trace-flags
>>
>> So what is the actual syntax of the header field?
>
> It's mentioned in the section
> [[
> [...]
>    The tracestate field value is a list of [list-members] separated by
> [commas].
>
> [...]
>
> list  = list-member 0*31( OWS "," OWS list-member )
> list-member = key "=" value
> list-member = OWS
>
> [...]
>
> key = lcalpha 0*255( lcalpha / DIGIT / "_" / "-"/ "*" / "/" )
> key = ( lcalpha / DIGIT ) 0*240( lcalpha / DIGIT / "_" / "-"/ "*" / "/"
> ) "@" lcalpha 0*13( lcalpha / DIGIT / "_" / "-"/ "*" / "/" )
> lcalpha    = %x61-7A ; a-z
>
> [...]
>
> value    = 0*255(chr) nblk-chr
> nblk-chr = %x21-2B / %x2D-3C / %x3E-7E
> chr      = %x20 / nblk-chr
> ]]
> https://www.w3.org/TR/trace-context/#tracestate-header-field-values

I see. I'd propose to improve the paragraph ordering :-).

The ABNF currently says:

> list  = list-member 0*31( OWS "," OWS list-member )
> list-member = key "=" value
> list-member = OWS

That's invalid, you can't define "list-member" twice; make it:

list  = list-member 0*31( OWS "," OWS list-member )
list-member = (key "=" value) / OWS

or simpler:

list  = #31 list-member
list-member = key "=" value

There's also a problem that the ABNF does not allow whitespace around
"=", but the prose does.

Best regards, Julian