Scott,

My feedback is embedded below.

-- 
 
JG



James Gould
Fellow Engineer
jgo...@verisign.com 
<applewebdata://13890C55-AAE8-4BF3-A6CE-B4BA42740803/jgo...@verisign.com>

703-948-3271
12061 Bluemont Way
Reston, VA 20190

Verisign.com <http://verisigninc.com/>

On 7/18/22, 1:49 PM, "Hollenbeck, Scott" 
<shollenbeck=40verisign....@dmarc.ietf.org> wrote:



    > -----Original Message-----
    > From: Gould, James <jgould=40verisign....@dmarc.ietf.org>
    > Sent: Monday, July 18, 2022 1:06 PM
    > To: Hollenbeck, Scott <shollenb...@verisign.com>; 
mario.loffr...@iit.cnr.it;
    > a...@hxr.us
    > Cc: regext@ietf.org
    > Subject: [EXTERNAL] Re: RE: RE: Re: [regext] OK, What Next? (was RDAP
    > Extensions Approach Analysis v2)
    >
    > Caution: This email originated from outside the organization. Do not 
click 
    > links
    > or open attachments unless you recognize the sender and know the content
    > is safe.
    >
    > Scott,
    >
    > >    You can't give drafts, and the content they contain, implementation
    > status
    > >    that they don't have. I get the value of implementation experience, 
but
    > that
    > >    doesn't mean that we can add something to IETF processes that doesn't
    > exist.

    > I'm not stating that a draft has the implementation status, but by 
    > supporting
    > pointed versioning and minimal client / server impact to draft updates, 
it 
    > will
    > encourage implementations and contribute to the implementation status
    > section.  We found the pointed versioning to be very useful with the EPP
    > extensions, which should be reused for RDAP extensions.

    [SAH] You're putting content into a document that has no formal status with 
    the expectation that implementations will do something with version 
    information that changes over time. It might be useful, but you really 
    shouldn't be doing it.

JG - Do you mean the IANA registrations that are used for the elements of the 
extension, including the RDAP conformance?  We’ve done this for the EPP 
extensions (e.g., pointed versioned namespace URIs) for many years and it is 
needed for those that choose to implement to a draft version.  Encouraging 
support for implementing a draft is important to contribute to the 
Implementation Status section of the draft; otherwise, the draft is purely 
theoretical.  Versioning can change and the signaling of it is material.  The 
RDAP conformance values in RDAP should have had explicit support for 
versioning.  The "rdap_level_0" implied versioning, but there is no mention of 
versioning in the RFCs.  If versioning is included, the RDAP conformance is the 
natural place for it.  

    > > [SAH] As I mentioned in my response to Mario, part of the answer may
    > > lie in the server NOT removing support for older versions of an
    > > extension if it wishes to provide backward compatibility.
    >
    > Eventually the support for the old version can and will go away on the 
    > server-
    > side, where embedding the version into all the extension elements can
    > create interoperability issues without the prior knowledge of the server.
    > There is no version negotiation in RDAP, so once the old version support 
is
    > removed, a client implementation can be broken.  Using just the RDAP
    > conformance for hinting / signaling the support of the versioned
    > extension(s), can be adjusted by the server with little to no impact to 
the
    > clients.

    [SAH] "There is no version negotiation in RDAP"? It's not done the same way 
    it's done in EPP, but it certainly is possible. Look at Section 3.1.6 of 
RFC 
    9082:

    "The help path segment can be used to request helpful information (command 
    syntax, terms of service, privacy policy, rate-limiting policy, supported 
    authentication methods, supported extensions, technical support contact, 
etc.) 
    from an RDAP server."

    A client can submit a "help" query to an RDAP server to request information 
    before doing anything else. If the server publishes information describing 
    supported extensions, versions of supported extensions, etc., the client 
can 
    then choose which features it wishes to use based on the information 
received 
    in the "help" response, which contains an rdapConformance data structure 
along 
    with everything else the server returns. The server will know which 
versions 
    of extensions are being requested by the client based on the prefix the 
client 
    prepends to the extension elements sent in subsequent requests.

JG - The help does not support client version signaling and the help response 
doesn't use any formal information for client software discovery.  If the 
intent of the "help" query was to provide for formal client software discovery, 
it would require much more formality.  The "help" query could help the 
developer develop the extension in the client software, but not by software 
discovery.  Some extensions don't include path segment or query parameter 
extensions, such as the redacted extension (draft-ietf-regext-rdap-redacted), 
so there is no method of client extension version signaling.  If RDAP does need 
to provide client version signaling, then there would be the need for a new 
extension for that purpose.  

JG - I'm going to go back to Approach B, where there is a unique common prefix 
registered ("e.g., "foo") used by all extension elements and the extension's 
RDAP conformance values ("foo_level_0" or even pointed versions 
"foo_level_0_1").  You get the extension signaling and content consistency and 
the versioning is isolated to the RDAP conformance.  What is the issue with 
this approach?      

    Scott

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

Reply via email to