Hi Murray,

thanks for your reply.

Please find my responses inline.

Il 25/07/2023 22:49, Murray S. Kucherawy ha scritto:
On Tue, Jul 11, 2023 at 8:44 AM Mario Loffredo <mario.loffr...@iit.cnr.it> wrote:


    * In Sections 12.2.3.2 and 12.2.4.2, the individual entries are
    run together into one big blob.  Could we get blank lines between
    them, or maybe put each in its own subsection if necessary?  Or
    make it a table?

    [ML] I know that the layout is redundant and not compact at all
    but it's the only one making the JSONPath expressions quite readable.

    I can move the fileds assuming always the same value (e.g.
    "Related Resource Type", "Registrant Name" and "Registrant
    Information") at the beginning so that each group of properties
    related to an entry in the IANA registry gets shorter.

    Does it work for you ?

Looks like you could put each of the four registrations in its own subsection to nail this down.  But what's weird is that if I view it here:

https://datatracker.ietf.org/doc/html/draft-ietf-regext-rdap-reverse-search-22

...it's all mashed together, but when I view it here:

https://www.ietf.org/archive/id/draft-ietf-regext-rdap-reverse-search-22.html

...it looks fine.

Let's just leave it for now (unless you like the subsections idea) and ask the RFC Editor to help with formatting.  It may become an issue earlier if IANA finds it confusing.
[ML] Hope I made it more readable. Let's how it will be rendered. I checked the layout in TXT, HTML and PDF and looks good to me.


    * In Section 13, we have a "REQUIRED" followed by some
    non-specific advice about what to implement.  This doesn't seem
    like a good use of BCP 14 key words.  Can we say it some other way?

    [ML] Would it be better to use "SHOULD" instead of "are REQUIRED to" ?


I would change "are REQUIRED" to "need".  The problem I have is that saying "you are REQUIRED to assure privacy" doesn't tell the implementer exactly what needs to happen to interoperate or assure privacy, so being able to specify what it will take to comply isn't possible.  It's like the difference between saying "you MUST make sure your data are secured somehow" versus "you MUST use TLS 1.3"; it's easy to prove compliance with one of those, but not the other.
[ML] Agreed.


    * Section 3 should probably specify what should happen if the
    JSONpath refers to an attribute/value that's not present in the
    object it's referencing.

    [ML] The JSONPath expressions related to reverse search properties
    are provided by servers and have been previously registered with
    IANA, hence they have been checked by Designated Experts. It's
    very unlikely they are wrong. Can't imagine how clients can
    operate when servers provide wrong information. I mean, servers
    can return an error code when clients include wrong or unsupported
    reverse search properties in thei requests, but servers are always
    expected to provide correct data.


It just feels strange to presume you will always have valid input and never discuss error condition handling.  I'm still learning about JSONpath (it's also in "AD Evaluation") so maybe this is a teachable moment for me, but it seems like there's a presumption that a query will always be run against a value that will resolve; is that the case here too?  Maybe we should say that if so.

[ML] Probably I didn't make myself clear or I still don't catch your remark. The JSONPath expressions are provided by servers to help clients in linking the available reverse search properties to the reponse fields. Client can only use the reverse search properties in their queries. The invalid use of both reverse search poperties and predicates by clients results in servers returning an error as defined in Section 7:

*
*

*Servers MUST return an HTTP 501 (Not Implemented) **[RFC9110 <https://author-tools.ietf.org/api/export/be29d181-e21a-48ce-afdb-d5731c79c81c/draft-ietf-regext-rdap-reverse-search-23.html#RFC9110>]**response to inform clients of unsupported reverse searches.*

*Based on their policy, servers MAY restrict how predicates are used to make a valid search condition, by returning a 400 (Bad Request) response when a problematic request is received.*


Obviously, it can happen that a server returns  an either wrong or unmatched JSONPath expression in the reverse_search_properties_mapping member. In this case, think there are two options for the client:

1) The JSONPath expression is wrong but the related reverse search property works (e.g. the propertyPath value for the "email" reverse search property is "$.entities[*].vcardArray[1][?(@[0]=='email')][*2*]" instead of "$.entities[*].vcardArray[1][?(@[0]=='email')][*3*]"). The server will return a valid response. If a client will discover the mistake in JSONPath expression, the server will be informed about it in an out-of-band communication.

2) The JSONPath expression is supposedly correct but the related reverse search property doesn't match a response field (e.g. the response field is redacted). In this case, the servers shouldn't have put the reverse search property in the reverse_search_properties_mapping array and the client is supposed to receive an error as defined in Section 7

IMO, the document already covers those cases. Hence, no further change is needed about this matter.

Do you agree ?


Best,

Mario


-MSK

--
Dott. Mario Loffredo
Senior Technologist
Technological Unit “Digital Innovation”
Institute of Informatics and Telematics (IIT)
National Research Council (CNR)
via G. Moruzzi 1, I-56124 PISA, Italy
Phone: +39.0503153497
Web:http://www.iit.cnr.it/mario.loffredo
_______________________________________________
regext mailing list
regext@ietf.org
https://www.ietf.org/mailman/listinfo/regext

Reply via email to