[Cbor] [Errata Held for Document Update] RFC8610 (6543)

RFC Errata System <rfc-editor@rfc-editor.org> Fri, 23 April 2021 15:34 UTC

Return-Path: <wwwrun@rfc-editor.org>
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 50BFC3A12C3; Fri, 23 Apr 2021 08:34:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_BLOCKED=0.001, 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 wB4dqIkrT8kZ; Fri, 23 Apr 2021 08:34:30 -0700 (PDT)
Received: from rfc-editor.org (rfc-editor.org [4.31.198.49]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6A2FF3A12BE; Fri, 23 Apr 2021 08:34:30 -0700 (PDT)
Received: by rfc-editor.org (Postfix, from userid 30) id 63018F4078C; Fri, 23 Apr 2021 08:34:23 -0700 (PDT)
To: smbarte2@illinois.edu, henk.birkholz@sit.fraunhofer.de, christoph.vigano@uni-bremen.de, cabo@tzi.org
X-PHP-Originating-Script: 1005:errata_mail_lib.php
From: RFC Errata System <rfc-editor@rfc-editor.org>
Cc: francesca.palombini@ericsson.com, iesg@ietf.org, cbor@ietf.org, rfc-editor@rfc-editor.org
Content-Type: text/plain; charset=UTF-8
Message-Id: <20210423153423.63018F4078C@rfc-editor.org>
Date: Fri, 23 Apr 2021 08:34:23 -0700 (PDT)
Archived-At: <https://mailarchive.ietf.org/arch/msg/cbor/j1w8lrBBEXlwXva74N9gYGB7jks>
Subject: [Cbor] [Errata Held for Document Update] RFC8610 (6543)
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: Fri, 23 Apr 2021 15:34:35 -0000

The following errata report has been held for document update 
for RFC8610, "Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures". 

--------------------------------------
You may review the report below and at:
https://www.rfc-editor.org/errata/eid6543

--------------------------------------
Status: Held for Document Update
Type: Technical

Reported by: Sean Bartell <smbarte2@illinois.edu>
Date Reported: 2021-04-13
Held by: Francesca Palombini (IESG)

Section: B

Original Text
-------------
     bytes = [bsqual] %x27 *BCHAR %x27
     BCHAR = %x20-26 / %x28-5B / %x5D-10FFFD / SESC / CRLF

Corrected Text
--------------
     bytes = %x27 *BCHAR %x27
           / bsqual %x27 *QCHAR %x27
     BCHAR = %x20-26 / %x28-5B / %x5D-10FFFD / SESC / CRLF
     QCHAR = DIGIT / ALPHA / "+" / "/" / "-" / "_" / "=" / WS


Notes
-----
As discussed during the CBOR interim 2021-04-21 and in the mailing list: https://mailarchive.ietf.org/arch/msg/cbor/ekFn8a4GbUQAk4nyhc-Il-ZRLZc/
--

The ABNF used in [RFC8610] for the content of byte string literals lumps together byte strings notated as text with byte strings notated in base16 (hex) or base64 (but see also updated BCHAR production above):

bytes = [bsqual] %x27 *BCHAR %x27
BCHAR = %x20-26 / %x28-5B / %x5D-10FFFD / SESC / CRLF

Errata report 6543 proposes to handle the two cases in separate productions (where, with an updated SESC, BCHAR obviously needs to be updated as above):

bytes = %x27 *BCHAR %x27
      / bsqual %x27 *QCHAR %x27
BCHAR = %x20-26 / %x28-5B / %x5D-10FFFD / SESC / CRLF
QCHAR = DIGIT / ALPHA / "+" / "/" / "-" / "_" / "=" / WS

This potentially causes a subtle change, which is hidden in the WS production:

WS = SP / NL
SP = %x20
NL = COMMENT / CRLF
COMMENT = ";" *PCHAR CRLF
PCHAR = %x20-7E / %x80-10FFFD
CRLF = %x0A / %x0D.0A

This allows any non-C0 character in a comment, so this fragment becomes possible:

foo = h'
   43424F52 ; 'CBOR'
   0A       ; LF, but don't use CR!
'

The current text is not unambiguously saying whether the three apostrophes need to be escaped with a \ or not, as in:

foo = h'
   43424F52 ; \'CBOR\'
   0A       ; LF, but don\'t use CR!
'
... which would be supported by the existing ABNF in [RFC8610].

--------------------------------------
RFC8610 (draft-ietf-cbor-cddl-08)
--------------------------------------
Title               : Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures
Publication Date    : June 2019
Author(s)           : H. Birkholz, C. Vigano, C. Bormann
Category            : PROPOSED STANDARD
Source              : Concise Binary Object Representation Maintenance and Extensions
Area                : Applications and Real-Time
Stream              : IETF
Verifying Party     : IESG