[regext] =?UTF-8?Q?Questions_about_RDAP_extensions_and_registration_at_IANA, _role?= of prefix and version

"Patrick Mevzek" <pm@dotandco.com> Wed, 06 November 2019 18:38 UTC

Return-Path: <pm@dotandco.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 9A31412011C for <regext@ietfa.amsl.com>; Wed, 6 Nov 2019 10:38:42 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.701
X-Spam-Level:
X-Spam-Status: No, score=-2.701 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=dotandco.com header.b=SXjqBoZb; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=fqYOmdyc
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Nd0ZANNc1Q4g for <regext@ietfa.amsl.com>; Wed, 6 Nov 2019 10:38:40 -0800 (PST)
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9BE191200F1 for <regext@ietf.org>; Wed, 6 Nov 2019 10:38:40 -0800 (PST)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id F208D22A42; Wed, 6 Nov 2019 13:38:39 -0500 (EST)
Received: from imap1 ([10.202.2.51]) by compute3.internal (MEProxy); Wed, 06 Nov 2019 13:38:39 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dotandco.com; h= mime-version:message-id:date:from:to:cc:subject:content-type :content-transfer-encoding; s=fm1; bh=eSNYGQaWp6o1yXMMXpf8rPbykJ MOpZ+kimk2SA+/2Qc=; b=SXjqBoZb+6LptH8D1i6nce5FMxQjWYsexQPJicQUsV 5KjS2WjwB9lbazm08TDhoMqR/eSzzYQl+v9xSp2O2wrwh4ZawZKVPERE4SkmBS6x 5UDncaFY2+Yfs7qbORNd6RkgqCr3x1cjlK7AyivnmfHevSyK2TjNc/CgL8KC10jb Tvl5f2/UJerc4OVsN6d8nKcwI71P2TL0qv4sHj6WJL3cehn4NrJHuLSMqO6lG09w 85neJ55ePTU3TI8Q/qOmzM7ZNMyyDMqAFVJB9hCTdnRb/9nBAxMmuSSuf7pJsm15 P9i1Bu6U1/HWj/eMtwHFeSeACxilHkAFEJ1OQWwlCmfQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:message-id:mime-version:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=eSNYGQ aWp6o1yXMMXpf8rPbykJMOpZ+kimk2SA+/2Qc=; b=fqYOmdyc2M2FB4EpCqUQ9/ uKijTyOkfA8EccqFgDJ0NNdVHRPMzSIaZvz3h/uy4RJ3TFZPutcx3egN49Qmgpo4 wCfKfYSe+AwiksALKq86UucnaU9UeI/WeldHi5sDl5YpwZ+mTPID9Asn+DGAtcSG wmk7D21eOV3iroAGEe/pYuTbDdi8AP0wY0i/cN43CSpb5D4bbu/QRnsdXm4UppFm 8TqM9Ezb7DIMrjNphJ3YB1bUGy7qMjN/u5cL/mraDw7O5UnSAGa6/NVbtreIWxcY TqZV1xhLg71Wy9Nj0QmckZ/dqVUbzr+h/7knGo4eO76VGisT6iW4aS+SID7Y7PPQ ==
X-ME-Sender: <xms:LxPDXTMuIQ__irFMhyjJdyXI5tmA5BtUBF2zd9WIAqDDisMeFbqPaPFyd1A>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedufedruddujedgudduiecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefofgggkfffhffvufgtgfesthhqredtreerjeenucfhrhhomhepfdfrrght rhhitghkucfovghviigvkhdfuceophhmseguohhtrghnuggtohdrtghomheqnecuffhomh grihhnpehivghtfhdrohhrghdpihgrnhgrrdhorhhgnecurfgrrhgrmhepmhgrihhlfhhr ohhmpehpmhesughothgrnhgutghordgtohhmnecuvehluhhsthgvrhfuihiivgeptd
X-ME-Proxy: <xmx:LxPDXbE6vEbTBkAo3zNH2y9Z4Pc9Jykhn1nhsKLScDMTX7PG9pkysQ> <xmx:LxPDXRRdCNhNApXdE3XGx1y0RJNxzGITTr8zCzw4A83_5BlUHrbLCg> <xmx:LxPDXYvh2Pszxb5SGf7JnWUdE2MwaFxcgGE6sAoEcq8r-YWb7gA_RQ> <xmx:LxPDXcfe8dhbVRKlW20lil4KE5U-LcryYbeF-NA4WJDtVdbWUxkVcA>
Received: by mailuser.nyi.internal (Postfix, from userid 501) id 85B2AC200A6; Wed, 6 Nov 2019 13:38:39 -0500 (EST)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.1.7-509-ge3ec61c-fmstable-20191030v1
Mime-Version: 1.0
Message-Id: <cd67ca1a-febf-4304-afdb-e70b39026cd8@www.fastmail.com>
Date: Wed, 06 Nov 2019 13:36:51 -0500
From: Patrick Mevzek <pm@dotandco.com>
To: regext@ietf.org
Cc: Andrew Lee Newton <andy@arin.net>, Scott Hollenbeck <shollenbeck@verisign.com>, marc.blanchet@viagenie.ca
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/regext/o0o4gpLNOpt5fficODoJr8LP-qM>
Subject: [regext] =?UTF-8?Q?Questions_about_RDAP_extensions_and_registration_at_IANA, _role?= of prefix and version
X-BeenThere: regext@ietf.org
X-Mailman-Version: 2.1.29
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: Wed, 06 Nov 2019 18:38:43 -0000

