Hi James,

On Wed, May 18, 2022 at 11:59:05AM +0000, Gould, James wrote:
> On Wed, May 18, 2022 at 09:12:16AM +1000, Tom Harrison wrote:
>> The uniqueness aspect of the registry is fine, as is the 'null suffix'
>> part.  I'm more concerned with the confusing way in which the various
>> documents interact in this respect and the fact that two different
>> 'types' of values will be registered (advisedly) from now on.
> 
> I don't believe there will be any confusion since the purpose of the
> registry is to ensure the uniqueness of the prefixes and identifiers
> used by the RDAP extensions and the purpose of the referenced
> specification is to define their usage.

Having reviewed the relevant text again, I think I know what happened
here (which is relevant to what to do next).  RFC 7480 has:

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

Later in that document:

    The purpose of this registry is to ensure uniqueness of extension
    identifiers.  The extension identifier is used as a prefix in JSON
    names and as a prefix of path segments in RDAP URLs.

Followed by an example registration:

    Extension identifier: lunarNic
    Registry operator: The Registry of the Moon, LLC
    Published specification: http://www.example/moon_apis/rdap
    Person & email address to contact for further information:
    Professor Bernardo de la Paz <berny@moon.example>
    Intended usage: COMMON

lunarNic is not otherwise mentioned in RFC 7480.  But RFC 7483 (not
9083) has:

    When custom JSON values are inserted into responses, conformance
    to those custom specifications MUST use a string prefixed with the
    appropriate identifier from the IANA RDAP Extensions registry
    specified in [RFC7480].

with an example conformance value of "lunarNic_level_0".  It then goes
on to give example lunarNic fields like "lunarNic_beforeOneSmallStep".
For a user looking at this prior to the publication of RFC 9083, it
looks like:

 - the prefix is what is registered as the extension identifier;
 - if a conformance value begins with the prefix, then
   the response is in accordance with the corresponding extension;
 - such a response may contain new fields that begin with the prefix;
   and
 - the relevant server may support additional paths that begin with
   the prefix, per the extension documentation.

Then there is Patrick Mevzek's thread (beginning at
https://mailarchive.ietf.org/arch/msg/regext/o0o4gpLNOpt5fficODoJr8LP-qM/)
from 2019, where his understanding is basically per the above, noting
some issues with this:

 - is the text after the prefix in the conformance value free-form?
   are there any requirements around that text more generally?
 - if free-form text is permitted, then an extension identifier like
   "cidr" means that no other extension beginning with "cidr" can be
   registered, because a client would not be able to distinguish the
   conformance values: is that intentional?
 - why do some extensions embed the version in the extension?

after which Scott and Andy note that they expect the conformance
values to be exact matches for the extension identifiers, and that the
same will be addressed in 7483bis (i.e. 9083).  That happens by
changing the following text in 7483:

    When custom JSON values are inserted into responses, conformance
    to those custom specifications MUST use a string prefixed with the
    appropriate identifier from the IANA RDAP Extensions registry
    specified in [RFC7480].

such that it becomes:

    When custom JSON values are inserted into responses, conformance
    to those custom specifications MUST be indicated by including a
    unique string literal value registered in the IANA RDAP Extensions
    registry specified in [RFC7480].

but neither 7480 nor the example lunarNic fields in 7483 are updated
to suit, leading to the current situation where it appears (at least
on one reading) that the conformance value must be used as the prefix.

If the change in 9083 is considered to be a mistake, and registering
prefixes is considered acceptable, then possibly the simplest option
is to:

 - submit an erratum against 9083;
 - continue registering extensions, but register only the prefixes;
   and
 - write a document clarifying all of this, as well as noting
   conventions around versioning and so on, to avoid some of the
   problems Patrick raised around namespacing and similar.

This has some added benefits:

 - only one registry is needed; and
 - the entries in the existing registry are all fine and do not need
   to be changed (so long as conformance values are permitted to be
   exact matches for extension identifiers, which doesn't seem to be
   problematic).

It does mean that a given extension is restricted to a single
field/path prefix, but I'm not sure that that's a serious problem, or
at least I don't think there are any documents pending that are using
multiple prefixes.

-Tom

_______________________________________________
regext mailing list
regext@ietf.org
https://www.ietf.org/mailman/listinfo/regext

Reply via email to