Re: [regext] WG LAST CALL: draft-ietf-regext-rdap-reverse-search

Tom Harrison <tomh@apnic.net> Thu, 28 April 2022 00:45 UTC

Return-Path: <tomh@apnic.net>
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 8F266C15E40D for <regext@ietfa.amsl.com>; Wed, 27 Apr 2022 17:45:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 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_BLOCKED=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=apnic.net
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 vM5U6Veh42kA for <regext@ietfa.amsl.com>; Wed, 27 Apr 2022 17:45:51 -0700 (PDT)
Received: from AUS01-SY4-obe.outbound.protection.outlook.com (mail-sy4aus01on2061c.outbound.protection.outlook.com [IPv6:2a01:111:f403:7005::61c]) (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 24418C15E6E8 for <regext@ietf.org>; Wed, 27 Apr 2022 17:45:50 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CcJzWUu7khcyNGuGZw5J4Ren/bx8/sbsHFyYPBgQRwXLbNC/hcb87Q7MCusS1OqpERuSdl1Gjuuogp0XONNLZx6TPTA56ojb6Hfs1t8VQlIfXGi/z5mFEWd36wnPc+SCiOLbqrMzMsW7K/+8VXbfHnYY+hba7f+BMmyz091NdScO6dqwCH11Ok7B53xOiFkdHKwKIhJiToG1EYlyPrecGYG77IKbdglb7EFyztfuWvGxCrdrYixg9ao3q0eLdtoGR9MsumurWRUNVw8lKRUQRgQvIyRQAsQQlErWj840sc/IYfKwaZiMBA1sYuYiQL+mBjlHRfWwm/dSJfaTezoKXQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=fj2cEnwPZfHnj1BLOWgd3QXIEwd7MM1zkY1YqG21HsM=; b=Y9B0wyAwVV9O1cywTHzBpTdMKVwoQTYcTQwfLpjM9wlOaD8D3Vu+WPhb4lZYj7iIVrzqB2Armnof5THx97gU8+Q9wwG67xqooG1s2Ya//cVb6GTGe/LL3CgF4o6PmLEZhMxw192g/qtdyBBI3ohFKmZJ74GcQOJX4/by1zOI87NfbdpQu8UNRbrJocxGvUJH4qb/BLNvXwF57sNMOzVS2JWGXz8MsL45IQBI5olHiHoaXtB5Df02xHxHrSPAK7F7B6nze4QNN/XzQk7kdpxakSPqg0aMkA2vXXHRAv/X4JNBFubNptE+HzNWNqpQ3jzh2RRB2nU3YmYeVDs+vYUlXA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=apnic.net; dmarc=pass action=none header.from=apnic.net; dkim=pass header.d=apnic.net; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=apnic.net; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fj2cEnwPZfHnj1BLOWgd3QXIEwd7MM1zkY1YqG21HsM=; b=kaQ81ozH8pwnOgIzHOuwvRug0FXdv2imbE5dEE2UnwV++hinOH/l/e9jGZdkBvMa4B+RxbCSumWkwzsd7zZLYSw7gSB5K5T1Tlp7aTNcNA0dHWxGULxvH9p9v2/EOlKsQbhv9t9M/y7m1liC1vexWYfOAFZjCzCLwAQ4NkJdV7E=
Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=apnic.net;
Received: from SYBP282MB0553.AUSP282.PROD.OUTLOOK.COM (2603:10c6:10:68::12) by MEAP282MB0439.AUSP282.PROD.OUTLOOK.COM (2603:10c6:220:6a::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.15; Thu, 28 Apr 2022 00:45:42 +0000
Received: from SYBP282MB0553.AUSP282.PROD.OUTLOOK.COM ([fe80::7dc8:857d:4206:5ec1]) by SYBP282MB0553.AUSP282.PROD.OUTLOOK.COM ([fe80::7dc8:857d:4206:5ec1%5]) with mapi id 15.20.5186.023; Thu, 28 Apr 2022 00:45:42 +0000
Date: Thu, 28 Apr 2022 10:45:39 +1000
From: Tom Harrison <tomh@apnic.net>
To: Mario Loffredo <mario.loffredo@iit.cnr.it>
Cc: regext@ietf.org
Message-ID: <Ymnjs4DFFs+omYnr@TomH-802418>
Mail-Followup-To: Mario Loffredo <mario.loffredo@iit.cnr.it>, regext@ietf.org
References: <1A8E0C83-5F28-4387-8D05-EAAB8935E811@antoin.nl> <Yl1HJp9U/6rZeOVs@TomH-802418> <a895c102-8780-7389-2b0f-0ed26d78ad04@iit.cnr.it> <YmIsGKclMSpvuAt1@TomH-802418> <9850674f-7328-1688-8051-d91335785fa4@iit.cnr.it> <YmXVdlPZpqVOlQUP@TomH-802418> <458b0500-c684-ae38-cb03-0017bc5c8d4f@iit.cnr.it>
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <458b0500-c684-ae38-cb03-0017bc5c8d4f@iit.cnr.it>
X-ClientProxiedBy: SYBPR01CA0168.ausprd01.prod.outlook.com (2603:10c6:10:d::36) To SYBP282MB0553.AUSP282.PROD.OUTLOOK.COM (2603:10c6:10:68::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 37044dca-2c67-4886-8869-08da28b06c77
X-MS-TrafficTypeDiagnostic: MEAP282MB0439:EE_
X-Microsoft-Antispam-PRVS: <MEAP282MB04395310022691EE812AD551C0FD9@MEAP282MB0439.AUSP282.PROD.OUTLOOK.COM>
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: /8o/XM6sbZCFLZz/qoikiY++4cxrlRgNT1UY7EroIBy6zhFAtylaaFdKHbTYYWCs4ooxtbDfztiTW7Dw2JDZFjK73V5FYq1BxDm9P8GhiYsdReeo/ZVEYfKYM9nU1lFqrn9D+zLZ7R45C+SKVJRQSk6+XVa3vy9tdH//oq1nl0D4L2oaRqhe+LPRtgkAFRwz852OHnfJG+wAo7DjsRoTPRynnSx57JIo3TCQkWYWPnt+m1EBAxAQw9VeYhG0aDrsQEhq0toKQch/uFRFBx3pLdWeSMvWBVzQfVdACExKfSl7xuhTzFpjamTpgWfMpCVcAOdJZKuHQE+0Ag479YPpcsE/cs73dqeIs7sGgQ4yHFaODBeqqTxhxw5gUrJ8iz+hSGKDCi8Np2FYAHf2SCgt716LDZLiFAmBPHqzkGenB0Ams/89iMGGjbT4AcgzcSR8hd5iVFDgxdJ0KcByNM7cFWj7NDQUwry3n+VwxBSoL+GmEhmr88mcZMOIF/gB6tpceGBgmeTdvii8L5G/RIcR+U/qe4nf9NTnCgFIRvPHB60b/Cesm4xUOKdxSm4A2eZnDkItO9pA/9l2XEh1ulXQxZy2A8XECeMOcFFyS5VrJbhftcQF0cvgU9ais/25Ik0gkkNTvGwLVZN1BrSqRQdDf1P5GTDD0hFTObippqbAuupjHhXXLpE12KbG04e8MMW4gk0ZmiJqHvso6D2B1iwIbNoRXrTJA45YC4k7B31YdnrE32z7zpkhHeHctDKL+GmtThXaY3Ul+2ltsuH/WDI/gbzz8dCoBdxUsPSWN4CS3mUSNrhxsBnpUOjEktMpAA6B
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SYBP282MB0553.AUSP282.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230001)(4636009)(7916004)(39830400003)(396003)(346002)(366004)(376002)(136003)(8936002)(6512007)(966005)(6486002)(508600001)(83380400001)(33716001)(38350700002)(38100700002)(6916009)(186003)(316002)(66946007)(5660300002)(86362001)(6506007)(52116002)(66476007)(6666004)(66556008)(8676002)(4326008)(26005)(9686003)(2906002)(67856001); DIR:OUT; SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: yMiO7U71RZtENSJGLFN/gPr9OFYezZ85qsNYQP6whiQbPbXTflXN5n5QGCSPFDiHN9T+1lhjlhQYisa+wE9J+ZdvNby9lzFwyO5x1xrYZWiikfNw7KBW7R7gMnO4bfZxGQX5bV1gDUYQSuKbfRrCnTMKhDued6Lsck4e5nGdB3iiCaHOgYUcWjiyaGJc431Nirjyzah8gFiBUOw39Me7nfGTY70a0bT7M7+PFA2UUlw3L5wypWrs44Q4cNHiy4nI4oxeHE/YKI6efDnTIOpt4utrmjME8uaQepoH/Qw0loiZclo1byx7ObwKNja5rFkevm/quzulafk+hllFmphu2RWb9wt0xD7Uuglj/I0llkBQ/JdsK+rOwWYZVejMRGhCRboNDTWyPBQGCOLh5PLkPQf2h8358jmn3uZhLhit351Q6nDf8xHWZbvS20Sj+jhv+SUD49SgNWbVuRhx/g9cGo8i8HIpo6/vYyRxTGjeO5cO3c4vu3mIvi2LUIGJmcCvLznssWn9e4ScMgIde/g0baOclgFQ0qwNHYvG7lObq7zPYq2HJYpaLzSttgb6/VnrtB9SoZFYHcodJZkymdCk8dWi7haFOLjw8YZdQSjxgPFivLtxCWlhJdMruu9Q7ZXVXU/ACBJrut8tcYQo5ClAf4sSxLqorhV9tR41KCKcFsaxN15v7NX0Bgus5WwycjLpH+woVfI8OwgjbAbG7Mpbz335Ayv+mrGJ1l5Ub7Z/eADfzKQXQyhDesMjCE3chJ2UUl+jl1RbBuRWx59QzzfVMobl6r62u6e7HDKDZ98MPm35J5AigExsDJW/Jr3ciwg5jUIKA+YMZUFvwmenBvka3Jn8cxgoRyPO+XUS0y2LHttVfMOAK+qDQuA2wZGX5vQKD5leDtoSGEyrk+gwxcpPH2o5YQ9AXm7vEn80nrTdeND5FVzJXf4DhNjtIjB841rr7uYyWvLFZceJKmZ9BY98N1EQaw9LkCJprI4JUplR5gIpLIyv24OAkVb5/KznTZCDK45RFadO3ubC6CHNHaG4dRC1ZKjHrTcYTdQqm0bGo/gYIN+sJOUQe5q6HN4tHdK/P5PXH/TzqtH7QBdpzTeckHaIqYpdnxbeXJHHb2009jXoJHEqClUtAo7KtgzL/Kl6cws3+GN540sdODoGuhh3HpbM52M88+LbjB0MDxjhxVerfPyKuDMV3zueZt6c7PFMrVQuLLTDHGUQVZlsVMPd55r4GzTE5M0E1P8oY469BnK4QS2wUMOIY5yIJeHG4icyuAFfbVIxfKpyGWMHyvjvl747k+WWZ3m1gAXY3OOcKBDonWPxUOk2lOw7inzBixhpQ55gC+pG/MW8l9VmTU0X0q7LGETrmtTSVz3c1i4N8btG/6i9i4dtueSrHRMK22jSu8meUT9LXikBU8+aAUzaHt2hc2sNTiNw/1oH5zNAaso0s6omCUMnx9WWK83Y74AV0I6ZTxhJCsvslHngvBFoL2eVE6PKuHjTXgSu+t+9FCWIam1cnlyHvfJzfS/dc8tnhiXrg7HZwmQ/e8Sz4SC6MYfuy5YdpgeHaHE95kHJ/CwHYNjrkosw3Pv/wDISEEFONQ+cl2jrFElSLT7zNEDwY+lNViRoW3WfDj3E0vYWMh2yyAlim3JhoLg7r0jszywJGkF1KLWDaFizkcdO5GN0Wd0Gg3wYm/9ltYesjOI4mVP+cbjRndc4rRc6RERT0kB2T/0WOudlPEnaLhgoiItrlw==
X-OriginatorOrg: apnic.net
X-MS-Exchange-CrossTenant-Network-Message-Id: 37044dca-2c67-4886-8869-08da28b06c77
X-MS-Exchange-CrossTenant-AuthSource: SYBP282MB0553.AUSP282.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Apr 2022 00:45:42.7974 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 127d8d0d-7ccf-473d-ab09-6e44ad752ded
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: cO5NpAbuxrAyqPCtwhuMvC4pwRNOe6jsITuwjukPlU35Buafk0Ha2zrl9D0v6cNy
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MEAP282MB0439
Archived-At: <https://mailarchive.ietf.org/arch/msg/regext/hDGnDuzPFXcO8zXTUKW-8IjIS6w>
Subject: Re: [regext] WG LAST CALL: draft-ietf-regext-rdap-reverse-search
X-BeenThere: regext@ietf.org
X-Mailman-Version: 2.1.34
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: Thu, 28 Apr 2022 00:45:55 -0000

Hi Mario,

On Tue, Apr 26, 2022 at 08:17:18AM +0200, Mario Loffredo wrote:
> Il 25/04/2022 00:55, Tom Harrison ha scritto:
>> The structure looks fine to me, but assuming that the
>> "reverse_search_properties" field name is prefixed with
>> "reverse_search" because of the "reverse_search_0" rdapConformance
>> value, then either the field name should be
>> "reverse_search_0_properties", or the rdapConformance value should
>> become "reverse_search", so that the field is prefixed with the entire
>> rdapConformance value.
>> 
>> (Semi-related: on looking at the relevant rdapConformance content in,
>> 7480 has (section 8.1):
>> 
>>      The extension identifier is used as a prefix in JSON names and as
>>      a prefix of path segments in RDAP URLs.
> 
> [ML] According to the response extension example in RFC9083 (see
> "lunarNIC"), the prefix does not include the version info (in that case
> "_level_0").
> 
> Therefore, it seems better to call the metadata field
> "reverse_search_properties".
> 
> The same rule has been followed for the "redcated" extension.

I'm not sure this is the right way to go.  The current set of
registered extensions can be grouped together like so:

 - 1.
    - rdapConformance is an exact match for the extension identifier
    - 1.1
        - New fields are prefixed with the extension identifier
        - New paths are prefixed with the extension identifier
            - arin_originas0
    - 1.2
        - New fields are prefixed with the extension identifier
        - No new paths are defined
            - cidr0
            - paging
            - sorting
            - subsetting
    - 1.3
        - rdapConformance is an exact match for the extension identifier
        - No new fields are defined
        - No new paths are defined
            - icann_rdap_response_profile_0
            - icann_rdap_technical_implementation_guide_0
            - nro_rdap_profile_0
            - nro_rdap_profile_asn_flat_0
            - nro_rdap_profile_asn_hierarchical_0
            - rdap_objectTag
            - redirect_with_content

 - 2.
    - rdapConformance is prefixed with the extension identifier
    - 2.1
        - New fields are prefixed with the extension identifier
        - New paths are prefixed with the extension identifier
            - fred
    - 2.2
        - New fields are prefixed with the extension identifier
        - No new paths are defined
            - artRecord
            - platformNS
            - regType

The extensions in category 2 are not registered correctly, inasmuch as
the rdapConformance value used for the extension must be an exact
match for the extension identifier in the registry, as opposed to
being prefixed with the extension identifier (see e.g.
https://www.rfc-editor.org/errata/eid6310).  If the rdapConformance
value in each of those cases were updated to be the extension
identifier, then each extension in category 2 would fall into the
corresponding subcategory in category 1, and the rules followed by
every extension would then be:

 - rdapConformance is an exact match for the extension identifier
 - New fields (if present) are prefixed with the extension identifier
 - New paths (if present) are prefixed with the extension identifier

which aligns (IMHO) with the previously-quoted text from RFC 7480, as
well as the following:

    6.  Extensibility
    
       For extensibility purposes, this document defines an IANA
       registry for prefixes used in JSON [RFC7159] data serialization
       and URI path segments (see Section 8).

as well as guaranteeing that different extensions occupy different
namespaces, which has other positive effects (e.g. a client seeing an
unknown rdapConformance value could extract all fields/paths prefixed
with that rdapConformance value from the response, for further review
by a user).

It's true that the above reading does not accommodate the use of
lunarNIC in RFC 9083, where the rdapConformance value includes
_level_0 but the fields are prefixed with lunarNIC only.  However, an
alternative set of rules which covered the use of lunarNIC in that
document would be:

 - rdapConformance is an exact match for the extension identifier
 - New fields are prefixed with an arbitrary string, defined in the
   extension
 - New paths are prefixed with an arbitrary string, defined in the
   extension

which is considerably less useful for clients.  Since the lunarNIC
case seems like the exception rather than the rule, I think it makes
sense to use the former reading, at least for extensions that are yet
to be finalised.  (Assuming the lunarNIC text is incorrect, possibly
it can be addressed by an erratum, and even if the category 2
extensions can't be changed now, at least the set of extensions in
that category doesn't have to expand.)

-Tom