[regext] Re: Questions about draft-ietf-regext-rdap-x-media-type

Mario Loffredo <mario.loffredo@iit.cnr.it> Fri, 04 October 2024 08:50 UTC

Return-Path: <mario.loffredo@iit.cnr.it>
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 DFA7AC14F603 for <regext@ietfa.amsl.com>; Fri, 4 Oct 2024 01:50:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.005
X-Spam-Level:
X-Spam-Status: No, score=-2.005 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, 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 (2048-bit key) header.d=iit.cnr.it
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 nsbjq1Vc4wiU for <regext@ietfa.amsl.com>; Fri, 4 Oct 2024 01:50:29 -0700 (PDT)
Received: from mx5.iit.cnr.it (mx5.iit.cnr.it [146.48.58.12]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1BE61C14F5F5 for <regext@ietf.org>; Fri, 4 Oct 2024 01:50:28 -0700 (PDT)
DKIM-Filter: OpenDKIM Filter v2.11.0 mx5.iit.cnr.it 5A126C0ADC
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iit.cnr.it; s=mx520231221; t=1728031825; bh=KY3FQa8pH5T+IWc6VcNYPDh2O3oLbLP6+1Um/1Vvsvo=; h=Date:From:Subject:To:Cc:References:In-Reply-To:From; b=Idkk0eAe4F8xOuKMAaSU9e6cB0zPitrtzua04D2xKRjAJyIYiwipzTJgTmNC5/UFQ 2ovsQRqn1/XpjsrVOT+iHwONr9hJpMxKJUOtyJF8WyhNDxL1VQC9+jccpg8BNAxMQK TnCfLkAe0fy7VjvTkVekBlZ5UFS+eRb0iCHpL+UKdwJ0tm8/6EyNgYDXeJv9kglsR1 QVsRnFFtwbluR99xT70jZlDXjVG/XWLeh81C3ShlWatfJkA6dHjrk0kxnqRnovrqD4 mtIEzxdLGgiNqBhoOJKF3d0ODrOPjA6n48NVN5WMrAfxi8vNV5MvPhXqlN6xBLJGVw WvgH0Bev6uyxg==
Received: from localhost (localhost [127.0.0.1]) by mx5.iit.cnr.it (Postfix) with ESMTP id 5A126C0ADC; Fri, 4 Oct 2024 10:50:25 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at mx5.iit.cnr.it
Received: from mx5.iit.cnr.it ([127.0.0.1]) by localhost (mx5.iit.cnr.it [127.0.0.1]) (amavisd-new, port 10028) with ESMTP id IBGqzOzeoJMN; Fri, 4 Oct 2024 10:50:25 +0200 (CEST)
X-Relay-Autenticated: yes
Content-Type: multipart/alternative; boundary="------------gi9PcWFMBC56TiRC853QQL12"
Message-ID: <905ccb2e-c6f0-455b-a4d9-279f812471d9@iit.cnr.it>
Date: Fri, 04 Oct 2024 10:44:40 +0200
Mime-Version: 1.0
From: Mario Loffredo <mario.loffredo@iit.cnr.it>
To: "Andrew Newton (andy)" <andy@hxr.us>
References: <c89b159c-75d0-4f65-b70b-b0a830c2dc4d@iit.cnr.it> <CAAQiQRchsKsLjKPWE8PA9TYEMZXoxCZkT+K4SLqSbxbzPm+UTw@mail.gmail.com> <ec2b95c3-a225-466d-8255-bb18604483d2@iit.cnr.it> <aa5ba689-c3d3-49e9-a25f-c4959540e362@hxr.us>
Content-Language: it
In-Reply-To: <aa5ba689-c3d3-49e9-a25f-c4959540e362@hxr.us>
Message-ID-Hash: WI46U7MSLZA4QPQXNMHIPAAPYUXD3KRU
X-Message-ID-Hash: WI46U7MSLZA4QPQXNMHIPAAPYUXD3KRU
X-MailFrom: mario.loffredo@iit.cnr.it
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-regext.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: Jasdip Singh <jasdips@arin.net>, "regext@ietf.org" <regext@ietf.org>
X-Mailman-Version: 3.3.9rc5
Precedence: list
Subject: [regext] Re: Questions about draft-ietf-regext-rdap-x-media-type
List-Id: Registration Protocols Extensions Working Group <regext.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/regext/ED4_mwc_AZPRBtxXLZ8-U9a6-9o>
List-Archive: <https://mailarchive.ietf.org/arch/browse/regext>
List-Help: <mailto:regext-request@ietf.org?subject=help>
List-Owner: <mailto:regext-owner@ietf.org>
List-Post: <mailto:regext@ietf.org>
List-Subscribe: <mailto:regext-join@ietf.org>
List-Unsubscribe: <mailto:regext-leave@ietf.org>

Hi Andy,

again my comments below.

Il 03/10/2024 12:49, Andrew Newton (andy) ha scritto:
>
>
> On 10/2/24 12:33, Mario Loffredo wrote:
>>
>> Hi Andy,
>>
>> please find my comments below.
>>
>> Il 02/10/2024 16:24, Andrew Newton (andy) ha scritto:
>>> On Tue, Oct 1, 2024 at 3:53 AM Mario Loffredo<mario.loffredo@iit.cnr.it> wrote:
>>>> Hi Andy and Jasdip,
>>>>
>>>>
>>>> have some questions about draft-ietf-regext-rdap-x-media-type:
>>>>
>>>> 1) rdap_level_0 is included in "extensions" parameter, but it's not an extension, i.e. it's not included in the RDAP Extensions registry. Should it be removed?
>>>>
>>>> 2) If rdap_level_0 is an extension, is it required to be provided?
>>> It's not an extension but is RDAP's own versioning mechanism. It's
>>> included for symmetry with the rdapConformance array and can be used
>>> for the same purpose.
>>
>> [ML] In that case I recommend to change the following sentence to 
>> consider rdap_level_0  as a "special" extension as it's not included 
>> in the RDAP Extensions registry:
>>
>>     The media type defined by this document is 'application/rdap-x+json'.
>>     This media type has a parameter of "extensions" which is a
>>     whitespace-separated list of RDAP extensions as defined in the IANA
>>     RDAP Extensions registry.
>>
>> The alternative is to add rdap_level_0 to the registry.
>>>> 3) If rdap_level_0 is required, what should be the server response when the client doesn't include it or any required extension in the extension parameter?
>>> A very good question. It should be required and a server should
>>> continue to serve information in conformance to rdap_level_0 (or
>>> return a 415 if it cannot conform to rdap_level_0 in a futuristic
>>> scenario where ther is an rdap_level_1 or whatever).
>
>
> Well, its not an extension so it shouldn't go in the extensions 
> registry. I have added an issue in the tracker to add text noting that 
> rdap_level_0 is not an extension and is "special" in this scenario: 
> https://github.com/anewton1998/draft-regext-ext-json-media-type/issues/34
>
>
>> [ML] See my responses below.
>>>> 4) Should the server distinguish the optional and required extensions supported?
>>> What are the definitions of an optional and required extension?
>>
>> [ML] Based on your response to the previous question:
>>
>> - required extensions are those returned by default, i.e. regardless 
>> they are included in the extensions parameter. rdap_level_0 is an 
>> example but an RDAP server might always include a custom extension in 
>> its responses;
>>
>> - optional extensions are those returned only upon request.
>>
>> If there will ever be rdap_level_1, only one between rdap_level_0 and 
>> rdap_level_1 will be returned by default.
>>
>> How is
>> that meaningful to a client?
>>
>> [ML] It's  not meaningful to a client as it can't influence the 
>> server about returning the required extensions because they are 
>> returned anyway, but I think it would be good to address the 
>> difference between the two kind of extensions to make the server 
>> response consistent with the client request. A client would interpret 
>> the return of an unrequested extension as a server bug.
>>
>
> That is not how RDAP works. Clients are suppose to ignore unknown 
> extensions.
>

