Re: [core] Review of draft-ietf-core-coral-03

Klaus Hartke <hartke@projectcool.de> Tue, 09 June 2020 09:00 UTC

Return-Path: <hartke@projectcool.de>
X-Original-To: core@ietfa.amsl.com
Delivered-To: core@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2780D3A0B57; Tue, 9 Jun 2020 02:00:49 -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 DYXcoSZQaVSA; Tue, 9 Jun 2020 02:00:46 -0700 (PDT)
Received: from wp382.webpack.hosteurope.de (wp382.webpack.hosteurope.de [IPv6:2a01:488:42:1000:50ed:8597::]) (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 94CAC3A0A92; Tue, 9 Jun 2020 02:00:45 -0700 (PDT)
Received: from mail-qt1-f177.google.com ([209.85.160.177]); authenticated by wp382.webpack.hosteurope.de running ExIM with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) id 1jia7b-0005UM-NA; Tue, 09 Jun 2020 11:00:39 +0200
Received: by mail-qt1-f177.google.com with SMTP id q14so16974956qtr.9; Tue, 09 Jun 2020 02:00:39 -0700 (PDT)
X-Gm-Message-State: AOAM531+YUH76njBkqpTBn4BiOMQfVO28f/p6NGag6tmuqyhsNYDVzK8 bQrQ6s0xWVhIlKLQSgzU+/8G/dMn07lysohyUhc=
X-Google-Smtp-Source: ABdhPJz7mwONWxvcw/7wajWhn5W23PKnwvdylxEPYQbsPcCUqvAY8fL3OT+iNEFFfF5paKHh9l7TZmbY1kVWko6n130=
X-Received: by 2002:aed:3344:: with SMTP id u62mr27326516qtd.174.1591693238445; Tue, 09 Jun 2020 02:00:38 -0700 (PDT)
MIME-Version: 1.0
References: <000001d63d42$4902bb60$db083220$@augustcellars.com>
In-Reply-To: <000001d63d42$4902bb60$db083220$@augustcellars.com>
From: Klaus Hartke <hartke@projectcool.de>
Date: Tue, 09 Jun 2020 11:00:03 +0200
X-Gmail-Original-Message-ID: <CAAzbHvYRjt4zs6a1weO7y7_BB-Z+fQzKmOi=xauOu=H87gV8gQ@mail.gmail.com>
Message-ID: <CAAzbHvYRjt4zs6a1weO7y7_BB-Z+fQzKmOi=xauOu=H87gV8gQ@mail.gmail.com>
To: Jim Schaad <ietf@augustcellars.com>
Cc: draft-ietf-core-coral@ietf.org, "core@ietf.org WG" <core@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-bounce-key: webpack.hosteurope.de; hartke@projectcool.de; 1591693246; 82601a78;
X-HE-SMSGID: 1jia7b-0005UM-NA
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/a5J9ZrCeR8nCHV-daHEWpv0CUVI>
Subject: Re: [core] Review of draft-ietf-core-coral-03
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Constrained RESTful Environments \(CoRE\) Working Group list" <core.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/core>, <mailto:core-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/core/>
List-Post: <mailto:core@ietf.org>
List-Help: <mailto:core-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/core>, <mailto:core-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 09 Jun 2020 09:00:49 -0000

Hi Jim,

thanks a lot for your review!

> Section 2.3 – Suggested text change s/are in contrast denoted/are, in contrast, denoted/  I keep thinking that by contrast should be used, but I keep going back and forth on that so I would leave that along.  If you go that it would be /types, by contrast, are denoted/

Yeah, I had a bit of trouble with that sentence due to having both "in
CoRAL" and "in contrast". I've fixed the sentence as you suggested.

> Section 2.3 – s/collisions when from different/collisions from/

The sentence currently says "This allows for the decentralized
creation of new link relation types without the risk of collisions
when from different organizations or domains of knowledge." With your
proposed change, it would be "This allows for the decentralized
creation of new link relation types without the risk of collisions
from organizations or domains of knowledge." That doesn't seem to say
the same thing... Maybe "This allows for the decentralized creation of
new link relation types without the risk of collisions when they come
from different organizations or domains of knowledge."?

> Section 2.3 – The CBOR WG is defining two new tags for Date and TimeOfDay.  Should these be added as new literal values?

I've added these to the list of open issues related to literals:
<https://github.com/core-wg/coral/issues/56>

Dates without time and times-of-day always run into interesting
problems regarding time zones... something is on June 9th, 2020, or
something is at 11 a.m. -- but in what timezone? Do you have an
example where you'd use Date or TimeOfDay in a CoRAL document; how
would you handle timezones there?

> Section 2.3 – s/is neither identified by/is identified by neither/

Fixed.

> Section 2.6 – Step 5 – Can the request method be a FETCH as well as a GET?

How would a client know whether to do a FETCH or a GET? Would a server
be required to always support both? What would be the expected payload
of the FETCH?

> Section 4.1.4 – I do not believe that expanding the MEDIAL character set is really a good idea.  Consider the following where one of the line uses HYPEN-MINUS and the other line uses ARMENIAN HYPEN.  I cannot see a difference if I am reading this.
> #using AB-CD = IRI1
> #using AB֊CD = IRI2

(The list of medials comes from
<https://unicode.org/reports/tr31/#Specific_Character_Adjustments>.)

The issue of glyphs looking visually similar is more general than just
the hyphens; it basically applies to all identifiers and IRIs in the
CoRAL textual format. For that reason, I've referenced
<https://www.unicode.org/reports/tr36/tr36-15.html#visual_spoofing>
and <https://www.rfc-editor.org/rfc/rfc6943.txt> in the security
considerations section . But maybe that's not enough?

> Section 4.1.5.3 – There is a difference between the text and the ABNF for hexadecimal.  One of them only has the lowercase character and the other has both upper- and lowercase ‘x’.

Fixed. Both upper- and lowercase 'x' are intended to be permitted.

> Section 5.2 – I am trying to figure out if not returning a CoRAL document is considered to be reasonable or not.  Does the phrase “processing result” indicate an absent content?

The section is intended to just define the meaning of a CoRAL document
when it occurs in different kinds of responses. It isn't meant to say
that every response must contain a CoRAL document :-)

> Section 5.2.1 – If I return a link to the new document created in a CoRAL document, should I also return the location options or should they be omitted?

Again, the section isn't intended to say how you're supposed to
indicate the URL of a new resource. Just what the meaning of a CoRAL
document in the response to a POST is :-)

Maybe some sort of style guide for CoRAL-based applications would be
useful, giving recommendations such as whether to prefer the CoAP
Location-* options or the payload for indicating the URL of a newly
created resource.

> Section 6.1.3 – I am wondering if an application might also require that the links and forms in a document be encoded in a specific order?

That's a good question. My first reaction would be that that might be
overly restrictive. But maybe if that leads to measurable improvements
in code size or so, it might be worth considering. Do you perhaps have
an illustrative example?

> I skimmed the end of the document so I may do another pass on that section later.

Thanks!

Klaus