Re: [core] Review of draft-ietf-core-comi-09

Klaus Hartke <hartke@projectcool.de> Mon, 04 May 2020 18:12 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 B74333A1019 for <core@ietfa.amsl.com>; Mon, 4 May 2020 11:12:01 -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 uPpZLFtNieX9 for <core@ietfa.amsl.com>; Mon, 4 May 2020 11:11:59 -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 F06403A1005 for <core@ietf.org>; Mon, 4 May 2020 11:11:57 -0700 (PDT)
Received: from mail-qk1-f182.google.com ([209.85.222.182]); authenticated by wp382.webpack.hosteurope.de running ExIM with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) id 1jVfZM-0002kv-1r; Mon, 04 May 2020 20:11:56 +0200
Received: by mail-qk1-f182.google.com with SMTP id f83so438741qke.13 for <core@ietf.org>; Mon, 04 May 2020 11:11:56 -0700 (PDT)
X-Gm-Message-State: AGi0PubPBmK0qAUUrAg6geekMM/M30IuOl5R9AUHNtvXvCyyZY05vkd7 pLibAHmGHtHD1Mm5kYmkOggofogB0oB1riWUiDw=
X-Google-Smtp-Source: APiQypKRjw90DDZ7DdUw9T5UdealD3IXxWkuV9GI7aoBC6XnLJY7mvdbtQ9nuTeV9eKE95PLDhUTBOoEyGEY2qNxBMI=
X-Received: by 2002:a05:620a:13c6:: with SMTP id g6mr437604qkl.453.1588615914773; Mon, 04 May 2020 11:11:54 -0700 (PDT)
MIME-Version: 1.0
References: <CAAzbHvbCwoCnwCfGRFtP5aWzCH8WKcp5QCjH9t75ptAkDj0vVg@mail.gmail.com> <CAJFkdRxz-dohOXOrimB3eMdnSLjnwu3b=+HD1h1ZXrygzGcXRg@mail.gmail.com>
In-Reply-To: <CAJFkdRxz-dohOXOrimB3eMdnSLjnwu3b=+HD1h1ZXrygzGcXRg@mail.gmail.com>
From: Klaus Hartke <hartke@projectcool.de>
Date: Mon, 04 May 2020 20:11:22 +0200
X-Gmail-Original-Message-ID: <CAAzbHvYatuJdR3S+gAs0NsL-tio5uM4TFcjR7RyMmLaRh_mqMw@mail.gmail.com>
Message-ID: <CAAzbHvYatuJdR3S+gAs0NsL-tio5uM4TFcjR7RyMmLaRh_mqMw@mail.gmail.com>
To: Ivaylo Petrov <ivaylo@ackl.io>
Cc: "core@ietf.org WG" <core@ietf.org>
Content-Type: text/plain; charset="UTF-8"
X-bounce-key: webpack.hosteurope.de; hartke@projectcool.de; 1588615918; b0e0659e;
X-HE-SMSGID: 1jVfZM-0002kv-1r
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/jmMmSaOrdQ27CfO8Ao3h_ja2xfI>
Subject: Re: [core] Review of draft-ietf-core-comi-09
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: Mon, 04 May 2020 18:12:02 -0000

Ivaylo Petrov wrote:
> I have changed content format to content type in all places where such a change seemed necessary. Please do not hesitate to let me know if I have missed any place or if I have misunderstood you.

Hmm... I think in section 2.4 you're actually talking about media
types, not content types.

(I know it's confusing! Have a look at
https://tools.ietf.org/html/draft-bormann-core-media-content-type-format-01)

>> Section 4: It's not okay to mandate or recommend specific paths like
>> </c> and </s>. Not even with a lower-cased "recommended". It's fine to
>> define a path structure after the "root path" of the application and
>> use an example path in examples, but implementers should not be
>> restricted or discouraged in any way to choose a different path (see
>> BCP 190). The best choice is probably to use a long, not very nice
>> looking path like </path/to/the/data/store/X9?k="eth0">, so that
>> implementers immediately get the idea to pick a shorter path
>> themselves :-)
>
> [IP]: I believe I captured what was suggested here, but please check if that is indeed the case.

Hmmm... maybe </path/to/the/data/store/X9?k=eth0> wasn't the best
idea. Some examples now overflow the page width. And it's a bit
difficult to see where the free-to-choose path segments end and the
standardized path segments start.

Maybe </...coreconf-path.../X9?k=eth0>?

BTW, in examples I think <example.com/something> should be
<coap://example.com/something> or <coaps://example.com/something>.
<example.com/something> looks like a relative URI where the first path
segment happens to contain a dot.

In see in some tables and examples </c> still being used. Is that
intentional? I think it would be better to use the same path prefix
everywhere consistently. (At least the text should point out what
free-to-choose path segments are used in examples.)

>> Section 4: The document specifies the API in terms of the CoAP
>> Uri-Query option a lot. The Uri-Query option is just the way how the
>> query string of the request URI is encoded in CoAP, though. It would
>> be better to specify the API in term of query strings and not to
>> mention the Uri-Query option.
>>
>> Section 4.1: It's unclear if a client should send the query string
>> <?k=0> or <?k="0"> (with quotes, as shown in the table) for a Boolean
>> value.
>
> [IP]: I believe now this is clear. It is now also clarified that 0 maps to false and 1 to true (which might not be what a person using a lot of bash would expect).

The text now says:

    o The method int2str() is used to convert an integer value to a
       decimal string. For example, int2str(\x01\x23) returns the three-
       character string "291" (the quotes are added for readability, but
       they are not part of the payload).

Why does int2str now take a byte string as input?

And I think one of "the three-character string "291"" or "(the quotes
are added for readability, but they are not part of the payload)" is
enough, you don't need both :-)

Proposal:

    o The method int2str() is used to convert an integer value to a
       decimal string. For example, int2str(0x0123) return the three-
       character string "291".

The text now says on Booleans:

    o The boolean representations (0) and (1) are the single character
       strings U+0030 and U+0031, where false maps to (0) and true maps
       to (1).

Why not just something like this?

    o The boolean values false and true are represented as the single-character
       strings "0" and "1" respectively.

Then the text now says:

    The resulting key strings are joined using commas between two
    consecutive key values to produce the value of the 'k' parameter.

That's a good clarification.

    The string value of the 'k' parameter is encoded in a Uri-Query as
    specified in [RFC7252] section 6.5.

It seems after "Uri-Query", the word "option" is missing. I think I'd
just omit this sentence, though. It should be clear that query
parameters are encoded as Uri-Query options in CoAP, no?

Klaus