[regext] Re: draft-ietf-regext-rdap-x-media-type-02 Feedback (on rdap-x media type)
"Gould, James" <jgould@verisign.com> Thu, 14 November 2024 13:22 UTC
Return-Path: <jgould@verisign.com>
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 5B009C09E1AE for <regext@ietfa.amsl.com>; Thu, 14 Nov 2024 05:22:33 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.003
X-Spam-Level:
X-Spam-Status: No, score=-2.003 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, HTTPS_HTTP_MISMATCH=0.1, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_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=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=verisign.com
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 XMz5vp640nvx for <regext@ietfa.amsl.com>; Thu, 14 Nov 2024 05:22:29 -0800 (PST)
Received: from mail4.verisign.com (mail4.verisign.com [69.58.187.30]) by ietfa.amsl.com (Postfix) with ESMTP id DD48FC1E0D81 for <regext@ietf.org>; Thu, 14 Nov 2024 05:22:28 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=verisign.com; l=39368; q=dns/txt; s=VRSN; t=1731590549; h=from:to:cc:date:message-id:references:in-reply-to: mime-version:subject; bh=RKaSxf0KmpoJNxh14qX/t5W9fOiX2rEQg3Fbze2e9EA=; b=VDMe/Hol2QVCUr3DzL0H6IWROZDFf5Cflp8rfY2qdqzA5xt0BYRvcLjS bNIGGENc8pm79NdOIwUq7S/ZkSAZaIzgHXvqBydc+Q7LIZXq+nXKgBJlI 7ecrfwpbC6RypJb3ES24AzaqxBMhnHHs49QcpTYYQyCs15NE4YBCmNKWe H/Bhsk+Ue/Uvi6iYP0+0fIKvrj9YoHdk7bn68Nwakjuzw4uRJEzGV1Wy1 TO1H8yThrXOiWjNQj9XF6gCFls4MAWlVRGS3QAadquy5ky/2WNaHOTMrr 4W5QkYwgwQ6Ik9vpAV37XBOoA0zFksQ3tPjZ44cSCzeIJwYpHIXSM8IeH w==;
X-CSE-ConnectionGUID: qLJ/qPdcRWq/P18/6vm2Eg==
X-CSE-MsgGUID: QmnxlHk7QkiKPcCAXLv0Qw==
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:23tur6OxnfkpRRvvrR0DlsFynXyQoLVcMsEvi/8bNLSAYAhSjmhWm TcfWWiYeqHdUtbGC48kb9jk805VvZDcz9c1QFFt/30xRHkW9ZScWt6UJBuuNHqZcJySEU875 J4UOtCdcJk+ECHS/UrwPObr9nIkiqzgqtYQaQLhEnkZqVhMFH5413qP4tIEv7OEoeRVIivc6 Iz+qZyOaAX7i28sPz9L4vPb+ENita774TlH51JjOKwS7A7VmkdOAcNEL8ldDZdarqp8RbfmG rmZnNlV2kuDon/B3/v8yu6TnnUiG+OUYE7UzCIPC8BOuzAazgQqyKE3KfEAXklejjSNjrhZx c5E3XCKYV5B0pbkxqJECXG0LwkkZfcaoeaefSDl2SCu5xaun0XEkq0G4H4eYNVwFtZfWQlm6 fEeITYRWRGP78re6K67UORlmvM4J8DtOo4F0lk4pd0OJa97KXxra/yiCe5whF/ctOgXdRrtT 5NxhQ5UUfj1S0Yn1mE/U8tiwbjy1hETRBUDwL6djfJfD2H7klQtgOC1WDbfUoTiqc59xi50q o9alohQ795z2NG3kFK4HnyQauDnhAfZH5sqGLaCyectuATDgTINDUc7Wg7uyRW5ohbWt9N3A XYyoxUIgJhqrQq1Rd7nR1uxrDiapAUaHdFXFoXW6inUkuyNvF3fXzVfCGIRADAlnJZeqTgC1 FCOgtflLSJiqryOSH2bsLyTqFtePABOcT9ZOXBVFGPp5fHapYcjijLMEe9gEY2NhfbcKRXum wmV+X1Wa7I7yJRjO7+A1VPAnDuop5vhQgMz5w6RUm/Nxgp/aJ+NZ5yyr0XAhd5FJZyYSR+Fu 3YKgcWS67VSVZCMiGqGRv9LHa2B6/OMKjaagFNzEd8m7TvF02Suco1A/Bl/KVtndMEedlfUj FT7sxlXvYBVMWvyNOpsfZj3DsUxiKLnU97/UKmScMBVZN56cwrvEDxSWHN8FlvFyCAE+ZzT8 7/CGSpwJR720Zha8Qc=
IronPort-HdrOrdr: A9a23:R50YDKq1pJmOOe1YLUQP5i0aV5r2eYIsimQD101hICG9Ffbo8v xG/c5rtyMc5wxwZJhNo7690cq7Lk80nKQdibX5Vo3SPzUO1lHIEKhSqaXvxDH6EzDz+6p3xc 5bH5RWOZnVAUJhhcj3pCu1A78bquWvweSNif3Fx3lgCTt2bbpthj0VNi+AHlZoSBJ9CZ01KZ qZ6qN8zAadRQ==
X-Talos-CUID: 9a23:rN3Hi2NA6TF2pe5DQQ1Fs1csFssfTWSa9C6AZBGmDDxER+jA
X-Talos-MUID: 9a23:WM1VXwpbWr6Z99hygDAezwhnMtdsw6fxMUMMsq0NkOC0ETIoAijI2Q==
X-IronPort-AV: E=Sophos;i="6.12,154,1728950400"; d="png'150?scan'150,208,217,150";a="34834791"
Received: from BRN1WNEX01.vcorp.ad.vrsn.com (10.173.153.48) by BRN1WNEX01.vcorp.ad.vrsn.com (10.173.153.48) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.37; Thu, 14 Nov 2024 08:19:25 -0500
Received: from BRN1WNEX01.vcorp.ad.vrsn.com ([10.173.153.48]) by BRN1WNEX01.vcorp.ad.vrsn.com ([10.173.153.48]) with mapi id 15.01.2507.037; Thu, 14 Nov 2024 08:19:25 -0500
From: "Gould, James" <jgould@verisign.com>
To: "kowalik@denic.de" <kowalik@denic.de>, "andy@hxr.us" <andy@hxr.us>, "mario.loffredo=40iit.cnr.it@dmarc.ietf.org" <mario.loffredo=40iit.cnr.it@dmarc.ietf.org>
Thread-Topic: [EXTERNAL] Re: [regext] Re: draft-ietf-regext-rdap-x-media-type-02 Feedback (on rdap-x media type)
Thread-Index: AQHbNoysTBp9l1uu6USbiT1yxjRywLK2wosA
Date: Thu, 14 Nov 2024 13:19:25 +0000
Message-ID: <D00ECB2A-73B0-40D9-8463-7A590CB860A2@verisign.com>
References: <1DB77995-6416-47C4-8744-2970FD9E3BD5@verisign.com> <1e56698a-02b9-4a2b-a301-05a5674083b8@iit.cnr.it> <CAAQiQRcy_ygfO42ATpV-C2bpBBfOUZbpNWhgHJ8qKZ345oS63Q@mail.gmail.com> <6541ddcb-01ca-4d6b-b4af-4dc2a19626f0@denic.de>
In-Reply-To: <6541ddcb-01ca-4d6b-b4af-4dc2a19626f0@denic.de>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.91.24111020
x-originating-ip: [10.170.148.18]
Content-Type: multipart/related; boundary="_004_D00ECB2A73B040D984637A590CB860A2verisigncom_"; type="multipart/alternative"
MIME-Version: 1.0
Message-ID-Hash: 47AYSPTKNMCLCIN7AYNKJK6TT4YCYXYJ
X-Message-ID-Hash: 47AYSPTKNMCLCIN7AYNKJK6TT4YCYXYJ
X-MailFrom: jgould@verisign.com
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" <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/_pxsucHgsnz-WuwlQtv4sQkOuTU>
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>
Pawel, Thank you in performing the test, which had very interesting results. I agree that adding the parameter to the existing “application/rdap+json” media type registration is the best option, since x-media with the “extensions” (or “rdapx” to match the extension identifier) parameter is not adding new functionality to the media type itself. The response is still RDAP using JSON. The existing “rdap+json” registration is missing the “Optional parameters” field that is defined in the template of Section 5.6 of RFC 6838, so this can be corrected at the same time. The specific language in Section 4.3 of RFC 6838 is: New parameters SHOULD NOT be defined as a way to introduce new functionality in types registered in the standards tree, although new parameters MAY be added to convey additional information that does not otherwise change existing functionality. I believe the key word here is “new functionality in types”, where an argument can be made that the addition of a new media type parameter, such as “extensions” / “rdapx”, is not changing the functionality of the media type itself. It’s not like we’re defining an extension of JSON or changing how the RDAP is represented on the wire. A hint of what to include doesn’t get to the level of a new functionality to the media type. If we do need to register a new media type, then we either need to include “application/rdap-x+json” in the “accept” header and include “application/rdap+json” in the “content-type” response header, or use “application/rdap-x+json” in both the “accept” and “content-type” headers and go down the path of updating rfc7480 and bumping “rdap_level_0” to “rdap_level_1”. -- JG [cid87442*image001.png@01D960C5.C631DA40] James Gould Fellow Engineer jgould@Verisign.com<applewebdata://13890C55-AAE8-4BF3-A6CE-B4BA42740803/jgould@Verisign.com> 703-948-3271 12061 Bluemont Way Reston, VA 20190 Verisign.com<http://verisigninc.com/> From: "kowalik@denic.de" <kowalik@denic.de> Date: Thursday, November 14, 2024 at 6:59 AM To: "Andrew Newton (andy)" <andy@hxr.us>, Mario Loffredo <mario.loffredo=40iit.cnr.it@dmarc.ietf.org>, James Gould <jgould@verisign.com> Cc: "regext@ietf.org" <regext@ietf.org> Subject: [EXTERNAL] Re: [regext] Re: draft-ietf-regext-rdap-x-media-type-02 Feedback (on rdap-x media type) 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><mailto: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+json would 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/<https://secure-web.cisco.com/1ZV4CLyqfu4OETIDapJVChjr_9vmwyZZd097PFh0ml0YPQOveb8UBv_OVL57310s1C_CW85CGoJRAgBC7V7thuJE-E9POY47O0phZ7w1-diSM9rKvheOBKSUmLrUC0Ey9ZEDJ8y5i_n6LzO61VwLTZhUB9bnfDTqrBQedyfSE5td0WMVpIGNuNkLLe1DtSvC7KwXdjbh-x9dJS21OLFF2DF3CGHojKhc25Ib6toC5xVLC2-HgmGrUmpl04R5wWhf7omStt33KujkThhjpSq5VhoMg7CpC8kceaHDlAMbgKIY/https%3A%2F%2Fgithub.com%2Fpawel-kow%2FRDAP-tests%2F> [2] https://github.com/pawel-kow/RDAP-tests/blob/main/rdap_help_responses_20241114_IANA_bootstrap_list.md<https://secure-web.cisco.com/1t3-KfK5rFOy9MkpJLSsBCx0YtEctHBl3shHT4nBV7Oq7sqEfdvO_X-w4w-8tWZ94d5KcvuRaR79_MSWktSiO50zNt6ijtMbG4ho84IQqNGaHUt_lc0834Xq-IrPkkPLhtmV6gd0U9SdxbTbog990T3vdj_07GecVVdK44TUsIEswkMXAduSiCSM8JhwKbMTiTuwxq-o1rw4O8cjCIx3EjmfTkqOiF63vV7hoed6smJMPaXxOn-vB3GRSrghxeEhbFq7VJN4bAu0OasHyOFxGnHyCDpsYtEoCGsTd-I_h2Tk/https%3A%2F%2Fgithub.com%2Fpawel-kow%2FRDAP-tests%2Fblob%2Fmain%2Frdap_help_responses_20241114_IANA_bootstrap_list.md> https://github.com/pawel-kow/RDAP-tests/blob/main/rdap_help_responses_20241114_IANA_bootstrap_list.csv<https://secure-web.cisco.com/12hqrcNEtTr9NikSC_HHasuCnWl_IW6BmeuTKFnFk8Q-ANPHm2yetd3SJCptvPXG_PkzuTld-TdetT-YeFbR01ZCPNeD9V49H93qy76HTlTDVHAGUEFeZJfsR_6dfuHE11cpfSwWbcWX3oKoY7M0X-LhUhLDTT6VeR1keuv4OEmWBpvaAl_kPT0YvetemzDWtbNwgs0u6cMboAJYt8zpL3XRLyKAK3VzPIZi5oPI35hkLqFStEWFBds3MQE5AalxpUMDW1JQ10DH9M-2U1f6yZYYxbz--crtmNb-pBn7vFkU/https%3A%2F%2Fgithub.com%2Fpawel-kow%2FRDAP-tests%2Fblob%2Fmain%2Frdap_help_responses_20241114_IANA_bootstrap_list.csv> Kind Regards, Pawel
- [regext] draft-ietf-regext-rdap-x-media-type-02 F… Gould, James
- [regext] Re: draft-ietf-regext-rdap-x-media-type-… Mario Loffredo
- [regext] Re: draft-ietf-regext-rdap-x-media-type-… Andrew Newton (andy)
- [regext] Re: draft-ietf-regext-rdap-x-media-type-… kowalik
- [regext] Re: draft-ietf-regext-rdap-x-media-type-… Gould, James