Re: [core] Unnecessary "anchor" attributes in draft-ietf-core-resource-directory-25 ?

Esko Dijk <esko.dijk@iotconsultancy.nl> Mon, 26 October 2020 09:28 UTC

Return-Path: <esko.dijk@iotconsultancy.nl>
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 8ACC43A1A02 for <core@ietfa.amsl.com>; Mon, 26 Oct 2020 02:28:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.101
X-Spam-Level:
X-Spam-Status: No, score=-2.101 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=iotconsultancy.nl
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 LIrtyq8lj9n6 for <core@ietfa.amsl.com>; Mon, 26 Oct 2020 02:28:47 -0700 (PDT)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2118.outbound.protection.outlook.com [40.107.21.118]) (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 299E63A19FF for <core@ietf.org>; Mon, 26 Oct 2020 02:28:46 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=R6gvlzBaPsk/FncpHoJIUaszk4eNHLMLT3/11V/pNNrg5So3uYgJKarX+yO00bp7WklU6qrECScVUx9VZi4sus8H8GsxNeUUcoGyUZJb6gh44s+g4HgqUrb4hyITPc/PtB9cFKC+0JBirRUIEAhf3rk+It9Pfvp9OS+qxdiCGLLG6c4KAL90Dz4TZqsiZyI/c4nAbRcOAEJFfDnDjlxlkczWSlRIp/xaB7LTWLp3mFMnNf4kH9roHBk5QxccFmLDaXSppRJRut0p1ofi918oqJfCalHxw2PnKbP9h/atD5GGg1Xpb8n8DrZmcZDCrXbSqSkeb0sgXBA1GAo86rDLEA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1R/zcy4BxX+5+tpsx42MzSujh5KbyZivXlMfKF0RRVY=; b=Z85qs1ySoAPnDKtvON3SsFUNSfCFT6HBK/v607rPpYUBDgkzcuq0B3WwOdql1T1BOCOMZE1XYmH8B9H/gE8d9/UTehy+GQCkrnj0ljCDqchZJzBU6+fOPi3f52lLvANQUpSDNTitq0ChrRwENkxG3lnEss7w53D00KeXEH9AgOgodol0wpWgnZtd3cCDNu5wdtRmMVBGNjcnih2U1YSUEilEl1VzST8E/V/0aOTVoN9xZo9F9rA96DaKG7wvTb7Bdu6IRH4PpU0DU+BMmdA4N5HatU+vXme3mMuogS1gmbS5L3O63YvxZ94MMQpgfJj0pHHOtN8lSGZncDDWKlxopA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=iotconsultancy.nl; dmarc=pass action=none header.from=iotconsultancy.nl; dkim=pass header.d=iotconsultancy.nl; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iotconsultancy.nl; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1R/zcy4BxX+5+tpsx42MzSujh5KbyZivXlMfKF0RRVY=; b=EbxEmZ61xfEqJ2LhsGSDMCtlBv6Paw7I4zrU1xQiGLh2P3Dj6i2xakpbjBoc4xrxsq68sBNuLDYVUVAt8R1qyT+oMB/YO9F40Z7iDTTM7gG7JUA37gWfXhcnMFaZYblQmCVqzqtoKBS6f5vamprEzp/nQWtcf7D3feCmW7U32+4=
Received: from AM8P190MB0979.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:1d3::8) by AM4P190MB0035.EURP190.PROD.OUTLOOK.COM (2603:10a6:200:59::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3477.23; Mon, 26 Oct 2020 09:28:43 +0000
Received: from AM8P190MB0979.EURP190.PROD.OUTLOOK.COM ([fe80::b0bf:bd8a:de8f:55fa]) by AM8P190MB0979.EURP190.PROD.OUTLOOK.COM ([fe80::b0bf:bd8a:de8f:55fa%5]) with mapi id 15.20.3499.018; Mon, 26 Oct 2020 09:28:43 +0000
From: Esko Dijk <esko.dijk@iotconsultancy.nl>
To: Christian Amsüss <christian@amsuess.com>
CC: "core@ietf.org" <core@ietf.org>
Thread-Topic: [core] Unnecessary "anchor" attributes in draft-ietf-core-resource-directory-25 ?
Thread-Index: AdagiZ7ddTpjV6VySOOkvoVV5WS9KQGQp6uAAC9rtEAABSmPAAABpo/AAAGlLiAAALQfgADxGRJw
Date: Mon, 26 Oct 2020 09:28:43 +0000
Message-ID: <AM8P190MB09798CC45FBD441E6FDD78D3FD190@AM8P190MB0979.EURP190.PROD.OUTLOOK.COM>
References: <AM8P190MB09798CB94C780DBB8DD718CBFD070@AM8P190MB0979.EURP190.PROD.OUTLOOK.COM> <20201020103159.GA311699@hephaistos.amsuess.com> <AM8P190MB0979BE1707EF27FDF6AAD2CFFD1C0@AM8P190MB0979.EURP190.PROD.OUTLOOK.COM> <20201021113736.GC303030@hephaistos.amsuess.com> <AM8P190MB09790D140ABDE73680E652CCFD1C0@AM8P190MB0979.EURP190.PROD.OUTLOOK.COM> <AM8P190MB097924775B30B12A7C4EFD17FD1C0@AM8P190MB0979.EURP190.PROD.OUTLOOK.COM> <20201021133207.GD303030@hephaistos.amsuess.com>
In-Reply-To: <20201021133207.GD303030@hephaistos.amsuess.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: amsuess.com; dkim=none (message not signed) header.d=none;amsuess.com; dmarc=none action=none header.from=iotconsultancy.nl;
x-originating-ip: [2001:1c02:3103:f000:831:730a:9dc6:3ef3]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: fc948f16-1f72-450b-7ede-08d87991880c
x-ms-traffictypediagnostic: AM4P190MB0035:
x-microsoft-antispam-prvs: <AM4P190MB00353D1AC2D5C6160C04F6E6FD190@AM4P190MB0035.EURP190.PROD.OUTLOOK.COM>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 2+tGl9ls2HJ8qNw98yg/CI4SLeEIIev/6BjCV2EO77CWBZWnrjoRmZc/EVJE3iCI9ie+zWU2wYkkCN4jhIAFyzrqPwmK1j64IHd1ywAooPwkHFa/CWTVfHfxVkZeHixlTJnZfrzCDW7QNcF4O6GU4ZRVuHaKTI/HZjlaNpTju9Zelf24nY4AUSS59NAbkSY8WBeqg0Ti2TU7B4w8rvI6o0cY7MtJtIovLtFsYgT+EHbLjy7zDKFBCDYyD3ybTj57rX7kCDzHh/AyxUUDGhOSHePFsDVs/Txh2+5iEhoGUBVwXtqAS5FzoPiKwffv8l8cqgHo44cDHvaLT7a124S9hA==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM8P190MB0979.EURP190.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(346002)(376002)(366004)(396003)(39830400003)(136003)(6506007)(66446008)(7696005)(55016002)(53546011)(8936002)(8676002)(52536014)(6916009)(66946007)(66476007)(76116006)(44832011)(66556008)(64756008)(5660300002)(2906002)(71200400001)(83380400001)(316002)(4326008)(33656002)(186003)(9686003)(66574015)(478600001)(86362001); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata: UAAhl0X61WALayNrWUBAw6X9Wg+cn5xShxz5nG2hX0eVTm6FW2ops4cUrPQPfWR42QkBrvoNdGZxWh4IlKw0UDluzfl4v0I7KTDS7l2l4+cp7X7g9XUU0DcNUUkDyT2fmWABVKCl39jX2XEJ2ot7uKt42WizcUAdJBI+upbxLyf5tgCyPqF44FJEruIOTUDp415jJ7xnS9/hME9B+rFdhpB8/oLOk+eHvGQz5lSDTaAQ3O7PxKqTzdEzH9g3mxmbVD7kO/fstXV+bbYsAPUFi7wrIqs2KktSN9oBByZzlpUdqciVuqt1LjlqNpqSQOCWTOFlOv7bOVH/5NgefqTMNf7QBHkb+9qg2Rg5yvZyr/ba6zKpxPibauyq23JGyYXwt//RFssl/p1PxdQ0TIJbj6WQiHwDQRchzHzfCv0AVxZciSTk1NFTxZX1/vOavjWJ/tHmOjmj75ddWT3FDFHJBbOTdprF8V8r+sMgnXAHjPl/z3lpC1vDBHGM1o27uiltnVtPDyQpTckO1bPPRz9CkNh2kpvKdyXlwSP61aaVNfX0ywgAcn9GVaupWgCgfsFOcb7pdLjaivrhP4Qpb8mAa5BOhWQ299IegF/Gdftqy0knmVvHv5AiIB6mWskqBNRPs9EZYd8YHnLmmhFslU+9o6UYaflVM5w5XyxVPb9zK/J8MsUN5uysCqOqCudgIW4GMfOc8LP2TCDwblr9PudTzg==
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: iotconsultancy.nl
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM8P190MB0979.EURP190.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: fc948f16-1f72-450b-7ede-08d87991880c
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Oct 2020 09:28:43.1449 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 58bbf628-15d2-46bc-820b-863b6774d44b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: zH/G78oOWVUNEhHnWFJr/4sCMJsMR61sgL4o3GtYIQxzgCvPbpCoCPuZVDO9RVHXbWUQr2//LOglLliMH17922GXfl64hB1Z6DJoMI38LRo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4P190MB0035
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/hJj2WnvQ76dglFIU4-_mchkG5Bo>
Subject: Re: [core] Unnecessary "anchor" attributes in draft-ietf-core-resource-directory-25 ?
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, 26 Oct 2020 09:28:50 -0000

Hello Christian,

> statement like coap://server1 hosts coap+sms://+15551234567/ might make
> a bit more sense, and the tautological definition of the relation

To me this looks as if not intended by RFC 6690 , because the server coap://server1 is a different server than the one on coap+sms://+15551234567 .  At least per RFC 7252, one server is one endpoint. So different endpoint is always a different server, or not?
(Interesting to note is that for clients it is similarly defined in RFC 7252, if a CoAP client changes its outgoing UDP port it becomes a different client.)

> The description in RFC6690 Section 2.2 doesn't help either; it
> potentially makes it worse by claiming that hosts only works with
> relative references in the target. That statement is probably what

Agree that the MUST statement there is problematic - I initially interpreted it as #1 below: 

** Interpretation #1
"resource indicated by the target URI MUST be a URI that can be potentially described as a relative reference with respect to context-URI used as base URI"
-> then 'coap://server1 hosts /test' would be valid.
-> then 'coap://server1 hosts coap://server1/test' would be valid.
-> then 'coap://server2 hosts coap://server1/test' would be invalid.

** Interpretation #2
But it could also be interpreted as
"target URI MUST be a URI of the ABNF form 'relative-ref' , and the target URI MUST be a relative reference with respect to context-URI used as base URI"
-> then 'coap://server1 hosts /test' would be valid.
-> then 'coap://server1 hosts coap://server1/test' would be invalid.
-> then 'coap://server2 hosts coap://server1/test' would be invalid.

If a majority of people interprets like #1, then we don't have to update/correct RFC 6690 and we can define a profile of Limited Link Format. And clarify a bit how we should read 6690.
If however most people interpret as #2, then current RD usage of rel=hosts for absolute target URI is incorrect and we would need to formally update RFC 6690 I think to make that possible.

> fueled my (probably mis?)conception about the target being resolved
> relative to the anchor, as only then it makes sense. (Salvaging it by

I assume for the moment the interpretation #1 as above. The target needs to be resolved relative to the context URI as per the Section 2.2 MUST requirement. The
context URI could be an explicit URI given by the 'anchor' attribute but it may also use the default, if that's not given.  If the target URI is an absolute URI
form then the default context URI becomes the origin of that target URI. So the MUST relation always holds true if the target URI is written in
an absolute URI form.   So in this case it (to me) makes sense that including any anchor parameter is not necessary in that case, even superfluous.

How to proceed with the issue of the different interpretations #1/#2?

Best regards
Esko

-----Original Message-----
From: Christian Amsüss <christian@amsuess.com> 
Sent: Wednesday, October 21, 2020 15:32
To: Esko Dijk <esko.dijk@iotconsultancy.nl>
Cc: core@ietf.org
Subject: Re: [core] Unnecessary "anchor" attributes in draft-ietf-core-resource-directory-25 ?

On Wed, Oct 21, 2020 at 01:21:42PM +0000, Esko Dijk wrote:
> That seems clear; from this answer - how could anyone be mistaken
> about the anchor i.e. which server is hosting the '/temp' resource ?
> There's only one server mentioned so that's the one right :)    
>
> And for the rel=hosts relation it would not make much sense to
> proclaim e.g. "coap://server1  hosts  coap://server2/resource"  ... 

That's intuitively clear for coap://server1 and coap://server2, but a
statement like coap://server1 hosts coap+sms://+15551234567/ might make
a bit more sense, and the tautological definition of the relation
doesn't help much there. As the meaning is so vague, I'm loathe to make
precise rules depend on it.

The description in RFC6690 Section 2.2 doesn't help either; it
potentially makes it worse by claiming that hosts only works with
relative references in the target. That statement is probably what
fueled my (probably mis?)conception about the target being resolved
relative to the anchor, as only then it makes sense. (Salvaging it by
saying there can't be an anchor with a hosts relation would just make it
worse by breaking RD).

KR
c

-- 
To use raw power is to make yourself infinitely vulnerable to greater powers.
  -- Bene Gesserit axiom