Re: [regext] RDAP and link context

Tom Harrison <tomh@apnic.net> Fri, 15 March 2024 02:03 UTC

Return-Path: <tomh@apnic.net>
X-Original-To: regext@ietfa.amsl.com
Delivered-To: regext@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8CBCBC14F69A for <regext@ietfa.amsl.com>; Thu, 14 Mar 2024 19:03:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.108
X-Spam-Level:
X-Spam-Status: No, score=-2.108 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, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=apnic.net
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7lEErQyULZTB for <regext@ietfa.amsl.com>; Thu, 14 Mar 2024 19:03:03 -0700 (PDT)
Received: from AUS01-ME3-obe.outbound.protection.outlook.com (mail-me3aus01on2112.outbound.protection.outlook.com [40.107.108.112]) (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 34D9AC14F680 for <regext@ietf.org>; Thu, 14 Mar 2024 19:03:03 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BvyeNP3shmS1aS25aMmjdzrQ355qFeCjgRYckYyykNtIhz4q17NDU/6vkAGhwak1thUJuqEPNHkppPh5Hw6FqZx1ty0uuzoG4wM8cN/H+aAfJYdlmmWfFlkgBShEN8M7ih8HHS9aFRRXHuQ9XvcK1lIrIcGlSpmJOaeMivTVzrC7Zzle7D3TTMOtPwOXpLZKa81mBsZAkSHpASq91hNj6cYBAAAs84Py9c/GNNYmdd1hOI9MnCyul1Cy3M6TRdYkxu2dqCF4UyTegunxETbqyc2x2AAMd//DIWEIgGZM8WV87gdnb3S4dGCgad1c0sb/+AL4Mrf5FyOo/IbTa1WzkQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=lrwrpuHvMgD46IDKI0qe4I68golfv9Rlu585vqxIkZ4=; b=gD2fa7LLO6ZoYFOJp78R3N14KPeaDXcDPo8s/P51hGr+Ol1cm92E+p2URpLGocdpSyiZlBQXbcdfWUpYpPhsQ4zlfTNkaeYE/qqzfV/BRy0lrotlcKgNxkr303dR6KlbpID6n/IAB5Hhy9w8EezpUcvg+bdYQHF2Tq8TPDXD7Xzbw4rWaJIdLSfkxhE1Xg3fYHp/BL51H23XN3nyqT9w8DgUd58lucO3/1ZJ1lqYF/tWttiq91sm8GpXzpod56ioYr9uYmLTO2zcNs+zgW+07reF6156EzrH5AUJYMCgAKtJndE9bfE0pCLS5r3Zq9BWgGmH4Bl/zX4KDJJaUPSlwA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=apnic.net; dmarc=pass action=none header.from=apnic.net; dkim=pass header.d=apnic.net; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=apnic.net; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lrwrpuHvMgD46IDKI0qe4I68golfv9Rlu585vqxIkZ4=; b=XTwTI1ifb1O3hzM7HiWRqRzeHTbbnz9qP4EnKcYK2MaoMruk1BeZP6H75xBb4x+9Yyn2LZI0K7ZoO6KvhAB2oVBqX6JD9X7AYObNg3muxMxpvfCUSomq+L8qvCakVXQ5Jk81fwWwoeN4q/sYk6WzOlqvz7NxFuCvfzv75C0cG+U=
Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=apnic.net;
Received: from SY7P282MB4761.AUSP282.PROD.OUTLOOK.COM (2603:10c6:10:273::5) by ME3P282MB1905.AUSP282.PROD.OUTLOOK.COM (2603:10c6:220:a3::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.21; Fri, 15 Mar 2024 02:02:58 +0000
Received: from SY7P282MB4761.AUSP282.PROD.OUTLOOK.COM ([fe80::9551:44e2:c0cb:9c49]) by SY7P282MB4761.AUSP282.PROD.OUTLOOK.COM ([fe80::9551:44e2:c0cb:9c49%7]) with mapi id 15.20.7386.017; Fri, 15 Mar 2024 02:02:58 +0000
Date: Fri, 15 Mar 2024 12:03:18 +1000
From: Tom Harrison <tomh@apnic.net>
To: "Andrew Newton (andy)" <andy@hxr.us>, James Mitchell <james.mitchell@iana.org>
Cc: "regext@ietf.org" <regext@ietf.org>, Jasdip Singh <jasdips@arin.net>, "Hollenbeck, Scott" <shollenbeck@verisign.com>
Message-ID: <ZfOsZqXqBbIuJ2-X@TomH-498551.lan>
Mail-Followup-To: "Andrew Newton (andy)" <andy@hxr.us>, James Mitchell <james.mitchell@iana.org>, "regext@ietf.org" <regext@ietf.org>, Jasdip Singh <jasdips@arin.net>, "Hollenbeck, Scott" <shollenbeck@verisign.com>
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <E6090FBF-FCFD-4831-BBD5-D5B20C1D322A@iana.org> <96CE291D-4D92-48A2-A936-8F9625E77F49@iana.org> <CAAQiQRco_P-U2EzwXPOudpohUvO0kNhbBkkFBGKbrCG+ANUogA@mail.gmail.com>
X-ClientProxiedBy: SY5P282CA0186.AUSP282.PROD.OUTLOOK.COM (2603:10c6:10:249::9) To SY7P282MB4761.AUSP282.PROD.OUTLOOK.COM (2603:10c6:10:273::5)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SY7P282MB4761:EE_|ME3P282MB1905:EE_
X-MS-Office365-Filtering-Correlation-Id: fb7d7eb8-3640-44b5-13f4-08dc44940959
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: h3SXygwRDSpRoygAZ9IueqFDJUqpMnxaT+idrrImTviOwKXqqyYrFohGMIGSmG2Sclo0bd5PxAbMEoo+OvGklme+RGpN2I+XRlkmId7M6asLnw1tyC2pFQ7Vgyjex4Vn1BiHM66VdvK/DNl23Py+6BbSLlnMdqj7opba12uXKXkNk7phytF+hjWvKQKvxBS8IIc89btNDwokZcH6hAtgF+22yP4AJzN1Auwu0sOiJC6xf0FrM2l0nLqMLTcS/QvvFCPcqEju/WAs8rAV5BZJrQg4+6a8nLomvCJqngPMAU5wyL2VM1J6v9k6IzlQpDrLmojbqrvT8V4UBhcC+uKlnxKzOKe1s7F0s8AtBRr8ol11onIkrAPW9vWGYk2Otlw5mFW6agCl7zrIN4x29sU3XktKg5KYncBz3App2PhWFRpzqPIBVOvTIvCWtv++2zLscjEfaX5GTaZumg0RMhURGLIKVaWjLpJvBE9inPPj7BPcsRAdbY23HLLIQGw321rmANkKPTKf7I21Qf6JN91J3sRT4AvD0rruX4IvwmRsFpOqQlu0WB4FowpcY+Je1Ly7pxDa5SQ4m6lAFoS2uL1NqsjwC2aFi2Wrenb7TI0h51U=
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SY7P282MB4761.AUSP282.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230031)(376005)(1800799015)(366007); DIR:OUT; SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: BRivsXcktXHBNoc293GW+82DLe1QTBHbljUZHEhN3XfnFiaDwmaWuOVyW9cq5Kvx4W4Z89onXlCVuIhBIpgMpaMdCsy4lGpM+Eq7Dnc2VXbrOWRaVAuCz/RW2SSKzTbdgMhdsJT7XLeU2sAGB4nLMnwDTSns1Aijj//1mjfxTmQ7AND40JypaJIUki8vAW7a95qDniGqziAohkGfbvUbWiK3BZ0PigEZQS3QpDpvkauRewYOebWPsb93rgODFOaoGznkCQJb1ycBpCYYsPO4X2jWite7Knlc4AaXaVj/phoQvlEsyzx3BtMwqaoX5PgesIjr/evoHEs/2mjhkhQwbIsI3C6U46k1e0R9BIDx1HGBQkMpHJYc8OcfyzVkRdZDdS5lTXlS+Ewv1gV5iqQkyrcYVwARBd3aOeqK74fpbm15FPNvBSSOdf+cLYicACd67cwUHk6f8DGulz5pDW+06UKyqPOirx6gZdl1PHpp67fAGqbXw+GfI5sWHNA56jiDjHOK26ze8R1b/jRzzhB0RolZDTPjqeYGnTy1EnPFarfGPXJ9qVsvVzvyx/o/Nx/tLEk2Uy4tKHdw4l34xlmqZ7vWSMGzlMoCiFdF4OLGSg4xAyCVWsqCDL0z1N1M7IaJM93/kOziLbs8GMjC25SO+pEG070IVN3VibP5mJgyEHH0qEcrX3ruat1vElBhNG7ho30SRym5U8wy1TP2933rzB5N2+isBuuTkSNNT6BuqMQJpofH6g8Gmv2NdNX5zHxEbQmZ/Q1nNhWAkAdnZprWQC+YVDjJA+9xtxwWzPV4nj8mBqj2l1THhribZh+ezEh1VbipM1kLguRxInap+fNletQ6XBsd8GRSZtMlr79f/S3EE5VOyVS+cxwsRMOS7euqTa/crRhsmkgOoojQuJcd5fYjKkXjh/1qWTShSACx3cRgjoGomwV/bvLtxi4zEDWmnccuWGoKON8tGpzp19ejaUXQYkkabpXtGZhX1Bge4x0j0PqtqD5EZDilEq+d+bohcV6zV8ocUrIfWWNz6BKKx++1raiyfHbBdUM9lBNHck7fDoQgc9jhmuiWxOWltwUj+VSr+IoaPkgjBu3uIdR16XrWmHX+M4gbdCXUhFNC2I2JvQmLlG/TkfSycNDrvSZ7HSdu3fPWoOLLZfoAdQBx09baT9XmWz73uniGmPQfDCy96UpjjnyVgMWX0ZS/MVjlryVaoqeJIUMAsgk5xQ4Ns24KZlJ8DtqcZ16kSjvod+GAJtaGAalR26jOqbngR9JWfLCIlj7sYuaUAFymTpg628JRw8Y3CKkdGlqFNAaVJH9Y47JKa+rntdXLh5/c1FplLAjKkFUyi/LKj5d8qYR5+8TEgQNa1mXohBFMJKHiXZqS1SOko5OwdcDZ4tDJSQiiawFeHZoyL6uEaNmvXZxEI3VXNPjcUKOojgoqbqFkZxvVr1RJ/79vzfnfJ5PyADgrUFz+q92lCVjIcHsw9hZrGdO2ViFnkZtmCXnLhMFhAUAiZ17tWItr/K5bvWhahGqSE137GF8zC4xPOExUsD5gNXczb6JeikbOukrNg0tnRm2ZGbb57GlXvb4gS02oRAswFvbQ14VSiHMUNRWP6GnbvpiOvim2Lg0TBvjMheq8sxMXqNK4Lty4q4ps2auazxCp
X-OriginatorOrg: apnic.net
X-MS-Exchange-CrossTenant-Network-Message-Id: fb7d7eb8-3640-44b5-13f4-08dc44940959
X-MS-Exchange-CrossTenant-AuthSource: SY7P282MB4761.AUSP282.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2024 02:02:58.3547 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 127d8d0d-7ccf-473d-ab09-6e44ad752ded
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mlLXmJ/3H0+m4hhaeso/Jbr9fk6Cmkhlai/FRmMlrSEiOFgpygyLfOWQ43RWjh7R
X-MS-Exchange-Transport-CrossTenantHeadersStamped: ME3P282MB1905
Archived-At: <https://mailarchive.ietf.org/arch/msg/regext/Xv6MMR4ud-xZpPId4PwBjObjTgw>
Subject: Re: [regext] RDAP and link context
X-BeenThere: regext@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Registration Protocols Extensions <regext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/regext>, <mailto:regext-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/regext/>
List-Post: <mailto:regext@ietf.org>
List-Help: <mailto:regext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/regext>, <mailto:regext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Mar 2024 02:03:07 -0000

Hi all,

On Wed, Feb 28, 2024 at 07:03:10AM -0500, Andy Newton wrote:
> I believe you are correct that a link context is not well defined.
> It is supposed to be the scope in which a link is to be understood.

RFC 8288 (section 2) has:

    This specification does not define a general syntax for links
    across different serialisations, nor does it mandate a specific
    context for any given link; it is expected that serialisations of
    links will specify both aspects.

which appears to leave the definition of context open, but in section
2.1 it has:

    In the simplest case, a link relation type identifies the
    semantics of a link.  For example, a link with the relation type
    "copyright" indicates that the current link context has a
    copyright resource at the link target.

    Relation types are not to be confused with media types [RFC2046];
    they do not identify the format of the representation that results
    when the link is dereferenced.  Rather, they only describe how the
    current context is related to another resource.

and in section 2.1.1.1, about link relation registrations:

   o  *Description*: A short English description of the type's
      semantics.  It SHOULD be stated in terms of the relationship
      between the link context and link target.

so although there's an expectation that specifications making use of
web links will define how the context is to be set, there are some
bounds on what a specification is able to do here.

In the APNIC implementation, the request URI is used for the context
for all links in a response.  However, given the text in 8288, that
behaviour doesn't appear to be correct.  For example, for a link in a
nested entity in a search response:

    $ curl -s https://rdap.apnic.net/entities?fn=Test* | jq .entitySearchResults[0].links
    [
      {
        "value": "https://rdap.apnic.net/entities?fn=Test*",
        "rel": "self",
        "href": "https://rdap.apnic.net/entity/TC1001-AP",
        "type": "application/rdap+json"
      }
    ]
    $

Given that the link relation description for "self" from the registry
is "[c]onveys an identifier for the link's context", I think the
"value" entry above should be
"https://rdap.apnic.net/entity/TC1001-AP", rather than the request
URI.

On Mon, Mar 04, 2024 at 06:58:43PM +0000, James Mitchell wrote:
> The link context should not have been made mandatory. If you are to
> fix this, I would suggest text along the lines of:
> 
> A link must have a context, a relation type, and a target as
> described in Section 2 of [RFC8288]. By default, the context is the
> is the URI associated with the entire JSON response and does not
> need to be explicitly defined. The "value" JSON value can be used to
> assign a different context URI, however servers and clients should
> be aware of Section 3.2 and Section 5 of [RFC8288] when providing
> assigning different contexts. The JSON name/values of "rel", "href",
> "hreflang", "title", "media", and "type" correspond to values found
> in Section 3<https://www.rfc-editor.org/rfc/rfc8288#section-3> of
> [RFC8288<https://www.rfc-editor.org/rfc/rfc9083#RFC8288>].  A
> "related" link relation MUST NOT include an "href" URI that is the
> same as the "self" link relation "href" URI to reduce the risk of
> infinite client processing loops. Internationalized Domain Names
> (IDNs) returned in URIs SHOULD be consistently returned in LDH name
> format to allow clients to process these IDNs according to their
> capabilities.

Because nested objects are included in responses, I don't think
defaulting to "use the request URI" can work here.  I think it would
work better if the guidance were about using the URI of the specific
object within which the link appears.

On Tue, Mar 05, 2024 at 08:42:43PM +0000, James Mitchell wrote:
> From: "Andrew Newton (andy)" <andy@hxr.us>
>> What's the issue with setting it to the request URI?
> 
> The server can’t pre-compute a response where multiple URIs map to
> one object – one has to patch any pre-computed response prior to
> sending back on the wire. This is a use of compute resources for
> what seems to be no benefit. I could have the response link the
> request.path to a canonical path, and anchor links of that canonical
> path, but this seems like busywork.

I understand the first two sentences here, but I'm not sure about the
last one.  If the server accepts a request like /domain/EXAMPLE.ORG,
and returns exactly the same response as it would for the request
/domain/example.org (i.e. all top-level context URIs in the response
are ".../domain/example.org"), that seems like a reasonable approach
that the current text permits.  It also means that a single canonical
response for /domain/example.org can be generated ahead of time, and
returned to all requestors.  What is the concern here regarding
canonicalisation?

-Tom