Re: [regext] Benjamin Kaduk's Discuss on draft-ietf-regext-rdap-partial-response-13: (with DISCUSS and COMMENT)
Mario Loffredo <mario.loffredo@iit.cnr.it> Fri, 11 September 2020 11:14 UTC
Return-Path: <mario.loffredo@iit.cnr.it>
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 188413A0EC6; Fri, 11 Sep 2020 04:14:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.846
X-Spam-Level:
X-Spam-Status: No, score=-2.846 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, NICE_REPLY_A=-0.948, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 Z9DiM07z16Oy; Fri, 11 Sep 2020 04:14:23 -0700 (PDT)
Received: from smtp.iit.cnr.it (mx3.iit.cnr.it [146.48.98.150]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4B1153A0406; Fri, 11 Sep 2020 04:14:21 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by smtp.iit.cnr.it (Postfix) with ESMTP id C31A36003A1; Fri, 11 Sep 2020 13:14:19 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at mx3.iit.cnr.it
Received: from smtp.iit.cnr.it ([127.0.0.1]) by localhost (mx3.iit.cnr.it [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Zf_sCZLOxC8f; Fri, 11 Sep 2020 13:14:14 +0200 (CEST)
Received: from [192.12.193.108] (pc-loffredo.nic.it [192.12.193.108]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by smtp.iit.cnr.it (Postfix) with ESMTPSA id CF6666002DB; Fri, 11 Sep 2020 13:14:14 +0200 (CEST)
To: Benjamin Kaduk <kaduk@mit.edu>, The IESG <iesg@ietf.org>
Cc: draft-ietf-regext-rdap-partial-response@ietf.org, regext-chairs@ietf.org, regext@ietf.org, Jasdip Singh <jasdips@arin.net>
References: <159967727061.8437.12421288079019560355@ietfa.amsl.com>
From: Mario Loffredo <mario.loffredo@iit.cnr.it>
Message-ID: <cb012ab6-ee51-0817-8c6f-750ea9eae80b@iit.cnr.it>
Date: Fri, 11 Sep 2020 13:11:03 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.12.0
MIME-Version: 1.0
In-Reply-To: <159967727061.8437.12421288079019560355@ietfa.amsl.com>
Content-Type: multipart/alternative; boundary="------------C28698C92CC59748A1AD8264"
Content-Language: it
Archived-At: <https://mailarchive.ietf.org/arch/msg/regext/Bn5jr7jM2uYGyO4RY4CL9pWPI4Q>
Subject: Re: [regext] Benjamin Kaduk's Discuss on draft-ietf-regext-rdap-partial-response-13: (with DISCUSS and COMMENT)
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: Fri, 11 Sep 2020 11:14:26 -0000
Hi Benjamin, thanks a lot for your extensive review. Please fidn my comments inline. Il 09/09/2020 20:47, Benjamin Kaduk via Datatracker ha scritto: > Benjamin Kaduk has entered the following ballot position for > draft-ietf-regext-rdap-partial-response-13: 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-partial-response/ > > > > ---------------------------------------------------------------------- > DISCUSS: > ---------------------------------------------------------------------- > > As was the case for Murray, I'm unconvinced that I have understood what > Section 3 intended to convey. However, I am balloting Discuss because > my current best understanding is for a statement that seems inconsistent > with my understanding of how the partial response mechanism works. In > particular, how would the topmost objects be returned according to > different field sets, if there's only a single query parameter and (I > assume) all topmost objects are the results of the same single query? > > > ---------------------------------------------------------------------- > COMMENT: > ---------------------------------------------------------------------- > > Thanks to the shepherd for noting that the examples have been through > JSONLint! > > Abstract > > The Registration Data Access Protocol (RDAP) does not include > capabilities to request partial responses. Servers will only return > full responses that include all of the information that a client is > authorized to receive. A partial response capability that limits the > > [There is perhaps some stylistic question of whether to describe the > present state in the present tense vs. saying something like "prior to > the mechanism defined in this document" or "as specified in [RFC7483".] > > Section 1 > > Currently, RDAP does not provide a client with any way to request a > partial response. Servers can only provide the client with a full > > nit: will this age well? [ML] :-) > > Section 2 > > The path segment defined in this section is an OPTIONAL extension of > search path segments defined in [RFC7482]. This document defines an > > It's not entirely clear to me in what sense it's accurate to say that > this section "defines" a path segment. (Perhaps RDAP path segments > diverge from normal HTTP and generic URI path segments in this sense?) > My current understanding is that we are defining an optional query > parameter in the purest URI sense, which does not require a new path > segment in the URI sense. > > full response (Figure 1). The field sets supported by a server are > usually described in out-of-band documents (e.g. RDAP profile) > > nit: comma (and only one space) after "e.g.". [ML] There is only one space after "e.g." in the XML version. Anyway, I'll put the comma. > > Section 2.1 > > responses about the available field sets. Such information is > collected in a new data structure named "subsetting_metadata" > containing the following properties: > > I assume this is a JSON datastructure, specifically? [ML] OK. I'll specify "JSON data structure" > > o "availableFieldSets": "AvailableFieldSet[]" (OPTIONAL) an array of > objects, with each element describing an available field set. > Members are: > > * "name": "String" (REQUIRED) the field set name; > * "default": "Boolean" (REQUIRED) whether the field set is > applied by default; > > Is it allowed to have more than one entry in the array set > "default":true? [ML] Obviously not. Should I furtherly explain that only one field set must be applied by default? Isn't implicitly stated by the meaning of "applied by default"? > > * "links": "Link[]" (OPTIONAL) an array of links as described in > [RFC8288] containing the query string that applies the field > set. > > I suggest giving an example or a bit more detail as to exactly what > structure/format is expected here; 8288 has a fair bit of meat to it. > Ah, but this is covered in Section 2.1.2, so maybe just a > forward-reference is enough. [ML] I'll put the reference "(see Section 2.1.2)" > It would be good (either here or there) to > give some indication as to which of "value"/"rel"/"href"/"title"/"type" > are required/optional, though. [ML] In Section 4.2 of RFC7483bis <https://datatracker.ietf.org/doc/draft-ietf-regext-rfc7483bis/> is written: The "value", "rel" and "href" JSON values MUST be specified. All other JSON values are OPTIONAL. Could be enough to report the same text? > > Section 4 > > o "id": the server provides only the key field: "handle" for > entities, "ldhName" for domains and nameservers. If a returned > domain or nameserver is an Internationalized Domain Name (IDN) > [RFC5890], then the "unicodeName" field MUST be included in the > > nit: I suggest "also" or "additionally be included". [ML] OK. I'll change it to "MUST additionally be included" > > The "objectClassName" field is implicitly included in each of the > above field sets. RDAP providers SHOULD include a "self" link in > each field set. RDAP providers MAY also add any property providing > service information. > > Just to check my understanding: the "property" that might also be added > here is a "field" that would be included in a given field set and > corresponding query response? (I don't know if "property" has > RDAP-specific connotations that make it a better word to use here.) [ML] it is a required property as defined in Section 4.9 of RFC7483bis <https://datatracker.ietf.org/doc/draft-ietf-regext-rfc7483bis/> > > (nit?) I'm also not entirely sure that 'include a "self" link in each > field set' is pedantically correct, as opposed to 'include a "links" > field indicating the "self" link relationship'. [ML] OK. > > Section 8 > > I suppose it's always possible that by using a narrow field set a client > would not get back some important piece of information, e.g., a modifier > that restricts the scope of applicability of some information. It seems > fairly obvious that the onus for knowing what fields are possible and > avoiding this scenario falls on the client, though perhaps it is worth > also giving some guidance to the server to take this into consideration > while defining field sets. [ML] I'm convinced that the number and the content of the field sets defined in an RDAP profile should be agreed between producers and consumers. I expect that the field sets number and content will be the result of a tuning process. > > Servers can also define different result limits according to the > available field sets, so a more flexible truncation strategy can be > > I'm not entirely sure I am understanding this correctly -- is it just > saying (roughly) "when using the 'id' field set it's safe to use much > larger page size than for the 'full' field set"? (I didn't find a > specific definition of "result limits" in RFCs 7482 or 7483.) [ML] Yes, exactly. The value "result set truncated due to excessive load" is presented among the values defined in Section 10.2.1 of RFC7483 for "Notice and remark Types". When a server returns such notice, it means that server limits have been exceeded. > > implemented. The new query parameter presented in this document > provides RDAP operators with a way to implement a server that reduces > inefficiency risks. > > Perhaps it's worth mentioning that in the face of unupdated clients > these potential gains are not actually realized. [ML] Could you furtherly explain this concept? > > Section 9.1 > > The one place we cite RFC 7481 does not seem to itself be a normative > usage (though I can imagine that one does need to read it in order to > build a complete system). [ML] Do you suggest to insert it among the "informative References"? I think that even if it isn't essential to implement the proposed capability, I believe it's needful to achieve a comprehensive implementation that takes into account the relationship between the availability and the content of each fiedl set and the user access profiles. For this reason, I put it among the "Normative References" > > Appendix A > > Looking at the implementation experiences of partial response, two > approaches are observed: > > Looking at context from later in the suggestion suggests that this > survey was not restricted to RDAP partial response, which might be worth > mentioning. [ML] OK. Could be enough to update the sentence as in the following? "Looking at the implementation experiences of partial response offered by data providers on the web, two approaches are observed" > > o The request of some fields might not match the client's access and > authorization levels. Clients might request unauthorized fields > and servers should define a strategy for responding, such as > always returning an error response or returning a response that > > nit: I think this is more of "servers have to" than "servers should" > (even though this strategy might just be "do whatever the existing code > happens to do"). [ML] OK. I change that sentence as you suggest. > > Appendix A.1 > > o Relevant entity object information is included in a jCard, but > such information cannot be easily selected because it is split > into the items of a jagged array; > > nit: I didn't find "jagged array" used in either RFC 7483 or RFC 7095; > is is relationship to jCard specified somewhere else? [ML] It is not a jCard specific term. It is a term generally used in the programming languages to refer to an array of arrays of which the member arrays can be of different sizes. The straightforward deserialization of a jCard produces a jagged array. > > The latter approach seems to facilitate RDAP interoperability. > Servers can define basic field sets which, if known to clients, can > increase the probability of obtaining a valid response. The usage of > > nit: the "latter approach" seems to be an artifact of some text moves, > as there isn't a recent comparison of two approaches in this section. > ("Latter approach" also appears in the following paragraph.) [ML] I'll replace "latter approach" with "the field sets approach". Hope I forgot nothing. Looking forward for your reply to my comments and proposed updates. Best, Mario > > > -- Dr. Mario Loffredo Systems and Technological Development Unit Institute of Informatics and Telematics (IIT) National Research Council (CNR) via G. Moruzzi 1, I-56124 PISA, Italy Phone: +39.0503153497 Mobile: +39.3462122240 Web: http://www.iit.cnr.it/mario.loffredo
- [regext] Benjamin Kaduk's Discuss on draft-ietf-r… Benjamin Kaduk via Datatracker
- Re: [regext] Benjamin Kaduk's Discuss on draft-ie… Mario Loffredo
- Re: [regext] Benjamin Kaduk's Discuss on draft-ie… Benjamin Kaduk
- Re: [regext] Benjamin Kaduk's Discuss on draft-ie… Mario Loffredo
- Re: [regext] Benjamin Kaduk's Discuss on draft-ie… Mario Loffredo
- Re: [regext] Benjamin Kaduk's Discuss on draft-ie… Benjamin Kaduk
- Re: [regext] Benjamin Kaduk's Discuss on draft-ie… Mario Loffredo
- Re: [regext] Benjamin Kaduk's Discuss on draft-ie… Benjamin Kaduk
- Re: [regext] Benjamin Kaduk's Discuss on draft-ie… Barry Leiba
- Re: [regext] Benjamin Kaduk's Discuss on draft-ie… Benjamin Kaduk