Subject: [regext] Alexey Melnikov's Discuss on draft-ietf-regext-rdap-object-tag-04: (with DISCUSS)

From: Alexey Melnikov <[email-masked]>
Date: Sun, 29 Jul 2018 10:15:24 -0700

Alexey Melnikov has entered the following ballot position for
draft-ietf-regext-rdap-object-tag-04: Discuss

When responding, please keep the subject line intact and reply to all
email addresses included in the To and CC lines. (Feel free to cut this
introductory paragraph, however.)

Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
for more information about IESG DISCUSS and COMMENT positions.

The document, along with other ballot positions, can be found here:
https://datatracker.ietf.org/doc/draft-ietf-regext-rdap-object-tag/

----------------------------------------------------------------------
DISCUSS:
----------------------------------------------------------------------

This is a fine document, but I have one possible issue that I would like to
quickly discuss before recommending approval of this document:

Looking at the example in Section 3:

   {
     "version": "1.0",
     "publication": "YYYY-MM-DDTHH:MM:SSZ",
     "description": "RDAP service provider bootstrap values",
     "services": [
       [
         ["YYYY"],

Values like YYYY are not distinguishable from TLD values registered in
<https://www.iana.org/assignments/rdap-dns/rdap-dns.xhtml>. All numeric values
(ASNs or ranges of ASNs), as well as IPv4/IPv6 addresses are syntactically
distinguishable from TLDs, but values registered in this document are not. Is
this a problem? My concern is about fetching JSON from 
<https://www.iana.org/assignments/rdap-dns/rdap-dns.xhtml> and misinterpreting
it as valid data from the registry established in this document or vice versa.

         [
           "https://example.com/rdap/"
         ]
       ],
       [
         ["ZZ54"],
         [
           "http://rdap.example.org/"
         ]
       ],
       [
         ["1754"],
         [
           "https://example.net/rdap/",
           "http://example.net/rdap/"
         ]
       ]
     ]
    }

---

From: "Hollenbeck, Scott" <[email-masked]>
Date: Mon, 30 Jul 2018 12:33:23 +0000

> -----Original Message-----
> From: Alexey Melnikov <[email-masked]>
> Sent: Sunday, July 29, 2018 1:15 PM
> To: The IESG <[email-masked]>
> Cc: [email-masked]; Gould, James
> <[email-masked]>; [email-masked]; Gould, James
> <[email-masked]>; [email-masked]
> Subject: [EXTERNAL] Alexey Melnikov's Discuss on draft-ietf-regext-rdap-
> object-tag-04: (with DISCUSS)
>
> This is a fine document, but I have one possible issue that I would like
> to quickly discuss before recommending approval of this document:
>
> <https://www.iana.org/assignments/rdap-dns/rdap-dns.xhtml>. All numeric
> values (ASNs or ranges of ASNs), as well as IPv4/IPv6 addresses are
> syntactically distinguishable from TLDs, but values registered in this
> document are not. Is this a problem? My concern is about fetching JSON
> from <https://www.iana.org/assignments/rdap-dns/rdap-dns.xhtml> and
> misinterpreting it as valid data from the registry established in this
> document or vice versa.

Thanks for the review, Alexey. No, I don't think it's an issue. The registries are distinct because they're designed to be associated with different query types. A client should use the different RDAP bootstrap registries (there are currently 4; this one would make 5) in such a way that that they're directly mapped to specific types of queries. Domain name queries, for example, should be mapped to values in the Domain Name Space registry. Values in this registry should be mapped to other types of RDAP queries, like entity values. The processing flow would look something like this:

Receive query
Determine query type
if {query type == (domain|AS|IPv4 address|IPv6 address|entity)} then {extract registry key; map to appropriate bootstrap registry; retrieve bootstrap value}
else {no bootstrap is possible}

Scott

---

From: Alexey Melnikov <[email-masked]>
Date: Mon, 30 Jul 2018 17:21:26 +0100

Hi Scott,

> > -----Original Message-----
 (snip)
> Thanks for the review, Alexey. No, I don't think it's an issue. The 
> registries are distinct because they're designed to be associated with 
> different query types. A client should use the different RDAP bootstrap 
> registries (there are currently 4; this one would make 5) in such a way 
> that that they're directly mapped to specific types of queries. Domain 
> name queries, for example, should be mapped to values in the Domain Name 
> Space registry. Values in this registry should be mapped to other types 
> of RDAP queries, like entity values. The processing flow would look 
> something like this:
> 
> Receive query
> Determine query type
> if {query type == (domain|AS|IPv4 address|IPv6 address|entity)} then 
> {extract registry key; map to appropriate bootstrap registry; retrieve 
> bootstrap value}

Ok, so if you don't think that these JSON payloads are ever saved to files and sent around via other means, than I will clear.
I am just thinking it that it would be better to have something in the payload to allow them to be distinguishable. (E.g. an extra JSON attribute.)

---

From: "Hollenbeck, Scott" <[email-masked]>
Date: Mon, 30 Jul 2018 16:24:31 +0000

