[regext] Re: draft-ietf-regext-rdap-x-media-type-02 Feedback
"Andrew Newton (andy)" <andy@hxr.us> Tue, 12 November 2024 20:47 UTC
Return-Path: <andy@hxr.us>
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 B782BC1D52EE for <regext@ietfa.amsl.com>; Tue, 12 Nov 2024 12:47:12 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.903
X-Spam-Level:
X-Spam-Status: No, score=-1.903 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_NONE=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=hxr-us.20230601.gappssmtp.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 j8k-Po6uG86L for <regext@ietfa.amsl.com>; Tue, 12 Nov 2024 12:47:11 -0800 (PST)
Received: from mail-yb1-xb29.google.com (mail-yb1-xb29.google.com [IPv6:2607:f8b0:4864:20::b29]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C6735C20C8E7 for <regext@ietf.org>; Tue, 12 Nov 2024 12:47:05 -0800 (PST)
Received: by mail-yb1-xb29.google.com with SMTP id 3f1490d57ef6-e28fea0f5b8so5568467276.1 for <regext@ietf.org>; Tue, 12 Nov 2024 12:47:05 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hxr-us.20230601.gappssmtp.com; s=20230601; t=1731444425; x=1732049225; darn=ietf.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=rWTyKP6UnvFh4ibTgR95RA8wQS5Ypk2PZXCZCcJh3Zk=; b=Jfxec/qRsQzAlHwDZ834KriwKyZTKwCI8n1uBXq8uSz+8aHzaaVsg6l/45LddmfDok sy2vZ5/khg9U5FD06HXfffOZPs9n38xLamIhrmEvnWSDI0LbrOiSzj2MJ/wNTlrpKjKC rqXsyp3+8eklEUv3bj9/aqnFpwRDm1g5INFQ+hW60NPeY/LfN90H8iLE5+3+rh/qDGF8 NG9CfL+OD3ShzIunOGzPXvAP9K1HpO8eRZ7x13b19sEGk4tnhvo1wsdlcoga0NIZoLYK zNcbROdhA3ByuOCbNgP7VQrrwAnI8hh8zr7P4rxWCTPSILc0gmj5D1fBrr5ho4d4ONQS 8+dg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731444425; x=1732049225; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rWTyKP6UnvFh4ibTgR95RA8wQS5Ypk2PZXCZCcJh3Zk=; b=sa69C0LAZpNklfU0oLx/mtFmewe4G3sEcllmoi1rrzQfT9hHi3N/SVNIfIvaO3VNHm Xoiiapx6xZuDSwVdl89iDiAncMJzyGGOXrN5yn4khf0QfflOIWLrwmpe67Dq6qJDpLud ZKlQEgzyJ/gtdRKyFz7Qje0SaKwA9ju4uQ4zatDtltJUlGXpOyhYn8rjASiYtzgumOWI 6fggBHA8Csd8t4Tm9vlyeRkLMBNK5d5upbGDKC1aRZs2gBY2EJ6fEx5obHDuxT6CfJ8L OVYp22oCoNsqmPX6fk2DiMw7TEDnp1afi4OkKQ1xhKAP1fqReIJ+Am9XtbzuJNt7sQCE y1tw==
X-Gm-Message-State: AOJu0Yw2SyDODM/OvLaW+w0WiX3Yw5RYimbKH1bD2fG55jstQbGKyIQr vV9pC2b1E+Vgfis0ON5IQgQCxeNVm33VqhUtZrHFV6p9F7YiJoMZuhhaGZtmNOaCTayQTc55+Un lvmHv5iPc3OH1NR1LIoHDqpdz4M+uSKqxt2IMS5mB298i0wFYimU=
X-Google-Smtp-Source: AGHT+IGEC6dkQTLO5nsvfCrKe9GB3oZRBS0Akci0+/k766o4bhB66SJW8YIHQN/jB0pwdiTDdRg0IOUEKnGLBULNelc=
X-Received: by 2002:a05:690c:3684:b0:6e7:d974:8d05 with SMTP id 00721157ae682-6eaddd86fffmr174970267b3.4.1731444424707; Tue, 12 Nov 2024 12:47:04 -0800 (PST)
MIME-Version: 1.0
References: <1DB77995-6416-47C4-8744-2970FD9E3BD5@verisign.com> <1e56698a-02b9-4a2b-a301-05a5674083b8@iit.cnr.it>
In-Reply-To: <1e56698a-02b9-4a2b-a301-05a5674083b8@iit.cnr.it>
From: "Andrew Newton (andy)" <andy@hxr.us>
Date: Tue, 12 Nov 2024 15:46:52 -0500
Message-ID: <CAAQiQRcy_ygfO42ATpV-C2bpBBfOUZbpNWhgHJ8qKZ345oS63Q@mail.gmail.com>
To: Mario Loffredo <mario.loffredo=40iit.cnr.it@dmarc.ietf.org>, "Gould, James" <JGould@verisign.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Message-ID-Hash: KWRVEVSJ6T4VBG242TH2JTWEEJQRDUAR
X-Message-ID-Hash: KWRVEVSJ6T4VBG242TH2JTWEEJQRDUAR
X-MailFrom: andy@hxr.us
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
List-Id: Registration Protocols Extensions Working Group <regext.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/regext/-_t_rN1DFet9N2ARLQyjqDDy9CA>
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>
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: > > Hi, > > please find my comments inline prefixed with [ML]. > > Il 01/11/2024 12:49, Gould, James ha scritto: > > Upon a re-review of draft-ietf-regext-rdap-x-media-type with draft-ietf-regext-rdap-x-media-type-02, I have the following feedback: > > > > Section 2 "RDAP-X: The RDAP With Extensions Media Type" > > Needs to be updated to support the Extension Version Identifier implicitly or explicitly, defined in Section 3.1 "Extension Version Identifier" of draft-ietf-regext-rdap-versioning. The mailing list feedback https://mailarchive.ietf.org/arch/msg/regext/L377YVNleqV7s7tJPWTGBLJIIG4/ provided an implicit (compatible) recommendation with draft-ietf-regext-rdap-versioning, and below is an explicit recommendation as well. > > > > Implicit Support included in https://mailarchive.ietf.org/arch/msg/regext/L377YVNleqV7s7tJPWTGBLJIIG4/ > > In Section 2: Change "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" to "This media type has a parameter of "extensions" which is a whitespace-separated list of RDAP extensions, such as defined in the IANA RDAP Extensions registry”. > In Section 3: Change “the values in the media type's extension parameter SHOULD match the values in the rdapConformance array in the return JSON.” to “the extension identifier values in the media type's extension parameter SHOULD match the values in the rdapConformance array in the return JSON.” > > Explicit Support > > Make "I-D.ietf-regext-rdap-versioning" a Normative Reference instead of an Informative Reference > Add RFC5234 as a Normative Reference to leverage ABNF to formally define the format of the “extensions” parameter. > Update Section 2 to be modeled after Section 3.2.1” Versioning Query Parameter” in draft-ietf-regext-rdap-versioning, by using ABNF and referencing the extension-versioning-identifier ABNF rule from draft-ietf-regext-rdap-versioning, as in: > > > > The media type defined by this document is "application/rdap-x+json". This media type has a parameter of "extensions" that is a list of one or more Extension Version Identifiers, as defined in Section 3.1 of [I-D.ietf-regext-rdap-versioning], separated by whitespace. This media type, RDAP with Extensions, is referred to as RDAP-X. The Augmented Backus-Naur Form (ABNF) grammar [RFC5234] format for the "extensions" parameter, using the "extension-version-identifier" rule from Figure 1 of [I-D.ietf-regext-rdap-versioning], is: > > > > extensions = "extensions=" DQUOTE extension-version-identifier *(WSP extension-version-identifier) DQUOTE > > > > Examples of RDAP-X: > > applications/rdap-x+json;extensions="rdap_level_0 rdapx" > applications/rdap-x+json;extensions="rdap_level_0 rdapx fred" > > > > Note - It looks like the "rdapx" extension identifier is missing from the example, so I added it. > > [ML] Agreed. Thanks. Works for me. > > > > 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. > > > Section 4 "Usage of RDAP Links" > > The point of this section is recursing the RDAP extension hints in the links, which would also apply to the use of the query parameter of the versioning extension. We can review for this applicability in the versioning draft. > > > > Section 6 "Security Considerations" > > You can remove the second paragraph, since that would be covered in an extension that supports query parameters, such as the versioning extension. > > [ML] Agreed (see below the comment on Appendix B.2 for more details). > I strongly disagree. We should not be encouraging the accidental leakage of security material. > > > Section 7 "IANA Considerations" > > I would add an RDAP Extensions Registry registration for "rdapx". > > [ML] I agree that this specification is itself an extension insofar it extends the "application/rdap+json" media type by adding a new optional media type. > As Homer Simpson would say, "Doh!" Good catch. > > > Appendix A "Using the Vary Header" > > Wouldn't this recommendation be covered in a different draft, such as draft-ietf-regext-rdap-extensions since it's not specific to RDAP-X? > > [ML] Have a different opinion about this point. The use of Vary header is strictly related to the presence of the Accept header. Hence IMO this recommendation should stay in this document since just this document describes an Accept-based method used by clients and servers to exchange information about extensions. > Also note that it is informative text. > > > 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. > > > Appendix B.2 Inappropriate Use of Query Parameters > > This section should be removed and any relevant content covered in draft-ietf-regext-rdap-extensions. It adds confusion to the draft since there are many RDAP extensions and RFCs that have used query parameters with no issue. Specifying the value of living through an HTTP redirect should be good enough without having to list how query parameters are inappropriate, which will have a hard time finding consensus. I don't agree with many of the arguments against the use of query parameters, where I would leave the decision up to the client based on their needs. > > [ML] Totally agree on this point. If this document is finally published as RFC, we'll have a document discouraging the use of query parameter along with other existing documents presenting extensions that make use of query parameters. > > Moreover, talking generically about scenarios where redirection is more likely doesn't provide guidance about when query parameters are allowed and when they aren't. It is not text that is "talking generically". It is text that describes why the approach was taken and specifically says "for this scenario" referencing the paragraph above which states "Another design approach to communicating RDAP extensions from the client to the server..." Appendix B is all about "why?" and is useful for the other IETF reviewers and for historical context. > > We should recognize that query parameters are the mostly used mean for clients to provide servers with values, other than options, to be used in queries. > > To make myself more clear, I'll make an example with RFC8977: > > - the count parameter might be replaced with a specific identifier that a client may include in the extensions parameter of rdap-x media type to signal the server that results counting should be applied; > > - conversely, we couldn't do likewise with the sort parameter since the client needs not only to signal that sort should be applied but also the sorting information, i.e. the sorting properties and, for each property, the sorting order. We can change the text to to say: The scope and proper usage of query parameters as they relate to RDAP are further described in draft-ietf-regext-rdap-extensions" instead of the current verbiage which could be read as query parameters are always a problem. -andy
- [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