[ML] I was talking about "unrequested extensions" which can be different 
from "unknown extensions". I remind you that:

1) some custom extensions reported in the RDAP Extensions registry are 
returned by default, most likely to make the RDAP response consistent 
with the WHOIS response. After all, up to now, clients haven't been 
allowed to specify their preferences about response extensions hence 
servers have been free to extend their responses as needed;

2) based on what is stated by some RFCs, the server may autonomously 
return response extensions when certain conditions occurred (see the 
redacted property in RFC9537 and the paging_metadata property in 
RFC8977) or to provide clients with additional information about its 
capabilities (see the properties added to the "/help"response in RFC9536 
and RFC9560).

All of the response extensions above may be returned by servers without 
being requested by clients.

What do you propose to address this topic ?


In addition to it, I see a potential issue with a "/help" request 
including the extensions parameter and the related response.

Quoting Section 4.1 of RFC9083, Section 2.1 of 
draft-ietf-regext-rdap-extensions states that:

The "/help" response returns an
    "rdapConformance" member containing the identifiers for all
    extensions used by the server.

Section 3 of draft-ietf-regext-rdap-x-media-type states that:

    When there is a mismatch between extension parameters and the rdapConformance
    array, clients SHOULD give preference to the rdapConformance array

So, in general, whatever could be the extensions parameter of a "/help" 
request (most likely only  "rdap_level_0"), the server would ignore it 
to build the response.

