[core] Resource Directory vs RFC 6690

"Kovatsch, Matthias" <matthias.kovatsch@siemens.com> Tue, 11 April 2017 11:06 UTC

Return-Path: <matthias.kovatsch@siemens.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 A7D06128C83 for <core@ietfa.amsl.com>; Tue, 11 Apr 2017 04:06:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.919
X-Spam-Level:
X-Spam-Status: No, score=-6.919 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01] 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 sU_k1RRlMRe3 for <core@ietfa.amsl.com>; Tue, 11 Apr 2017 04:06:22 -0700 (PDT)
Received: from gecko.sbs.de (gecko.sbs.de [194.138.37.40]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BE7CB126C2F for <core@ietf.org>; Tue, 11 Apr 2017 04:06:21 -0700 (PDT)
Received: from mail1.sbs.de (mail1.sbs.de [192.129.41.35]) by gecko.sbs.de (8.15.2/8.15.2) with ESMTPS id v3BB6J5L002064 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for <core@ietf.org>; Tue, 11 Apr 2017 13:06:19 +0200
Received: from DEFTHW99ERKMSX.ww902.siemens.net (defthw99erkmsx.ww902.siemens.net [139.22.70.147]) by mail1.sbs.de (8.15.2/8.15.2) with ESMTPS id v3BB6IwW000962 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for <core@ietf.org>; Tue, 11 Apr 2017 13:06:19 +0200
Received: from DEFTHW99ER3MSX.ww902.siemens.net (139.22.70.74) by DEFTHW99ERKMSX.ww902.siemens.net (139.22.70.147) with Microsoft SMTP Server (TLS) id 14.3.339.0; Tue, 11 Apr 2017 13:06:18 +0200
Received: from DEFTHW99EL4MSX.ww902.siemens.net ([169.254.5.68]) by DEFTHW99ER3MSX.ww902.siemens.net ([139.22.70.74]) with mapi id 14.03.0339.000; Tue, 11 Apr 2017 13:06:18 +0200
From: "Kovatsch, Matthias" <matthias.kovatsch@siemens.com>
To: "core@ietf.org" <core@ietf.org>
Thread-Topic: Resource Directory vs RFC 6690
Thread-Index: AdKys6Slnkh1vPiYReSfMVxW3VUVvQ==
Date: Tue, 11 Apr 2017 11:06:17 +0000
Message-ID: <4EBB3DDD0FBF694CA2A87838DF129B3C01B22B64@DEFTHW99EL4MSX.ww902.siemens.net>
Accept-Language: en-US
Content-Language: de-DE
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [139.22.70.33]
Content-Type: multipart/alternative; boundary="_000_4EBB3DDD0FBF694CA2A87838DF129B3C01B22B64DEFTHW99EL4MSXw_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/ODVL-j6OJLQhUtjRVwiarCVEQyY>
Subject: [core] Resource Directory vs RFC 6690
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.22
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, 11 Apr 2017 11:06:23 -0000

Dear list,
dear Michael

While talking with people from an industry alliance building their standard on CoAP, it came up that RD lookups need to support multiple query parameters with an AND conjunction. draft-ietf-core-resource-directory-10, Section 7 supports this:

        "Multiple query parameters MAY be included in a lookup"

It might be clearer to also mention the logical AND conjunction here.
The confusion for this requirement mainly arose from the Link Format RFC 6690, Section 4:

        "/.well-known/core{?search*}
         where the variable "search" is a 1-element list that has a single name/value pair"

The lookup on /.well-known/core only allows a single query parameter. This was decided to not demand too much query processing from constrained devices. The query feature is overall a MAY, that is, it might not be implemented at all. That means, also links that do not match the query could be returned.

This is in conflict with draft-ietf-core-resource-directory-10, Section 7, where it says further:

        "all included parameters MUST match for a resource to be returned."

I say conflict because we should have the principle of the least surprise. RD res-lookup and /.well-known/core are very similar. The latter could also offer the same filtering as RD based on the server's resource(=link) attributes.

Furthermore, I think the "MUST match" is inappropriate. It must be up to the client to select the correct link. Just compare it to Google, where besides irrelevant results also ads are included in the results and it is up to the user to decide which links to click on. While I fully understand that there is usually no user involved, it would make a more robust system, when the client has the responsibility to select the appropriate link and not blindly the first one because it trusts the MUST in a specification.

What do you think?
Should we file errata for RFC 6690 and fix this?
Did I miss updates from RFC 7252?

Ciao
Matthias