Hello,

(after having written all the below, I see it is touched already by https://tools.ietf.org/html/draft-blanchet-regext-rdap-deployfindings-05#section-2.2 for most points, so there is some overlap but still sending my views below, because that draft hints at just changing things in the current IANA registry, where I think some RFC changes are needed too)
(so CCing the designated experts for the IANA registry, and Marc as author of the above draft)

IANA registry at
https://www.iana.org/assignments/rdap-extensions/rdap-extensions.xhtml#rdap-extensions-1
lists extensions names.

The examples in RFC7483 with lunarNic makes me think that
* the prefix is lunarNic
* which is what should be registered at IANA
* the conformance list has lunarNic_level_0
* fields have lunarNic as prefix.

So "_level_0" is a kind of suffix, under control of the relevant party (of the namespace
being registered), but is it free-form or should it be always _level_XXXX?
Once "foobar" is registered at IANA, what is its owner allowed to do?
Can it uses any of the following in rdapConformance:
- foobar
- foobar_0
- foobar0
- foobar_level_0
- foobar_buzz
- foobar_level_0_sublevel_42
?

RFC7483 §4.1 goes over this without explaining it.

So some observations/questions:

1) _level_0 is not the only case.
"fred" as registered, appears in rdapConformance as "fred_version_0"

So this would make me think the _level_0 syntax is not mandatory

2) some extensions do not appear used with any suffix:
"arin_originas0" and "cidr0" as registered as such and appear as such in rdapConformance.

However, the final 0 seems like a "version" indicator, so why "cidr0" vs "cidr_level_0"?
If so, should the registration be instead for "arin_originas" and "cidr" so that the relevant owners can "upgrade" to a later version without a new IANA registration?
But if so, this creates a collision. Shouldn't the RFC mention that when you register X you own X_anything, not Xanything, that is make at least a _ character mandatory after the prefix
if what is used in the rdapConformance is not exactly the prefix?

3) kind of same case for:
icann_rdap_response_profile_0
icann_rdap_technical_implementation_guide_0

they are used as is in rdapConformation, but shouldn't the IANA registration really be for the prefix, without consideration of the "version"? And they do not use either _level_0, _version_0, or 0 like other extensions, but now _0.

Even their own specification says:
At the time of publication,"icann_rdap_technical_implementation_guide" is pending registration in the IANA RDAP Extensions Registry

So what was registered at IANA is not what the specification says, there is a "_0" difference.

Again, it seems the _level_0 part is completely optional, is that the intent?


4) RFC 7480 says about extension prefixes: "and they
   SHOULD NOT begin with an underscore character, numerical digit, or
   the characters "xml"." 

I would suggest this is amended at some point in the future to reserve everything starting with "rdap_" to only be used by extensions defined in RFCs, like RFC8521 does.
(I am not sure what is the gain by refusing "xml" as prefix, even if I do not see it as a useful prefix either. RDAP is far more JSON than XML stuff so if we had to restrict something "json" would have made more sense than "xml" to me, even if neither makes sense to me in some way here; explanations in RFC7480 §6 do not really convince me there)


What do I miss for the above discussion on prefix/suffix/version?
Are there other documents explaining in more details this prefix/version schema and its rules?

I am not asking all the above for the beauty(?) of it, things like that have strong interoperability consequences and needs to be taken into account to properly design a client connecting to various servers, which I sadly discover only now as working in RDAP-land.


PS: unrelated additional petpeeve, for here or anywhere else, any link taken to a "reference" but which points to a git repository, without enforcing in the URL a specific commit, is not really a reference. It points to the latest "master" version of that file, which can change over time, as a branch tip is not a stable reference. Links to repositories should be refused if they do not include a stable reference, which means a commit ID (a tag can also move, so it is not good enough)

Of course for any other link, the content can also change at any time.
Wikipedia solves that by adding to each link something like "retrieved on XXXX-XX-XX" so that you have at least a timestamp. IANA registration could at least include a timestamp (when the extension was registered)

PS2: seeing that all of the above come from the fact that we are basically trying to reinvent XML namespaces but in JSON... and arriving at the situation where we get all the drawbacks without any strong advantage, at least not until things are clearer/stricter.

-- 
  Patrick Mevzek
  pm@dotandco.com