Don't you think the client could response could misunderstand that 
response ?


Best,

Mario

>
>>>> 5) With regard to your concern about the usage of query parameters, what should be used instead in order to specify values in RDAP queries?
>>>> I mean, I could be good with using content negotiation to request for response extensions but it looks to me unfit to convey values in a query and we have already used that kind of query parameters in some RFCs.
>>>> Indeed, apart from the query parameters used in search queries (e.g. those defined by RFC8977 and RFC8982) which can hardly be redirected, section 4.2 of RFC9560 includes query parameters that don't aim to request for a response extension and can be used in lookup queries.
>>> James Gould has already noted the hyperbolic heading in the rdap-x
>>> document, and we plan to change it.
>>>
>>> However, what you are looking for is in the rdap-extensions draft:
>>> https://datatracker.ietf.org/doc/html/draft-ietf-regext-rdap-extensions-04#name-usage-in-query-parameters
>>> https://datatracker.ietf.org/doc/html/draft-ietf-regext-rdap-extensions-04#redirects_author
>>> https://datatracker.ietf.org/doc/html/draft-ietf-regext-rdap-extensions-04#referrals
>>> https://datatracker.ietf.org/doc/html/draft-ietf-regext-rdap-extensions-04#security_considerations
>>> https://datatracker.ietf.org/doc/html/draft-ietf-regext-rdap-extensions-04#privacy_considerations
>>
>> [ML] If we agree that query parameters are useful in some cases as 
>> the rdap-extensions draft itself seems to admit, I would suggest to 
>> remove or rearrange section B.2 of rdap-x draft.
>>
>
> We already have this issue noted: 
> https://github.com/anewton1998/draft-regext-ext-json-media-type/issues/30
>
> However, the text should stand as it notes the issues of using query 
> parameters in some situations.
>
>
> -andy
>
>
>
> _______________________________________________
> regext mailing list --regext@ietf.org
> To unsubscribe send an email toregext-leave@ietf.org

-- 
Dott. Mario Loffredo
Senior Technologist
Technological Unit “Digital Innovation”
Institute of Informatics and Telematics (IIT)
National Research Council (CNR)
Address: Via G. Moruzzi 1, I-56124 PISA, Italy
Phone: +39.0503153497
Web:http://www.iit.cnr.it/mario.loffredo