Re: [core] AD review of draft-ietf-core-resource-directory-23

Christian Amsüss <christian@amsuess.com> Tue, 19 November 2019 12:57 UTC

Return-Path: <christian@amsuess.com>
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 083D0120916 for <core@ietfa.amsl.com>; Tue, 19 Nov 2019 04:57:43 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_NONE=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 wytSKu33-OaP for <core@ietfa.amsl.com>; Tue, 19 Nov 2019 04:57:40 -0800 (PST)
Received: from prometheus.amsuess.com (prometheus.amsuess.com [5.9.147.112]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 89343120104 for <core@ietf.org>; Tue, 19 Nov 2019 04:57:40 -0800 (PST)
Received: from poseidon-mailhub.amsuess.com (unknown [IPv6:2a02:b18:c13b:8010:a800:ff:fede:b1bd]) by prometheus.amsuess.com (Postfix) with ESMTPS id AAFA1471BF; Tue, 19 Nov 2019 13:57:38 +0100 (CET)
Received: from poseidon-mailbox.amsuess.com (hermes.amsuess.com [10.13.13.254]) by poseidon-mailhub.amsuess.com (Postfix) with ESMTP id 63CBF36; Tue, 19 Nov 2019 13:57:37 +0100 (CET)
Received: from hephaistos.amsuess.com (unknown [IPv6:2a02:b18:c13b:8010:e510:c0e1:d0ea:f6c4]) by poseidon-mailbox.amsuess.com (Postfix) with ESMTPSA id E29D746; Tue, 19 Nov 2019 13:57:36 +0100 (CET)
Received: (nullmailer pid 578919 invoked by uid 1000); Tue, 19 Nov 2019 12:57:33 -0000
Date: Tue, 19 Nov 2019 13:57:33 +0100
From: Christian Amsüss <christian@amsuess.com>
To: Alexey Melnikov <alexey.melnikov@isode.com>
Cc: "core@ietf.org" <core@ietf.org>
Message-ID: <20191119125733.GA8007@hephaistos.amsuess.com>
References: <481f9820-bcea-af6a-d5c4-d713be24d43d@isode.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="+HP7ph2BbKc20aGI"
Content-Disposition: inline
In-Reply-To: <481f9820-bcea-af6a-d5c4-d713be24d43d@isode.com>
User-Agent: Mutt/1.12.2 (2019-09-21)
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/qyU1F733X_SMGac5eThN0uKECe8>
Subject: Re: [core] AD review of draft-ietf-core-resource-directory-23
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, 19 Nov 2019 12:57:43 -0000

Hello Alexey,
hello CoRE,

thank you for your review. I'll only answer to points here that actually
need responses or further comments from the group. Everything else is
directly taken up as to be trivially fixed.

On Mon, Nov 04, 2019 at 05:06:45PM +0000, Alexey Melnikov wrote:
> In 4.3:
>   The well-known entry points SHOULD be provided to enable unicast
> discovery.
> 
> I don't see a new .well-known value being registered in the IANA
> Considerations section. Have I misintepreted what this mean?

This is referring to the existing .well-known/core discovery URI that is
heavily used in RD.

(The grouping of this requirement in the context of the section can be
improved still).


> In 4.3, 6th para:
> 
>    Clients of the RD
>    SHOULD therefore accept URIs of all schemes they support, both as
>    URIs and relative references,
> 
> Did you mean to say "absolute URIs"? Relative URIs are still URIs

(and later points on "absolute URI" / "relative URI")

Klaus answered that point very well.

We've had the "absolute URI" term in there for quite some time until
exactly what he said was pointed out; the wording should now be
consistent of "relative references" and "URIs", which are occasionally
annotate as "full URIs" to emphasise that relative references are not
meant. The term "path-absolute form" is taken from relative references'
ABNF, and I did not find any more commmon-language experssion for
"relative reference and not a URI", especially as more exotic forms like
"//host/path" are undesirable in those places as well.


> In 5.3, 1st para:
> 
>    This section describes how the registering endpoint can maintain the
>    registrations that it created.  The registering endpoint can be the
>    registrant-ep or the CT.  An endpoint SHOULD NOT use this interface
> 
> Why SHOULD NOT (instead of MUST NOT) and how is this enforced?

This is more expressing the intention than anything enforcable. Frankly,
it is a bit imprecise: The goal is to discourage any agents enumerating
registrations from the endpoint lookup and trying to enhance them.
Endpoints switching addresses (thus technically becoming different
endpoints) and updating their registration is encouraged.

There are some cases in the middle we probably don't want to rule out
but caution against, invoking "SHOULD"'s "know what you're doing" which
we may not want to rule out (but have not discussed).

In the end, enforcement is up to the security policy -- if an agent
knows a registration URI and has the authorization to act on it, that
will succeed.


> In 6.2:
> 
>       search :=  Search criteria for limiting the number of results
>          (optional).
> 
> I think this is undespecified.
> 
> Can you give me an example?

The description for this is above that interface description in the "A
link matches a search criterion if" paragraph.

Is your point about this being underspecified about the description as a
whole, or just about the discoverability of the text (which should be
easy to fix with something just a bit more elaborate than "(see above)"
note)?

Note that in the URI-Template, it says "search*", with the explode
modifier ("*") indicating that any otherwise unmatched query parameters
go into an associative array named "search".

The first two examples right after that section are "search" examples.
In the "/rd-lookup/res?rt=temperature" example, search is matched as a
[("rt", "temperature")] associative array.

> In 9.3:
> 
>    o  validity requirements if any, and
> 
> Does this include syntax?

If structured fields are registered, yes -- but I expect most entries to
be simple like "integer" (implying "ASCII encoded decimal integer").


> At the end of section 9.3:
>    It is expected that the registry will receive between 5 and 50
> registrations in total over the next years.
> 
> This will not age well! Maybe remove this text from the document and add it
> to the spherding write-up?

Doesn't this need to be in the requesting document, per BCP26's "It is
also a good idea to include, when possible, a sense of whether many
registrations are expected over time, or if the registry is expected to
be updated infrequently or in exceptional circumstances only."?

But if not, I'll remove the paragraph and alert Jaime as the shepherd.


> I think the following reference is Normative the way it is used in the
> document:
> 
>    [I-D.ietf-core-rd-dns-sd] Stok, P., Koster, M., and C. Amsuess, "CoRE
> Resource Directory: DNS-SD mapping", draft-ietf-core-rd-dns-sd-05 (work in
> progress), July 2019.

<personal>Oh please not</personal>.

I suppose this is due to "The use of DNS facilities is described in
[rd-dns-sd]" being listed as a recommended way, or are there more
aspects to it?

The DNS-SD component has been holding RD back quite a bit, so if it's that
recommendation, I assume the group might want to reconsider recommending
that mechanism for discovering the RD.


Kind regards
Christian

-- 
Yesterday is history, tomorrow is a mystery, and today is a gift. That
is why it is called the present.
  -- ancient saying