Re: [Cbor] Announcement: draft-mcnally-deterministic-cbor-03

Joe Hildebrand <hildjj@cursive.net> Mon, 07 August 2023 02:14 UTC

Return-Path: <hildjj@cursive.net>
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 675BCC14CE36 for <cbor@ietfa.amsl.com>; Sun, 6 Aug 2023 19:14:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.107
X-Spam-Level:
X-Spam-Status: No, score=-2.107 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cursive.net
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vp0oX1s7KRtk for <cbor@ietfa.amsl.com>; Sun, 6 Aug 2023 19:14:11 -0700 (PDT)
Received: from mail-qk1-x72c.google.com (mail-qk1-x72c.google.com [IPv6:2607:f8b0:4864:20::72c]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 38EF4C14E513 for <cbor@ietf.org>; Sun, 6 Aug 2023 19:14:11 -0700 (PDT)
Received: by mail-qk1-x72c.google.com with SMTP id af79cd13be357-76c97a137c8so218195585a.1 for <cbor@ietf.org>; Sun, 06 Aug 2023 19:14:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cursive.net; s=google; t=1691374450; x=1691979250; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=EgTJOQ/CBaGyvSm/lV3Zs9BB2BuZdskwGEaCpDutsAo=; b=klo9Pec0R1jf/5bT3CkUSi/wm81Ugy959/592pg9mVakC4J3DvyQtPlH/t9mLupH2L shexjQR6X44tvTZajSEtuZO7Td+tEOfS+07rIFYUqtCHu86wep/DoBmXXaXKUjxzP7yP ERhjJ3eWgyxrnJnF186y1yd/GtFXS/m/29C/4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691374450; x=1691979250; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=EgTJOQ/CBaGyvSm/lV3Zs9BB2BuZdskwGEaCpDutsAo=; b=gHiRlpTTqqq1hBw8lrch4iLB6C4btill0hFeANmo2xdWixXWDsRpRudkDxHkg7dj7m yf5m8r3mjT45hnxc+dgMA5gKsTRHw0N44GevUThEIaNczuNl8t/pKZ6VeaUuXX13q+hb HVyeERPGkgev9Of7Zu/NqAG9gq6z2Qry9S5Z4fATNQ7ZoKKO35Mx8xuT5/Tk46s1ddhl B0HtAzHS8PQPjg4b6TEpTu2FFYUk5VNZJ51jOvUwXRjc/c0iCsmRd7BOI+7y2kYFtHUb g39lZLkqcGBzAGyKyTxlOW1C1L1BAuBfXWGDnXAuMoXMj5iJ0QK1LUqa0/pqQfouxsp4 u3HQ==
X-Gm-Message-State: AOJu0YzG0wWV+eCkwv/vDTdcPhiKsNypDxet8vqQASCiy/2plgpOJ19M MvQTvdmiWnQyZWX/560KBaXsy9MKS2IWjjJcn0Q=
X-Google-Smtp-Source: AGHT+IGwitYAq4xiyZU+4++cfq7jeLgmYzVFFP/AUAkZenhqWjsCOelulkOBeRsBmur4MHbT2u1+xQ==
X-Received: by 2002:a05:620a:2113:b0:76a:d7c5:87b0 with SMTP id l19-20020a05620a211300b0076ad7c587b0mr5937972qkl.2.1691374450056; Sun, 06 Aug 2023 19:14:10 -0700 (PDT)
Received: from smtpclient.apple (23-24-90-28-static.hfc.comcastbusiness.net. [23.24.90.28]) by smtp.gmail.com with ESMTPSA id x18-20020ae9f812000000b0076cd2591629sm2281086qkh.6.2023.08.06.19.14.09 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 06 Aug 2023 19:14:09 -0700 (PDT)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6\))
From: Joe Hildebrand <hildjj@cursive.net>
In-Reply-To: <E0D91ECB-F88B-4A38-A4BC-9CBCD488E475@wolfmcnally.com>
Date: Sun, 06 Aug 2023 22:13:58 -0400
Cc: cbor@ietf.org
Content-Transfer-Encoding: quoted-printable
Message-Id: <4CF6297F-5873-4245-939B-D2665F000B10@cursive.net>
References: <169130970676.57946.2391787665439799751@ietfa.amsl.com> <E0D91ECB-F88B-4A38-A4BC-9CBCD488E475@wolfmcnally.com>
To: Wolf McNally <wolf@wolfmcnally.com>
X-Mailer: Apple Mail (2.3731.700.6)
Archived-At: <https://mailarchive.ietf.org/arch/msg/cbor/Jj4QNqf8Aug5fykEOGKzcgpmJEc>
Subject: Re: [Cbor] Announcement: draft-mcnally-deterministic-cbor-03
X-BeenThere: cbor@ietf.org
X-Mailman-Version: 2.1.39
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: Mon, 07 Aug 2023 02:14:15 -0000

I've been implementing this today.  Here are some notes:

- It would be nice if the encode/decode requirements were split out in a few places and made more explicit in a few places.  If each section had a "for dCBOR encoders" and "for dCBOR decoders" sub-section, it would help the implementor make sure they hadn't missed anything.
- In particular, s2.1 (5) should be spelled out everywhere it applies
- +/- Infinity is a special case of s2.3 (2).  The wording in s2.3.2 (4) sent me down the wrong road to special-case these, but it's worth calling them out as special cases to test.
- s2.3.2 says "encoders must" then talks about decoding on a couple of the points
- I was expecting something about simple values other than true/false/undefined/null being prohibited

Overall, the doc made sense to me.

cbor2 will support dcbor in its next release, once I figure out how much granularity I want in configuring it on or off.  It won't be the default encoding, and the decoding errors will not be on by default.

I would be happy to collaborate on a set of test vectors if you're interested.

— 
Joe Hildebrand

> On Aug 6, 2023, at 4:20 AM, Wolf McNally <wolf@wolfmcnally.com> wrote:
> 
> As promised, this revision of our dCBOR I-D includes discussed corrections. It also reformats all profile requirements in a way that is hopefully easier to understand and discuss.
> 
> ~ Wolf
> 
> A new version of I-D, draft-mcnally-deterministic-cbor-03.txt
> has been successfully submitted by Wolf McNally and posted to the
> IETF repository.
> 
> Name: draft-mcnally-deterministic-cbor
> Revision: 03
> Title: Gordian dCBOR: A Deterministic CBOR Application Profile
> Document date: 2023-08-06
> Group: Individual Submission
> Pages: 8
> URL:            https://www.ietf.org/archive/id/draft-mcnally-deterministic-cbor-03.txt
> Status:         https://datatracker.ietf.org/doc/draft-mcnally-deterministic-cbor/
> Html:           https://www.ietf.org/archive/id/draft-mcnally-deterministic-cbor-03.html
> Htmlized:       https://datatracker.ietf.org/doc/html/draft-mcnally-deterministic-cbor
> Diff:           https://author-tools.ietf.org/iddiff?url2=draft-mcnally-deterministic-cbor-03
> 
> Abstract:
>  CBOR (RFC 8949) defines "Deterministically Encoded CBOR" in its
>  Section 4.2.  The present document provides the application profile
>  "dCBOR" that can be used to help achieve interoperable deterministic
>  encoding.
> 
> Discussion Venues
> 
>  This note is to be removed before publishing as an RFC.
> 
>  Source for this draft and an issue tracker can be found at
>  https://github.com/BlockchainCommons/WIPs-IETF-draft-deterministic-
>  cbor.
> 
> 
> _______________________________________________
> CBOR mailing list
> CBOR@ietf.org
> https://www.ietf.org/mailman/listinfo/cbor