[regext] Comments on "draft-sattler-epp-registry-maintenance-02"

Patrick Mevzek <pm@dotandco.com> Wed, 31 January 2018 04:33 UTC

Return-Path: <pm@dotandco.com>
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 26EB312FB4B for <regext@ietfa.amsl.com>; Tue, 30 Jan 2018 20:33:19 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=dotandco.com header.b=iPwd2Q0T; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=Qq9W9kNL
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 k6VWJzJnQN65 for <regext@ietfa.amsl.com>; Tue, 30 Jan 2018 20:33:16 -0800 (PST)
Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com [66.111.4.27]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BE652131544 for <regext@ietf.org>; Tue, 30 Jan 2018 20:33:11 -0800 (PST)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id B48C0209B1; Tue, 30 Jan 2018 23:33:10 -0500 (EST)
Received: from web3 ([10.202.2.213]) by compute3.internal (MEProxy); Tue, 30 Jan 2018 23:33:10 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dotandco.com; h= content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; bh=VHUEDGL0/EU4XXr8mj2ssMNaXPezU3fvt3WnWEB2Vcg=; b=iPwd2Q0T JDwfyPhbSLuwkvnMQUxJO2401MdxCAxVylDc+cjl6DskuONJn3joI/qD4ziFaRWG TSsJe+pDPl64uc+DUGQarUXiwyCjouxNDZUBRl2XdTocBwnX4ElZeT6KyYUQ5BAS P+dhenQhH+JfGaa6ezYsmba/iohN1ISDfLmfEiBsZz7NJkGvHnIUQgivfq4zaqbO z9NAqOE/TjjwPrEywGNj29HKujy6iDM1MmZTtKSjqOVglEWSAQpP7MhObPg9NJYz P6DmK8UorMMzF0m2sMQebPyPycskVL1HrC0q91iEcKIMlPgOoJjtC+4gv1qNQSav 5VWRPnRUS+GtFg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:message-id:mime-version:subject:to:x-me-sender :x-me-sender:x-sasl-enc; s=fm1; bh=VHUEDGL0/EU4XXr8mj2ssMNaXPezU 3fvt3WnWEB2Vcg=; b=Qq9W9kNL8jD0aCAO3Iq77Qp2vQaeSUQ1BDsc8m2ByI+kI CgtcWmhTB0uS8qgkDKYEs6iMcUWFVg0TU0TKmezjcK7gmSDCbBQGHjDxrsJLC05o yFK10Yd6rRUbKpqThCFF+k1MXq8ctMKUPKNgmD9v8AuO8mwH7g9Mtq688zo5L0vi ZbMNFlbB/jOZOGYrtEI7Mc4z/QAqZ3moWMcVWNb9Mxs/5OpBZXTqDsXgXBhNkXPg NhA+KV/uH0p8Vrj/psFxLaWiLcy88v0c8/JTjzHqrPKBYoYx+EtGNlXJdZZ3KkZE vb4aFbIs+3sOKTyCK+rroK6iwzkH2gLRtmjS94ooA==
X-ME-Sender: <xms:BkdxWl2gayzdfKSFrDNcHyzmlrgKP9zjGmM0MNjgzD1Y-hZikNLxIBN0mCw>
Received: by mailuser.nyi.internal (Postfix, from userid 99) id 783C39E4A4; Tue, 30 Jan 2018 23:33:10 -0500 (EST)
Message-Id: <1517373190.1417996.1254117544.7CE7BBD9@webmail.messagingengine.com>
From: Patrick Mevzek <pm@dotandco.com>
To: regext@ietf.org, tobias.sattler@me.com
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="utf-8"
X-Mailer: MessagingEngine.com Webmail Interface - ajax-20f48d70
Date: Wed, 31 Jan 2018 05:33:10 +0100
Archived-At: <https://mailarchive.ietf.org/arch/msg/regext/sALzxIA07QKnF9-efKbzQEGyuGw>
Subject: [regext] Comments on "draft-sattler-epp-registry-maintenance-02"
X-BeenThere: regext@ietf.org
X-Mailman-Version: 2.1.22
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: Wed, 31 Jan 2018 04:33:19 -0000

Hello Tobias,

I am currently adding support for this draft in my open source EPP client library and doing so generates the following comments, that I hope would prove useful:

