[regext] Re: draft-ietf-regext-rdap-x-media-type-02 Feedback (on rdap-x media type)

kowalik@denic.de Thu, 14 November 2024 11:59 UTC

Return-Path: <kowalik@denic.de>
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 4D337C1CAE69 for <regext@ietfa.amsl.com>; Thu, 14 Nov 2024 03:59:38 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.102
X-Spam-Level:
X-Spam-Status: No, score=-2.102 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_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_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=denic.de
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 YxrwheHu27-u for <regext@ietfa.amsl.com>; Thu, 14 Nov 2024 03:59:33 -0800 (PST)
Received: from mout-b-206.mailbox.org (mout-b-206.mailbox.org [195.10.208.51]) (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 C246AC1D4CCC for <regext@ietf.org>; Thu, 14 Nov 2024 03:59:31 -0800 (PST)
Received: from smtp2.mailbox.org (smtp2.mailbox.org [10.196.197.2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-b-206.mailbox.org (Postfix) with ESMTPS id 4XpzGQ07Mwz9wR1; Thu, 14 Nov 2024 12:59:26 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=denic.de; s=MBO0001; t=1731585566; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=759ktqdqkkruroVTB+LW3jSbR3Gtim8I8meEJJkZMRw=; b=Yn0A4yzh7IEBxBxbdPqh+usU/qF1i0b2ZAPNf0WIj5VYA4itIvkHg9f+H3ffkh/8cGQqgR mS5qAwH6iS6KRUoRdVXvkLoker5eb2KbCuxlI9KD/i47OS1ENRzwzdgxmpuI+EeMG1LiW1 B1CLGBfT//uR5Vc7m9Bcq807xhWMYha1dJWZf53j0hgWSEuskQIqvW1IrL+ED61nI+rN6v fliFofFhb8qN9vWwUOJ3xmHmiwF7Oru2bLeH9MZqlOQNw7s5oEo5HVOJQWg7IW16dTIyST 6TIlv3TkuwleUMDZNOKar55Fj+sjZY/UJ/oy3dhV+4IkZ5k2TT5ABPkzjgfurA==
Message-ID: <6541ddcb-01ca-4d6b-b4af-4dc2a19626f0@denic.de>
Date: Thu, 14 Nov 2024 12:59:23 +0100
MIME-Version: 1.0
From: kowalik@denic.de
To: "Andrew Newton (andy)" <andy@hxr.us>, Mario Loffredo <mario.loffredo=40iit.cnr.it@dmarc.ietf.org>, "Gould, James" <JGould@verisign.com>
References: <1DB77995-6416-47C4-8744-2970FD9E3BD5@verisign.com> <1e56698a-02b9-4a2b-a301-05a5674083b8@iit.cnr.it> <CAAQiQRcy_ygfO42ATpV-C2bpBBfOUZbpNWhgHJ8qKZ345oS63Q@mail.gmail.com>
Content-Language: en-GB, de-DE
In-Reply-To: <CAAQiQRcy_ygfO42ATpV-C2bpBBfOUZbpNWhgHJ8qKZ345oS63Q@mail.gmail.com>
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg="sha-512"; boundary="------------ms020702050701050105030606"
X-MBO-RS-META: ydstcwsmgmatkmqrdro97hd35z4pe7ah
X-MBO-RS-ID: 083d290ff8562b58140
Message-ID-Hash: 5PINPIBWMQYLTXCU2CUKD7MBE5SC6DYA
X-Message-ID-Hash: 5PINPIBWMQYLTXCU2CUKD7MBE5SC6DYA
X-MailFrom: kowalik@denic.de
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: regext@ietf.org
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [regext] Re: draft-ietf-regext-rdap-x-media-type-02 Feedback (on rdap-x media type)
List-Id: Registration Protocols Extensions Working Group <regext.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/regext/k56aWaWSnGMTSjqPCvo5lGrY-aA>
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,

A sub-thread just on this one aspect of media type to be used in rdap-x, 
or generally content negotiation.

On 12.11.24 21:46, Andrew Newton (andy) wrote:
> responding to both Mario and JGould in line...
>
> On Mon, Nov 4, 2024 at 5:50 AM Mario Loffredo
> <mario.loffredo=40iit.cnr.it@dmarc.ietf.org> wrote:
>
>>
>>
>> Section 3 "Using The RDAP-X Media Type"
>>
>> My initial thought upon re-review of this section was to reuse the existing "application/rdap+json" media type by adding the optional parameter "extensions", or better "rdapx" to the media type registration, but then I got to Appendix B.1 that makes a good point with the language in RFC 6838.  I really don't want to include RDAP-X in the content-type header of the response, since it duplicates the rdapConformance member, and requires updating RFC 7480 with no real positive value.  Updating RFC 7480 may also trigger the need to bump rdap_level_0 to rdap_level_1, which is certainly not desired.  We should re-evaluate the language of RFC 6838 in its application to an RDAP extension.  How about adding support for RDAP-X in the accept header of the request and to have the response content-type header remain using the existing media type of "application/rdap+json"?  This would meet the need of the client providing the RDAP extension hints without the negative side effects of updating RFC 7480 and bumping rdap_level_0 to rdap_level_1.
>>
> This is an interesting idea and I think it simplifies things. Thanks.

I would very much support extending application/rdap+json with an 
additional optional parameter of requested extensions instead of adding 
application/rdap-x at all. A new artificial media type seems to be a 
tempting approach to maintain back compatibility, but maybe it is not 
needed at all?

There was an argument, that it would likely break the servers if 
unexpected parameters appear. I decided to check in reality how big the 
problem would be.

With help of small script [1] I queried all RDAP servers listed in IANA 
bootstrap list to get some stats how they behave with different Accept 
header.

The results [2] show, that 99.65% of the servers would deliver the same 
answer for 'application/rdap+json;extensions="rdap_level_0 rdapx foo"' 
as they do for 'application/rdap+json'.

What with the remaining 0.35%? It seems they are so wrongly implemented, 
that they would also break if an additional media type rdap-x appears in 
the request. 99.47% works with rdap-x as a second media type and 99.29% 
if you change order and put rdap-x first.

My conclusion is, that rdap-x will break a marginal portion of wrongly 
written servers, no matter if we keep same media type or define a new one.

Defining a new media type would mean, that application/rdap-x+jsonwould 
remain with us forever, as it will never replace application/rdap+json, 
but will become eventually a common practice to support. Extending of 
application/rdap+json seems to me less of pollution to the protocol on 
the long run.

>>
>> Appendix B.1 "Not Reusing the Existing Media Type"
>>
>> This section helped me out since my thought was to reuse the existing "application/rdap+json" media type instead of defining the new RDAP-X media type.  The language in RFC 6838 is clear and adding the capability of providing hints of the RDAP extensions is new functionality, but I really don't see that it's adding new functionality for the media type itself. We could define the existing "application/rdap+json" media type optional parameters as a form of extension in the extensions draft, where it will become an extension point without adding new functionality specific to the media type itself.  The response is still RDAP using JSON independent of the mix of extensions that are used.  If use of an optional media type parameter of the existing "application/rdap+json" media type cannot be done, can RDAP-X be used in the accept header and not returned in the content-type header to get the value of RDAP-X without the negative side effect of updating RFC 7480 and bumping rdap_level_0 to rdap_level_1?
>>
>> [ML] Think it's worth investigating if this soultion could be feasible.
>>
> I think so. We'll look into it. See above.

Also supportive of this one. Just extend the media type registration 
that parameters are to be expected provided by extensions (with usual 
prefix logic of RDAP etc.). New parameters will be then added in 
extensions themselves and update media type registration with detailed 
parameters.

The registration tells there are no *required* parameters to the media 
type, which remains true so in my opinion neither update to rfc7483 or 
rfc7480 would be required nor would we need to bump to rdap_level_1.


[1] https://github.com/pawel-kow/RDAP-tests/

[2] 
https://github.com/pawel-kow/RDAP-tests/blob/main/rdap_help_responses_20241114_IANA_bootstrap_list.md

https://github.com/pawel-kow/RDAP-tests/blob/main/rdap_help_responses_20241114_IANA_bootstrap_list.csv

Kind Regards,

Pawel