Re: [Gen-art] Gen-art LC (and telechat) review for draft-ietf-regext-epp-rdap-status-mapping-01

"Gould, James" <> Wed, 12 October 2016 14:27 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 6CC0A129766 for <>; Wed, 12 Oct 2016 07:27:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7] autolearn=unavailable autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 2kYgbf_5uqZp for <>; Wed, 12 Oct 2016 07:27:16 -0700 (PDT)
Received: from ( [IPv6:2607:f8b0:400d:c0d::263]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 97B9C1295D8 for <>; Wed, 12 Oct 2016 07:27:13 -0700 (PDT)
Received: by with SMTP id m5so4890436qtb.0 for <>; Wed, 12 Oct 2016 07:27:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20150623; h=from:to:cc:subject:thread-topic:thread-index:date:message-id :references:in-reply-to:accept-language:content-language :mime-version; bh=MYlluiyNdsnPEpaBbgFg4H2q0qBETdEiISIeXt6HKOU=; b=aMquYIOQQvqSeML/6EnGvEs8JhQF9f9DTdN/rO3YmPJlpi1QrLgt/sJ0+upqGEZ9TW Pllz3i0v7/Qv6x1LoTvbusVhWrZ7PE4iQnAYF30nCbckJI7uyojrENU+FbsaDUgnV479 +wOIvkzCSz7J+T0Bq+udZOvQXiK0hq41ZM9pVMcKX5q79cSqsxSieB47Fg+4a8XHP1J3 7JsRDOxXB0YbMmN6MlOcns66Hzh0ieLr7QM4qY/LuS1VTYCeK+sjg1n9wHLxaUEZ0ozV A++q5Hk1+X0oazTD0K1Qveusj28EESUmGb/XhIoXozowOK5ZpSCPjYuB2fslfJu+E6XX 1/TA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20130820; h=x-gm-message-state:from:to:cc:subject:thread-topic:thread-index :date:message-id:references:in-reply-to:accept-language :content-language:mime-version; bh=MYlluiyNdsnPEpaBbgFg4H2q0qBETdEiISIeXt6HKOU=; b=k5EROxpRvVlv4o/ZswUpcWmaMSKkObAzsgLzkVK3xHSfy2l7mwGeLkeDw0mk0W0/Vt iwHloiLAI5oAoz4SWAUiYdz5Q0wCIUQEC73PgJJ/YgED45YZsXVjxgusZGg21+Z7mQJa AKkww33zPzkGWwc+frqD9Pxow2Z9c0iDGTl/Dn7WE2/kw7UwOBR2SZWz8nGdMo3Zn9P/ v1UrnqJ344yLsiz1mqqpLEX3lsiP256QLChJ4pPqhpUXW4XhuMNkaY/B/IH/4eBo5pNC 4ma2bGiK8/yGI5DULXASaSd5FSG4SlcYMqoC2IYvKj1ia+MnA0EYphWc2TTM3DHIhmJU EQCA==
X-Gm-Message-State: AA6/9RnMtcPktQH3XBqvdzno6PzhYRhcqsIMS4Gm9seyOvB3sc71ojnqFFjjQQGWwd3QxB1FCln7ZS6LqJM4z/7GvSHhrDE0
X-Received: by with SMTP id u49mr1437623qte.47.1476282430378; Wed, 12 Oct 2016 07:27:10 -0700 (PDT)
Received: from ( []) by with ESMTPS id k38sm1111043qkh.2.2016. (version=TLS1 cipher=AES128-SHA bits=128/128); Wed, 12 Oct 2016 07:27:10 -0700 (PDT)
Received: from (brn1wnexcas01 []) by (8.13.8/8.13.8) with ESMTP id u9CER91F025024 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Wed, 12 Oct 2016 10:27:09 -0400
Received: from ([::1]) by ([::1]) with mapi id 14.03.0301.000; Wed, 12 Oct 2016 10:27:06 -0400
From: "Gould, James" <>
To: Robert Sparks <>
Thread-Topic: Gen-art LC (and telechat) review for draft-ietf-regext-epp-rdap-status-mapping-01
Thread-Index: AQHSH0s0QR2PphM9rkml+sbHfJkdnqCiGmkAgAGbUICAAXgkAA==
Date: Wed, 12 Oct 2016 14:27:05 +0000
Message-ID: <>
References: <> <> <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
x-originating-ip: []
Content-Type: multipart/signed; boundary="Apple-Mail=_016785F7-70FE-427A-81E5-35832C21DEE5"; protocol="application/pkcs7-signature"; micalg="sha1"
MIME-Version: 1.0
Archived-At: <>
Cc: General Area Review Team <>, "" <>, regext <>, "" <>
Subject: Re: [Gen-art] Gen-art LC (and telechat) review for draft-ietf-regext-epp-rdap-status-mapping-01
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "GEN-ART: General Area Review Team" <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 12 Oct 2016 14:27:20 -0000


Thanks again for reviewing the draft and providing feedback.  I reply to your replies below.  



James Gould
Distinguished Engineer <applewebdata://4A1F47AC-1925-4268-B05E-E5A4B8964D1B/>

12061 Bluemont Way
Reston, VA 20190 <>
> On Oct 11, 2016, at 12:00 PM, Robert Sparks <> wrote:
> Responses inline -
> On 10/10/16 10:28 AM, Gould, James wrote:
>> Robert,
>> Thank you for your review and feedback.  I provide responses to your feedback below.
>> —
>> JG
>> <Mail Attachment.png>
>> James Gould
>> Distinguished Engineer
>> <x-msg://92/>
>> 703-948-3271
>> 12061 Bluemont Way
>> Reston, VA 20190
>> <>
>>> On Oct 5, 2016, at 4:58 PM, Robert Sparks < <>> wrote:
>>> I am the assigned Gen-ART reviewer for this draft. The General Area
>>> Review Team (Gen-ART) reviews all IETF documents being processed
>>> by the IESG for the IETF Chair.  Please treat these comments just
>>> like any other last call comments.
>>> For more information, please see the FAQ at
>>> < <>>.
>>> Document: draft-ietf-regext-epp-rdap-status-mapping-01
>>> Reviewer: Robert Sparks
>>> Review Date: 5 Oct 2016
>>> IETF LC End Date: 10 Oct 2016
>>> IESG Telechat date: 13 Oct 2016
>>> Summary: This draft is on the right track but has open issues, described in the review.
>>> Major Issue:
>>> Many of the descriptions describe only side-effects of the status instead of the status itself.
>>> All of the descriptions for the new rdap status codes start with "For DNR that indicates". This implies that there is a "For not DNR" case that's not discussed. I don't think the phrase is necessary and each description should look more like the other descriptions already registered at <>.
>>> For instance, at 'auto renew period' the document currently says:
>>> "For DNR that indicates if the object is deleted by the registrar during this period, the registry provides a credit to the registrar for the cost of the auto renewal"
>>> That discusses something (and not the only thing) that can happen while the object is in that state. It does not describe the state.
>>> I suggest it should instead say (based on the text in 3915 and the current registry entry style):
>>> "The object instance is in a grace period provided between when its registration period expires and when its registration is automatically renewed by the registry."
>>> I don't think it's important to include the commentary about providing a credit if the entity is deleted by the registrar during this period, but since that commentary exists in 3915, you can include it if you want. The _important_ part to convey is the actual status.
>> The “For DNR that indicates” can be removed from the descriptions.  For example, the "addPeriod = add period; For DRN that indicates if the object is …”  mapping could be "addPeriod = add period; If the object is …”.  The purpose of this draft is to map the statuses defined in EPP and RDAP, so the status descriptions included in the draft where taken from the EPP RFC’s.  There is no intent to redefine the statuses included in the EPP RFC’s in anyway.
> But you are not including the entire EPP definition for most of these - you are only copying in _part_ of it, and it's not the important part.
> Looking at -02 of the draft, you currently have this:
>    addPeriod = add period;  If the object is deleted by the client
>        during this period, the server provides a credit to the client
>        for the cost of the registration.
> Where did you take the definition out of the EPP suite though?
> On a fast skim, I assumed you took it from this statement in RFC3915:
>    addPeriod: This grace period is provided after the initial
>       registration of a domain name.  If the domain name is deleted by
>       the registrar during this period, the registry provides a credit
>       to the registrar for the cost of the registration.
> You left out "The grace period is provided after the initial registration of a domain name" which is what the the status _is_. That's what the status code is conveying. The extra words about credit after deletion are commentary about things that can happen while the object is in that state.
> (And you're already changing words by using "the client" instead of "the registrar".)
> Maybe you took the state definition from some other place?
> Many of the other definitions in this document have that same problem.

Yes, this is the text block from RFC 3915 that was used as the basis for the description.  I disagree that the extra words about credit after deletion are commentary, since that is really the point of the status.  The status does not do anything other than to inform the client / registrar that a credit will be given upon deletion.  I can add the “This grace period is provided after the initial registration of a object” and look to add similar text to the other statuses.  Does that meet your concern?  

The reason for the change in the terms (object instead of domain name, client instead of registrar, and server instead of registry) is based on your prior feedback of not tying the statuses to the Domain Name Registries (DNR).  Does providing more generic descriptions make sense to you?  

>>> All of the descriptions will need similar attention. Some of them (such as clientUpdateProhibited) currently have 2119 words in the description. That doesn't make sense - this is a status, not an protocol instruction, and trying to put normative language in a registry will lead to confusion about where the behavior you are trying to describe is actually defined. (To be fair, 5731 has this same problem). Again, I suggest following the style that's already in the registry and say something like "The client has requested that any requests to update this object instance be rejected."
>> The clientUpdateProhibited status is defined as:
>> clientUpdateProhibited = client update prohibited;  For DNR that
>>        indicates the client requested that requests to update the object
>>        (other than to remove this status) MUST be rejected.
>> Where do you see 2119 words in the clientUpdateProhibited description?  The status descriptions were taken from the EPP RFC’s with no intent on changing their meaning.  
> You copied it - above - it's the MUST. 
> This is 5731's issue - that MUST should have been in text about what servers do with requests received while the object is in that state, instead of being part of the state definition, and the state description in a registry.
> I understand not wanting to risk introducting confusion by restating a definition since you are simply wanting to take the EPP definitions completely, so it's probably the better trade-off to propagate that problem rather than fix it in this document. 

Got it, thanks.

>>> Minor Issues:
>>> You're setting up a minor maintenance headache for any future work that might update this document by having the descriptions listed in two places. I don't think it's necessary to list the descriptions in section 2 (currently the bulk of page 4 and the beginning of page 5). Instead, stop after the paragraph that ends at the top of page 4, and note that the descriptions of each new status code are provided in section 3.
>> The desire was for section 2 to stand on its own to define the statuses and the mapping, and for section 3 to be used to register the statuses in registry.  I believe it would be cleaner to duplicate the descriptions in this instance.  
> As I note, this is a minor issue, but I disagree. Cleaner for _who_? It's certainly not cleaner for the anyone who has to revise this document (and it's not cleaner for you as the editor of this document or the RFC editor since you have to make any change in two places, risking having the document become internally inconsistent). I don't see how it's cleaner for the implementer of the specification either.

We can agree to disagree on this one.  It is cleaner for the user of the document.  As the editor of the document, it’s not an issue.  Section 2 provides the description of the mapping and section 3 is for IANA consideration to get the missing statuses registered into RDAP JSON Values Registry.  

>>> Nits:
>>> Near the end of page 3, the document says "In the DNR, the client and server prohibited statuses are separate an RDAP MUST support the same separation." There are several nits to address with this. That MUST is not a good use of 2119. DNR hasn't been expanded (and "the DNR" is not particularly clear).
>>> I suggest you replace that sentence, and the one immediately before it with:
>>> "EPP provides status codes that allow distinguishing the case that an action is prohibited because of server policy from the case that an action is prohibited because of a client request. The ability to make this distinction needs to be preserved in RDAP.”
>> This change will be made.