Re: [Cbor] RFC7049bis processing of unknown tags

Michael Richardson <mcr+ietf@sandelman.ca> Thu, 07 May 2020 23:42 UTC

Return-Path: <mcr+ietf@sandelman.ca>
X-Original-To: cbor@ietfa.amsl.com
Delivered-To: cbor@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C86373A0889 for <cbor@ietfa.amsl.com>; Thu, 7 May 2020 16:42:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=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 DnSavFnKf9bT for <cbor@ietfa.amsl.com>; Thu, 7 May 2020 16:42:23 -0700 (PDT)
Received: from tuna.sandelman.ca (tuna.sandelman.ca [209.87.249.19]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 165073A0865 for <cbor@ietf.org>; Thu, 7 May 2020 16:42:22 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by tuna.sandelman.ca (Postfix) with ESMTP id 8A4263898C; Thu, 7 May 2020 19:40:20 -0400 (EDT)
Received: from tuna.sandelman.ca ([127.0.0.1]) by localhost (localhost [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 2hawsYl54T7A; Thu, 7 May 2020 19:40:19 -0400 (EDT)
Received: from sandelman.ca (obiwan.sandelman.ca [IPv6:2607:f0b0:f:2::247]) by tuna.sandelman.ca (Postfix) with ESMTP id 376013898B; Thu, 7 May 2020 19:40:19 -0400 (EDT)
Received: from localhost (localhost [IPv6:::1]) by sandelman.ca (Postfix) with ESMTP id 7E79558B; Thu, 7 May 2020 19:42:19 -0400 (EDT)
From: Michael Richardson <mcr+ietf@sandelman.ca>
To: cbor@ietf.org
cc: Carsten Bormann <cabo@tzi.org>, Jeffrey Yasskin <jyasskin@chromium.org>
In-Reply-To: <CANh-dXkdjMyO=WFUxrF06OfP+RE9v11unKJXL8P3UtEe+prV1w@mail.gmail.com>
References: <17300.1588779159@localhost> <38BB6FFF-737F-4C11-AD7A-DA3F28A9F570@tzi.org> <CANh-dXkdjMyO=WFUxrF06OfP+RE9v11unKJXL8P3UtEe+prV1w@mail.gmail.com>
X-Mailer: MH-E 8.6+git; nmh 1.7+dev; GNU Emacs 26.1
X-Face: $\n1pF)h^`}$H>Hk{L"x@)JS7<%Az}5RyS@k9X%29-lHB$Ti.V>2bi.~ehC0; <'$9xN5Ub# z!G,p`nR&p7Fz@^UXIn156S8.~^@MJ*mMsD7=QFeq%AL4m<nPbLgmtKK-5dC@#:k
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg="pgp-sha512"; protocol="application/pgp-signature"
Date: Thu, 07 May 2020 19:42:19 -0400
Message-ID: <13690.1588894939@localhost>
Archived-At: <https://mailarchive.ietf.org/arch/msg/cbor/8czHpNUd8ml2OqNiyqje6KWl5Wg>
Subject: Re: [Cbor] RFC7049bis processing of unknown tags
X-BeenThere: cbor@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Concise Binary Object Representation \(CBOR\)" <cbor.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/cbor>, <mailto:cbor-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cbor/>
List-Post: <mailto:cbor@ietf.org>
List-Help: <mailto:cbor-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/cbor>, <mailto:cbor-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 07 May 2020 23:42:26 -0000

Jeffrey Yasskin <jyasskin@chromium.org> wrote:
    > 3) While RFC7049-bis is already
    > somewhat overstepping the bounds of a standard in specifying
    > error-handling options, it'd be even farther out of bounds to specify
    > parser API options. :)

I disagree strongly with this part :-)

It's is a regular and common mistake in IETF/many specifications that they do
not adequately explain what the behaviour is supposed to be when a newer
option shows up.  We probably spend 70% of our time at the IETF making sure
that we don't break old code.
Is that too high?  Well, maybe, because we don't spend the effort up-front.

As an example: IKE (IPsec) has a major and minor version.
We have no idea what it would mean to increment the minor version.
Having a minor version was a waste of time.

(I crafted the text for the VendorID payload in IKEv1.
I believe that I got it right, and made sure that we could make
use of private extensions without conflicts in the number space)

As for API options, yes, we often do need to give advice on providing ways to
put things into compatibility mode, and what that means.  At no point are we
writing down some enum or #define though.

I believe that I am less concerned about having rfc7049bis render some
existing parsers "non-compliant" --- they *ARE* still compliant to RFC7049.

I am a user of parsers, I have occasionally had to write my own conversions,
but mostly I would say that I am not up to speed on some of the details.

--
]               Never tell me the odds!                 | ipv6 mesh networks [
]   Michael Richardson, Sandelman Software Works        |    IoT architect   [
]     mcr@sandelman.ca  http://www.sandelman.ca/        |   ruby on rails    [


--
Michael Richardson <mcr+IETF@sandelman.ca>, Sandelman Software Works
 -= IPv6 IoT consulting =-