> Sent: Monday, July 30, 2018 12:21 PM
> To: Hollenbeck, Scott <[email-masked]>; [email-masked]
> <[email-masked]>; [email-masked]; [email-masked]
> Subject: [EXTERNAL] Re: Alexey Melnikov's Discuss on draft-ietf-regext-
> rdap-object-tag-04: (with DISCUSS)
>
> Hi Scott,
>
> > > This is a fine document, but I have one possible issue that I would
> > > like to quickly discuss before recommending approval of this document:
> > >
> > > Values like YYYY are not distinguishable from TLD values registered
> > > in <https://www.iana.org/assignments/rdap-dns/rdap-dns.xhtml>. All
> > > numeric values (ASNs or ranges of ASNs), as well as IPv4/IPv6
> > > addresses are syntactically distinguishable from TLDs, but values
> > > registered in this document are not. Is this a problem? My concern
> > > is about fetching JSON from
> > > <https://www.iana.org/assignments/rdap-dns/rdap-dns.xhtml> and
> > different query types. A client should use the different RDAP
> > bootstrap registries (there are currently 4; this one would make 5) in
> > such a way that that they're directly mapped to specific types of
> > queries. Domain name queries, for example, should be mapped to values
> > in the Domain Name Space registry. Values in this registry should be
> > mapped to other types of RDAP queries, like entity values. The
> > processing flow would look something like this:
> >
> > Receive query
> > Determine query type
> > bootstrap value} else {no bootstrap is possible}
>
> Ok, so if you don't think that these JSON payloads are ever saved to files
> and sent around via other means, than I will clear.
> I am just thinking it that it would be better to have something in the
> payload to allow them to be distinguishable. (E.g. an extra JSON
> attribute.)

We could do something like that, but for the sake of consistency it would mean modifying the existing registries, too.

Scott

---

From: Alexey Melnikov <[email-masked]>
Date: Mon, 30 Jul 2018 17:34:06 +0100

On Mon, Jul 30, 2018, at 5:24 PM, Hollenbeck, Scott wrote:
> We could do something like that, but for the sake of consistency it 
> would mean modifying the existing registries, too.

You can, but you don't have to, you can just describe what lack of the new attribute mean for old registry.

---

From: Andy Newton <[email-masked]>
Date: Mon, 30 Jul 2018 22:03:03 +0000

> the new attribute mean for old registry.

Isn't this exactly what the description attribute is used for? At
present the IANA has a different description for each registry. Perhaps
we should just update the text to indicate that the IANA should
describe the registry as being for object tags.

Current values in IANA:
dns.json: "description": "RDAP bootstrap file for Domain Name System
registrations"
ipv4.json: "description": "RDAP bootstrap file for IPv4 address
allocations"
ipv6.json: "description": "RDAP bootstrap file for IPv6 address
allocations"
asn.json: "description": "RDAP bootstrap file for Autonomous System
Number allocations"

-andy

---

From: "Hollenbeck, Scott" <[email-masked]>
Date: Tue, 31 Jul 2018 11:01:34 +0000

> From: Andy Newton <[email-masked]>
> Sent: Monday, July 30, 2018 6:03 PM
> To: [email-masked]; [email-masked]; Hollenbeck, Scott
> <[email-masked]>
> > > > > > This is a fine document, but I have one possible issue that I
> > > > > > would like to quickly discuss before recommending approval of
> > > > > > this
> > > > > > document:
> > > > > >
> > > > > > <https://www.iana.org/assignments/rdap-dns/rdap-dns.xhtml>
> > > > > > . All
> > > > > > addresses are syntactically distinguishable from TLDs, but
> > > > > > values registered in this document are not. Is this a problem?
> > > > > > My concern is about fetching JSON from
> > > > > registries are distinct because they're designed to be
> > > > > associated with different query types. A client should use the
> > > > > different RDAP bootstrap registries (there are currently 4; this
> > > > > one would make 5) in such a way that that they're directly
> > > > > mapped to specific types of queries. Domain name queries, for
> > > > > example, should be mapped to values in the Domain Name Space
> > > > > registry. Values in this registry should be mapped to other
> > > > > types of RDAP queries, like entity values. The processing flow
> > > > > would look something like this:
> > > > >
> > > > > Receive query
> > > > > Determine query type
> > > > > if {query type == (domain|AS|IPv4 address|IPv6 address|entity)}
> > > > > then {extract registry key; map to appropriate bootstrap
> > > > > registry; retrieve bootstrap value} else {no bootstrap is
> > > > > possible}
> > > > Ok, so if you don't think that these JSON payloads are ever saved
> > > > to files and sent around via other means, than I will clear.
> > > > I am just thinking it that it would be better to have something in
> > > > the payload to allow them to be distinguishable. (E.g. an extra
> > > > JSON
> > > > attribute.)
> Isn't this exactly what the description attribute is used for? At present
> the IANA has a different description for each registry. Perhaps we should
> just update the text to indicate that the IANA should describe the
> registry as being for object tags.
>
> Current values in IANA:
> asn.json: "description": "RDAP bootstrap file for Autonomous System Number
> allocations"

Indeed. The example registry included in Section 3 includes this value:

"description": "RDAP service provider bootstrap values"

Would "RDAP bootstrap file for service provider object tags" be a better description?

Scott

---

From: Alexey Melnikov <[email-masked]>
Date: Tue, 31 Jul 2018 12:17:36 +0100

On Mon, Jul 30, 2018, at 11:03 PM, Andy Newton wrote:
> > > > > > would
> > > > > > values
> > > > > > and
> > > > > associated with
> > > > > then
> > > > to files

Hmm, it looks like this field is human readable, so I didn't expect it to be matched by software. But this might work.