Re: [regext] OK, What Next? (was RDAP Extensions Approach Analysis v2)

"Gould, James" <jgould@verisign.com> Fri, 15 July 2022 12:13 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 E5E66C1527AF for <regext@ietfa.amsl.com>; Fri, 15 Jul 2022 05:13:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.106
X-Spam-Level:
X-Spam-Status: No, score=-7.106 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_DNSWL_HI=-5, 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 AVaFsKwvCyjX for <regext@ietfa.amsl.com>; Fri, 15 Jul 2022 05:13:09 -0700 (PDT)
Received: from mail6.verisign.com (mail6.verisign.com [69.58.187.32]) (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 326DBC14F742 for <regext@ietf.org>; Fri, 15 Jul 2022 05:13:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=verisign.com; l=6718; q=dns/txt; s=VRSN; t=1657887190; h=from:to:cc:subject:date:message-id:content-id: content-transfer-encoding:mime-version; bh=fnI9YGSMjZ/6khsd1uXsn06qZBQhfHQHj9E6Mi8QqLY=; b=Cgdu9zZhJaUISQeMVx8qpCh+CULxdazONBGAwdOj6kILhJOJgpS3SxwC V6NwTDZpc5G2xTVTjukmBJm2tx+bMavh2z+KIg0afZsy7QIyhsyhEcxNy 9aG+g7+antFga5Yc8hpHLl6oJ0+YTdupVcXOk8cDBwE6Q+kdnJ5CdxTxt 8d5bMGrcq7crtzmtki3bRvXQJn0Vj3GRuxBCPIBLUVRj7N1N7k+EJRDVH clmX2yzQR3R67OCXZ7MT6zaBT/nwd+MGUicgve+6Tva1iQ2ncjRDMGWUO Y7Lw7XfSuDlehW9mRsrPhKiqDMTwLKMDo91JGGWkpiXaoHOtrznTQBgzv w==;
IronPort-Data: A9a23:gy0LBqIpqMkKBI+hFE+Rh5QlxSXFcZb7ZxGr2PjKsXjdYENS1DMGx jBLDW+GbvqIYTGneoglaYzg8UwAuseEmoQyTFNorCE8RH908seUXt7xwmUcnc+xBpaaEB84t ZV2hv3odp1coqr0/0/1WlTZQP0VOZigHtIQMsadUsxKbVIiGX1JZS5LwbZj2NY32IXhWmthh PupyyHhEA79s9JLGj9Mg06zgEsHUCPa4W5wUvQWPJinjXeG/5UnJMt3yZKZdhMUdrJp8tuSH I4v+pnipz+EoE19Yj+Suu2TnkUiGtY+NCDQ0iYGA/DKbhJq/kTe2Y5jXBYQhNs+Z5xkULmdx f0U3aFcRzvFMYXgieoASUkDDh09IJ8b4LvAIkjn6pCcmhiun3vEm52CDWkcB6tBxcBaMTkUs +ITLyoVKBmPwfys27T9Qe5p7ighBJCzetpA4Tc5kGqfUadOrZPrGs0m4fda0zAtgsxmA/vEZ tEYZjwpZxPFC/FKEg5KVs9nwbvw7pX5W2EEsmC+qvc72W3C0lBv/qn0GcqIVfXfEK25mW7d/ Aoq5V/RCxcWJfSf2SDD72nErurGhyL8HoYVGrOi+/JtqFyS2ioYDgdQVEfTieO0hUOuR/peJ lAavC00osAPGFeDRMP7BgK+rW7c5FsHRcAWFuwhrQuKjKDO5V/fGHIfSHhKb9lOWNIKeAHGH 2Shx7vBbQGDepXMIZ5B3t94dQ+PBBU=
IronPort-HdrOrdr: A9a23:7ueBGq1Xxs1Ur0+xRp71oAqjBG8kLtp133Aq2lEZdPUzSL38qy nOpoV46faaslYssR0b9+xoW5PufZq0z/cc3WB7B8bAYOCJggqVBbAnw4fkzybpBiHyssVMvJ 0NT4FOTPn9F0Jzg8q/wgWpeuxL/PC3tISln/3XwXsodxxtcK0I1WpEIxyWCVJ7XzNLApcFFJ 6Rj/Atmwad
X-IronPort-AV: E=Sophos;i="5.92,273,1650945600"; d="scan'208";a="15651540"
Received: from BRN1WNEX01.vcorp.ad.vrsn.com (10.173.153.48) by BRN1WNEX02.vcorp.ad.vrsn.com (10.173.153.49) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.28; Fri, 15 Jul 2022 08:13:06 -0400
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.2375.028; Fri, 15 Jul 2022 08:13:06 -0400
From: "Gould, James" <jgould@verisign.com>
To: "andy@hxr.us" <andy@hxr.us>
CC: "Hollenbeck, Scott" <shollenbeck@verisign.com>, "mario.loffredo@iit.cnr.it" <mario.loffredo@iit.cnr.it>, "regext@ietf.org" <regext@ietf.org>
Thread-Topic: Re: [regext] OK, What Next? (was RDAP Extensions Approach Analysis v2)
Thread-Index: AQHYmEQ9tunyk/PrlEesJ8OT8blWMA==
Date: Fri, 15 Jul 2022 12:13:06 +0000
Message-ID: <0C87A351-7EC7-4684-BF7A-FAB0EA12677E@verisign.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.62.22061100
x-originating-ip: [10.170.148.18]
Content-Type: text/plain; charset="utf-8"
Content-ID: <381A19119612B54584B8E3D4396EDDB4@verisign.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/regext/0Qe0b2zg-iR8oJon9u0o7qC9VpM>
Subject: Re: [regext] OK, What Next? (was RDAP Extensions Approach Analysis v2)
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 Jul 2022 12:13:14 -0000

Andy, 

Thanks for weighing in on this.  I provide my replies embedded below.  

-- 

JG



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/>

On 7/1/22, 9:17 AM, "Andrew Newton" <andy@hxr.us> wrote:

    James,

    Comments in-line...

    On Mon, Jun 27, 2022 at 12:36 PM Gould, James
    <jgould=40verisign.com@dmarc.ietf.org> wrote:
    >
    >
    > The question is how we handle versioning, which is an aspect not covered in the existing RFCs.  The only version reference is in the RDAP Conformance definition in section 4.1 of RFC 9083 with "rdap_level_0" and "lunarNIC_level_0".  If the use of "lunarNIC_level_0" was a mistake, then versioning is completely absent for extensions.

    In my opinion, this is not accurate. The identifier is the version. If
    I understand your position correctly, you believe that the identifier
    should contain a separate, embedded, syntactically-parsable version
    identifier. And that is not an unreasonable position. However, what
    are the benefits of having it? And what are the complications of
    having it? If this sub-identifer were also an opaque identifier, then
    I don't see much benefit. If it were to have semantics, then what are
    those semantics?

JG - If versioning is an explicit goal, then yes, the version number should be syntactically-parsable.  The RDAP conformance is meant to provide a hint of the specifications used in the construction of the response.  The extension specification defines the RDAP elements used in the RDAP request (URL path segments and query parameters) and response (JSON response members and objectClassName values for new RDAP objects).  Versioning is an important aspect of the signaling of the RDAP conformance that is missing from the RFCs, and because of that we're having this discussion around the three approaches (Approach A with tight coupling of the RDAP Conformance with the extension elements, Approach B with coupling of the prefix with the extension elements, and Approach C with no coupling with the prefix and the extension elements).  

    >
    > Approach A is a showstopper to me since it cascades versioning to all elements with no perceived value and with the cost of interoperability issues when the version number does change.

    What do you mean by "all elements" here? Can you provide an example?

JG - The proposal of Approach A is to have the RDAP conformance value be used as the prefix of all the RDAP extension elements defined in the extension specification.  These can include URL path segments in the requests, the JSON response members in the responses, and the objectClassName values in the responses for new RDAP objects.  draft-ietf-regext-rdap-openid provides an example of Approach A with the RDAP Conformance value of "roidc1", which embeds the version number into the prefix that is used for the query parameter "roidc1_id", and the response members "roidc1_session", "roidc1_deviceInfo", and "roidc1_openidConfiguration".  If the specification is updated, which can be backward compatible by adding a new optional feature, the version number would be changed from "roidc1" to "roidc2", which then results in changing all the extension elements ("roidc2_id" query parameter and "roidc2_ session", "roidc2_deviceInfo", and "roidc2_openidConfiguration").  Cascading the versioning RDAP conformance into all the extension elements can lead to interoperability issues and discourage changing the version number at all.  Approach B is reflected in draft-ietf-regext-rdap-redacted-04, where "redacted" is registered in the RDAP Extension Registry and is used for the RDAP Conformance value "redacted_level_0.2" (should be "redacted_level_0_2") and used for the JSON response member "redacted".  Approach C is reflected in draft-ietf-regext-rdap-redacted-08, where the "redacted_level_0_3" version identifier and the "redacted" prefix are registered in the RDAP Extension Registry with the use of the "redacted_level_0_3" version identifier for RDAP Conformance and the use of the "redacted" prefix for the JSON response member.

In the case of Approach B and C, the values registered in the RDAP Extension Registry guarantee uniqueness, and the RDAP Conformance value has the sole responsibility of signaling the version of the extension without cascading down to the extension elements.  I prefer the flexibility of Approach C, but Approach B will work.  One side effect of Approach C is that we still need to support the registration of fully versioned identifiers to capture policy signaling, such as the case of the RDAP Profile identifiers "icann_rdap_response_profile_0" and "icann_rdap_technical_implementation_guide_0".  

    -andy