* Abstract
I am not sure you really need to specify "Domain Name" in "Domain Name Registry". As written in RFC5730, the protocol is generic and can be used for other things than domain names, and could then profit from your extension in the same way as domain name registries

Same remark in the introduction and further below in the document.

* 1.1 
You should probably there have an explanation on the XML namespace you are using, in the same way that is done in the fee document for example (the fact that the namespace change if the draft version change), and also about the prefix you use (with the custom warning that it should not be hardcoded on clients)

* 2.1
Why referencing RFC3492 and not RFC5891 that updates it?

* 2.3
Generic remark: have you looked at other models that exist for this type of data?
As it is clearly not anything specific to our area and I am pretty sure they should already
exist some definitions related to that or close to it. I lack specific references right now but I suspect similar works exist at the IETF or the W3C or the ISO.
It may be worthwhile to have a look, even if it is to redefine things completely at the end of the day.
There are also various things around SLAs at ICANN that are related to this.

* 2.3
maint:id
Why is maint:id mandatory to be an UUID? There are various other identification tokens in EPP, such as clTRID and svTRID and they are left to be formatted the way the registry likes it. Why imposing UUID here?
Even more since you define in the XML schema the id as just a token type.

* 2.3
maint:name
I would advise using "recognized" terminology, such as RDDS instead of whois.
In the schema it is left open as a token, shouldn't there be a list of values?

* 2.3
maint:host
I am not a fan of having this element be a name or an IP.
This makes validation complicated, and also does not cater precisely to all needs I believe.

* 2.3
maint:impact
This seems under-defined to me.

* 2.3
maint:tlds
This is overly specific to domain name registries (see my initial remark) and I think there is no need to be so specific.
Instead, why not use the already defined namespaces (like EPP domain-1.0) to define the type of objects impacted by the maintenance, and then a value being the object themselves (like a TLD for object type = domain-1.0)

* 2.3
maint:connection
It seems vague or underspecified.
You say "if a client needs to do something that is connection related, such as a reconnect."
For me "such as" denotes an example, one case among others. But the element is a boolean so that does not live very much spaces for multiple cases.
For example, there could be a maintenance where the registrar has to reconnect BUT also is forced to change its password. Currently there would be no way to code for that.

* 2.3
maint:implementation
Same problem (even larger) than for maint:connection.

* 2.3
maint:status
Please further detail active vs inactive.

* 3.1.3
I am not sure to understand why you needed to create a new action. Why could'nt the notification messages just be available through the poll mechanism, with the other messages?
Can you describe the rationale?
If the argument is that registrars may not poll their messages, hence the need for a specific
case for these messages, then in the same way it could be argued that registrars will not take time to implement this specific extension, whereas just having another poll notification result does not mean implementing anythin on the protocol level, just the parsing of a new message type.

I believe that maint:list is underspecified. What are "all maintenance notifications"? Only future ones or really all of them, even from the past? Does that include ongoing ones?
Only active ones?
For registries having fixed maintenance slots (like sunday 6AM, each sunday), how should they handle that? They would obviously need to limit the amount of future maintenances to return.

* 4.1 Schema

- I see both start and end are optional. What is the meaning of a maintenance without a start? Without an end? Without a start and without an end?

- The status list here is active and deleted, where the text speaks only about active and inactive, so there is a discrepancy.

- You changed maint:remark to maint:detail in the text, but not in the schema
Also since you say there are URLs, why not choose something more specific than token for its type?

* Other generic comments/ideas

- Some maintenances may be a follow-up, a fix, or a reply to another past maintenance.
It may be useful hence to add a parameter (optional) in a maintenance data that would
reference a previous maintenance id.

- Also registries may provide specific point of contact during the maintenance,
specially for important cases. It should be useful to be able to put this somewhere in the maintenance details maybe?

- How would your extension code for the fact that some maintenances for example would make EPP read-only, the registry would accept all queries but only act on the ones not modifying
objects? Maybe a new impact value like 'read-only'?
How to code a maintenance that "only" degrades performances? 

- I think you should also have a look at usual past cases of maintenances. For example: global change of passwords because of a breach, registry ramp-up such as a cut just before entering GA for example, EBERO switches maybe? etc.

- I would like a discussion on OT&E systems too: do they have notifications? If so, where?
(because registrars may not poll on OT&E systems so it may make sense to publish OT&E maintenances even on the production EPP server).


-- 
  Patrick Mevzek
  pm@dotandco.com