Re: [regext] I-D Action: draft-ietf-regext-change-poll-07.txt

"Gould, James" <jgould@verisign.com> Wed, 31 January 2018 17:12 UTC

Return-Path: <jgould@verisign.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 E5F7C1319FE for <regext@ietfa.amsl.com>; Wed, 31 Jan 2018 09:12:41 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.309
X-Spam-Level:
X-Spam-Status: No, score=-4.309 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=verisign.com
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 x4ktzrY2xs5F for <regext@ietfa.amsl.com>; Wed, 31 Jan 2018 09:12:37 -0800 (PST)
Received: from mail3.verisign.com (mail3.verisign.com [72.13.63.32]) (using TLSv1.2 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 895E51318A3 for <regext@ietf.org>; Wed, 31 Jan 2018 09:11:26 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=verisign.com; l=99516; q=dns/txt; s=VRSN; t=1517418687; h=from:to:date:message-id:references:in-reply-to: mime-version:subject; bh=0I6fSkJGGbqI4fErD+mg9mfUVfSRFVG2OYstZFpkbyU=; b=J+CMUz2DyBiWXV6jQChw2xUOWJaLcyMvRTNqcA5zocY+sRSELDAaebEG 3UW0ag3Q/DGghizo1Tqo5wU069I/l7uHpPzcBTHXZpf+xKLkXCGO32fts lEsbo/tKDJxA1TqoSvt/+T3tby70CCYaZlpK9ixrbLTFC85/XqVHiql32 8WiHWrQ8EdX+zTXM+YCNf2v9eoBRXMIA4rWWOt/or6VIGlLl/9RD9EkJk autPbdg49mDLCS0rEiaMezV47FE0jRkMeWETuLyDK1AKWPYSSPfPwiUHz TDo0Y6P96XO6z2kq/ToL5roI2ZMthQWUDGgu3TIONqV4lVOAqSvSsRgsI A==;
X-IronPort-AV: E=Sophos;i="5.46,440,1511827200"; d="png'150?scan'150,208,217,150";a="3743367"
IronPort-PHdr: 9a23:i9o1uRSaE0WeaGHJaEFVzcidUtpsv+yvbD5Q0YIujvd0So/mwa67ZBOBt8tkgFKBZ4jH8fUM07OQ7/i5HzRYqb+681k6OKRWUBEEjchE1ycBO+WiTXPBEfjxciYhF95DXlI2t1uyMExSBdqsLwaK+i764jEdAAjwOhRoLerpBIHSk9631+ev8JHPfglEnjWwba9vIBmssQndqtQdjJd/JKo21hbHuGZDdf5MxWNvK1KTnhL86dm18ZV+7SleuO8v+tBZX6nicKs2UbJXDDI9M2Ao/8LrrgXMTRGO5nQHTGoblAdDDhXf4xH7WpfxtTb6tvZ41SKHM8D6Uaw4VDK/5KpwVhTmlDkIOCI48GHPi8x/kqRboA66pxdix4LYeZyZOOZicq/Ye94RWGhPUdtLVyFZAo2ycZYBD/YPM+hboYnypVUBrRqiCgajH+7v0CNEhnrs0KEmyeksEwfL1xEgEdIUt3TUqc34OKkTX+Cy0anIySjMY+tL0jn58ofIdw4uoeqCUbltdsfRy0YvFwTYjlWUtIPoJC2V2foXs2ia9OpgVO2vi2g9pw5tpTivw94hh4/UjYwbzVDE8D92wIczJdCgVk50f8SkEJpLtyGbOIt2RNkuTH1vuCY/0rEGv5+7czQQxJQh3RHfbuKIf5CW4h39TuaRICx4hHNqeLK5hhay91SvxvfgWcmz1VZGtjFFk9fNtnARyxPT6tKLRed9/ku52DaAyRzT6u9eLUAzj6rbJIYtzaA/l5UJtETDBiv2l1vsgKCKcUUk/+6l4PnkbLX+vpKQKpN4hhvjPqkslMGzG/k0PwgAUmSB5+ix27Lu8VXkTLlWlPE6j6vUvIzAKcgGqaO0ABVZ3psg5hu5Ejyoys4XnWMdI1JAYB+Hio/pNEzQL/3gFve/hkiskC9sx/DbIr3tGpXNIWbHkLfmZbty8FRcyAwuwdBb6JNUD6sOIPP3Wk/2qdzYEgM1PxGuz+b5Ftp9zIIeWXmOAq+WNqPeq0OH5uUqI+WUZY8VvijyK+Q96vLzkXM1g0IRcKun0JcNdXy1HvprL1+HbXfjjdoNCWIKsRA/TOzuhl2CSzlTZ3OqUqI+6TE7D5+mDYPeSY22nryOwj27HpxNZmBHBVCMF23keJmDW/cJcC6SONNukiQYVbi9TI8szQuuuxH1y7V5IevU5jYVtZP929hp6e3fjxYy9SZ7D86FyWGCU3l0nn8URz8xxK1/pFZyyk2f0ah5hfxUD8Bc6OlSUgggM57cyPJ6BMrpVwLacNaJSUqmTcmmAT0rUt0xw4xGX0EoPty4khHFlwGjGLYTkKKCTMgx+7jA3n63LM9mwnDByqAJlEYnXsBPc2am0Oo3vRLeCIPZj22YmrqkM6MG02SFoH2OwmeeoGlZXRJ+F6LfUiZMSFHRqIGzyUTfS7PqQZYuNwZag4bWKKRNd9nlpUtLXvb4OdvYJWm2njHjVl6z2rqQYd+yKC0m1yLHBR1BylhL8A==
X-IPAS-Result: A2GuAABF+HFa//SZrQpSBwMZAQEBAQEBAQEBAQEBBwEBAQEBgkpHgReBHQqDVppQEYMAlDUVgT8bIQQDBwECGAEMhEdPAhqDChcBAQEBAQEBAQIBAoEQgjgkAQ5LIQYBBQEBAQEBAQEBASIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBCAIIBQIrBBIBARgBAQEBAwEBAwEUCQIIARslGQICAQYCDQQDAQIGAQEBDgEJAQYDAgICBRAECwELFAkIAgQBEQEODYoqiUadcYInimEBAQEBAQEBAQEBAQEBAQEBAQEBAQEODwWEVoNtgWcpgXeBDoMvAQECAQEXgSIBAQcEBwEJHAYLCQEVEQEBgk4xgjQFiwJrhlaHVol/BgKHEQGBBIEkhj6ID2eFO4tujWQDhgWDUAIECwIZAYE8IQNaO3BwFRkkKgGBfwmCTByCBngBAQsoiSYCDRsEgQaBFwEBAQ
Received: from brn1wnexcas02.vcorp.ad.vrsn.com (brn1wnexcas02 [10.173.152.206]) by brn1lxmailout01.verisign.com (8.13.8/8.13.8) with ESMTP id w0VHBJYn017694 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Wed, 31 Jan 2018 12:11:19 -0500
Received: from BRN1WNEXMBX01.vcorp.ad.vrsn.com ([::1]) by brn1wnexcas02.vcorp.ad.vrsn.com ([::1]) with mapi id 14.03.0301.000; Wed, 31 Jan 2018 12:11:18 -0500
From: "Gould, James" <jgould@verisign.com>
To: Martin Casanova <martin.casanova@switch.ch>, "regext@ietf.org" <regext@ietf.org>
Thread-Topic: [EXTERNAL] Re: [regext] I-D Action: draft-ietf-regext-change-poll-07.txt
Thread-Index: AQHTmTjzmewJcqSoVUmmrJyNES69SqOMykaA///ttgCAAb8LgP//w4sA
Date: Wed, 31 Jan 2018 17:11:17 +0000
Message-ID: <FAFB62AE-C0D1-4D74-888C-00C632D73211@verisign.com>
References: <3266784A-E663-4465-8ABF-A3305B83C253@verisign.com> <e7916b75-1555-14e3-43bc-644059cd68f0@switch.ch> <605AC23F-D7B3-4A37-876E-45EC8E6BEEB8@verisign.com> <84309e91-dbe9-8865-fd06-528266aa93e7@switch.ch>
In-Reply-To: <84309e91-dbe9-8865-fd06-528266aa93e7@switch.ch>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/10.9.0.180116
x-originating-ip: [10.170.148.18]
Content-Type: multipart/related; boundary="_005_FAFB62AEC0D14D74888C00C632D73211verisigncom_"; type="multipart/alternative"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/regext/XG5J6Jr2DJSgC6YxTyoc-zyozk4>
Subject: Re: [regext] I-D Action: draft-ietf-regext-change-poll-07.txt
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 17:12:42 -0000

Martin,

Yes, there is no great solution to the problem of including extensions (object or command-response) in poll messages to clients that don’t support the extension as indicated by their login services.  So, to clarifying for the list, there are 4 options that include:


  1.  Return the Extension Independent of the Login Services
     *   This option is only included to complete the decision tree.  RFC 5730 doesn’t explicitly state that a server must not return an extension that is not included in the login services, but I believe that this is implied by inclusion the server and login services.
     *   I don’t recommend this option due to meeting the intent of the RFC.
  2.  Return an Error (e.g., 2307 “Unimplemented object service”) to Poll Request for Unsupported Poll Message
     *   Technically the server did not receive an object service that is not supported from the client but has a message that it created that is not supported by the client.
     *   Returning an error will stop the processing of the poll queue that would mean that the unsupported poll message would become a poison message in the queue.
     *   If the client is not interested in implementing the poll message, then they should have the capability of gracefully ignoring it by acking it.
     *   I don’t recommend returning an error, since I believe the client should have the option of ignoring poll messages that they decide not to support.
  3.  Return a Successful EPP Poll Response with an Extension Element that Indicates Lack of Client Support
     *   There is no way to include information in an extension that the client doesn’t support the extension without violating the original problem.
     *   I don’t recommend this option due to meeting the intent of the RFC, where there is no difference between this option and option #1.
  4.  Return a Successful EPP Poll Response with an Encoded <msgQ><msg> Element Indicating Lack of Client Support
     *   The main question for this option is the format of the encoded <msgQ><msg> element.  Since this is human readable and only meant to inform the client that the message is not supported by the client, I don’t believe we need to make this overly complex by attempting to encode in XML, JSON or some other structured language in the <msgQ><msg> element.  I believe using the simple ABNF format will meet the need.

I believe the best option is option 4.

—

JG

[cid:image001.png@01D255E2.EB933A30]

James Gould
Distinguished Engineer
jgould@Verisign.com

703-948-3271
12061 Bluemont Way
Reston, VA 20190

Verisign.com<http://verisigninc.com/>
From: Martin Casanova <martin.casanova@switch.ch>
Date: Wednesday, January 31, 2018 at 10:47 AM
To: James Gould <jgould@verisign.com>, "regext@ietf.org" <regext@ietf.org>
Subject: [EXTERNAL] Re: [regext] I-D Action: draft-ietf-regext-change-poll-07.txt

James,

Thanks for your fast answer. I think your suggestion is a good way to solve this issue.

We discussed it in our team and have 2 thoughts about it:

1. The <msgQ><msg> field is described as human-readable message that is not validated and even can have a language attribute. Therefore we agree that this field should be used as "last resort" only due to the lack of other options.
The only other way I could think of was to define an optional:
<msgQ><extension><changePoll:changeData xmlns:changePoll="urn:ietf:params:xml:ns:changePoll-1.0" msg = “not supported in login services”/>
Element. This way it is up to the change poll RFC, how to transmit the message, that the client should enable the extension in the Login command if it wants to receive all the information the change poll extension has to offer.
Drawback here: We are already sending this tiny part of the extension even when not specified in Login.


2. Normally we respond with the following error code if a client sends a request containing an extension element that was not enabled at Login:

<msg><result code="2307">
<msg lang="en">Unimplemented object service</msg>
</result>

This return code could also be returned instead of the
<result code="1301">
<msg>Command completed successfully; ack to dequeue</msg>
</result>

That way more already implemented clients would remark the freshly implemented change poll extension since the result code is more likely to be evaluated than the <msgQ><msg> field.
On the other hand also more clients would potentially fail for this reason and stop working until this case is handled. Since this is not client initiated maybe it is not appropriate to return 2307 in this case ?


Martin Casanova




--

SWITCH

Martin Casanova, Domain Applications

Werdstrasse 2, P.O. Box, 8021 Zurich, Switzerland

phone +41 44 268 15 55, direct +41 44 268 16 25

martin.casanova@switch.ch<mailto:martin.casanova@switch.ch>, www.switch.ch<http://www.switch.ch>



Working for a better digital world

On 30.01.2018 19:07, Gould, James wrote:
Martin,

Yes, that is an excellent point that we need to consider for any poll message extension.  What should the server do with a poll message that the client does not support based on the login services?  We need to consider two poll extension cases:

1.       Object Extension – This is the case for an extension like the Registry Maintenance Notifications for EPP (https://tools.ietf.org/html/draft-sattler-epp-registry-maintenance) that is being discussed on rr_ry_techops list.
2.       Command Response Extension – This is the case for the Change Poll extension, where it extends the info response of EPP objects (domain, host, contact, …).

To be protocol compliant the server must not return an extension (Object or Command Response) that is not supported by the client based on the login services.  I really only see one solution that would apply to both types of extensions, which would be to return a successful EPP Poll Response with an appropriate message indicating the poll message namespaces that are not supported by the client logic services.  The client could add support for the poll messsage or choose to ack it to move to the next message in the queue.  The only element in the EPP response that we can use is the <msgQ> <msg> element.  You could leverage the <result><msg> as well, but I don’t believe that would help here.  I don’t advocate encoding something in the <msg> element, which is the point I made about including JSON in the <msg> element for the Registry Maintenance Notifications for EPP.  In this case, I don’t believe there is much of a choice to stay protocol compliant and to ensure that the poll queue can continue to be processed.  How about encoding the <msg> element as below when the server needs to return a poll message to a client that doesn’t support one or more extensions based on their login services?

msg = extension-namespaces “ not supported in login services”
extension-namespaces = extension-namespace / extension-namespace “,” extension-namespaces
extension-namespace = XML namespace of EPP extension


An example of a Change Poll <msg> element of a supported object (e.g., domain) is “urn:ietf:params:xml:ns:changePoll-1.0 not supported in login services”.  An example of a Change Poll <msg> element of an unsupported object (e.g., .NAME Email Forwarding object) is “http://www.nic.name/epp/emailFwd-1.0,urn:ietf:params:xml:ns:changePoll-1.0 not supported in login services”.  The full EPP response for the first Change Poll <msg> element is included below:





S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>

S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">

S:  <response>

S:    <result code="1301">

S:      <msg>Command completed successfully; ack to dequeue</msg>

S:    </result>

S:    <msgQ count="5" id="12345">

S:      <qDate>2000-06-08T22:00:00.0Z</qDate>

S:      <msg>urn:ietf:params:xml:ns:changePoll-1.0 not supported in login services</msg>

S:    </msgQ>

S:    <resData>

S:      <obj:trnData

S:       xmlns:obj="urn:ietf:params:xml:ns:obj-1.0">

S:        <obj:name>example.com</obj:name>

S:        <obj:trStatus>pending</obj:trStatus>

S:        <obj:reID>ClientX</obj:reID>

S:        <obj:reDate>2000-06-08T22:00:00.0Z</obj:reDate>

S:        <obj:acID>ClientY</obj:acID>

S:        <obj:acDate>2000-06-13T22:00:00.0Z</obj:acDate>

S:        <obj:exDate>2002-09-08T22:00:00.0Z</obj:exDate>

S:      </obj:trnData>

S:    </resData>

S:    <trID>

S:      <clTRID>ABC-12345</clTRID>

S:      <svTRID>54321-XYZ</svTRID>

S:    </trID>

S:  </response>

S:</epp>


Thoughts?

—

JG

[cid:image001.png@01D255E2.EB933A30]

James Gould
Distinguished Engineer
jgould@Verisign.com

703-948-3271
12061 Bluemont Way
Reston, VA 20190

Verisign.com<http://verisigninc.com/>
From: regext <regext-bounces@ietf.org><mailto:regext-bounces@ietf.org> on behalf of Martin Casanova <martin.casanova@switch.ch><mailto:martin.casanova@switch.ch>
Date: Tuesday, January 30, 2018 at 9:14 AM
To: "regext@ietf.org"<mailto:regext@ietf.org> <regext@ietf.org><mailto:regext@ietf.org>
Subject: [EXTERNAL] Re: [regext] I-D Action: draft-ietf-regext-change-poll-07.txt


Hi

Thank you for the new version 07 of the draft-ietf-regext-change-poll.

May I ask a question about it?

"RFC5730 states: The <svcs> element MAY contain an OPTIONAL <svcExtension> element that contains one or more <extURI> elements that identify object extensions to be used during the session."

The extension should be specified in the EPP Login command otherwise it will not be available for the client during that EPP session. I suppose this is also the case for this change-poll extension..

What happens if a client does not specify the change-poll extension in the Login command but starts consuming all its poll messages? Are the change-poll messages delivered just without the

<extension> <changePoll> element or are these poll messages retained until a change-poll enabled EPP-Session polls them?

Thank you.

Martin Casanova







On 29.01.2018 20:40, Gould, James wrote:

Hi,



I published the revised draft-ietf-regext-change-poll based on the feedback received during the WGLC.  Please provide any additional feedback on the list.



Thanks,



—



JG







James Gould

Distinguished Engineer

jgould@Verisign.com<mailto:jgould@Verisign.com>



703-948-3271

12061 Bluemont Way

Reston, VA 20190



Verisign.com <http://verisigninc.com/><http://verisigninc.com/>

On 1/29/18, 2:38 PM, "regext on behalf of internet-drafts@ietf.org<mailto:internet-drafts@ietf.org>" <regext-bounces@ietf.org on behalf of internet-drafts@ietf.org><mailto:regext-bounces@ietf.orgonbehalfofinternet-drafts@ietf.org> wrote:





    A New Internet-Draft is available from the on-line Internet-Drafts directories.

    This draft is a work item of the Registration Protocols Extensions WG of the IETF.



            Title           : Change Poll Extension for the Extensible Provisioning Protocol (EPP)

            Authors         : James Gould

                              Kal Feher

           Filename        : draft-ietf-regext-change-poll-07.txt

           Pages           : 26

           Date            : 2018-01-29



    Abstract:

       This document describes an Extensible Provisioning Protocol (EPP)

       extension for notifying clients of operations on client sponsored

       objects that were not initiated by the client through EPP.  These

       operations may include contractual or policy requirements including

       but not limited to regular batch processes, customer support actions,

       Uniform Domain-Name Dispute-Resolution Policy (UDRP) or Uniform Rapid

       Suspension (URS) actions, court directed actions, and bulk updates

       based on customer requests.  Since the client is not directly

       involved or knowledgable of these operations, the extension is used

       along with an EPP object mapping to provide the resulting state of

       the post-operation object, and optionally a pre-operation object,

       with the operation meta-data of what, when, who, and why.





    The IETF datatracker status page for this draft is:

    https://datatracker.ietf.org/doc/draft-ietf-regext-change-poll/



    There are also htmlized versions available at:

    https://tools.ietf.org/html/draft-ietf-regext-change-poll-07

    https://datatracker.ietf.org/doc/html/draft-ietf-regext-change-poll-07



    A diff from the previous version is available at:

    https://www.ietf.org/rfcdiff?url2=draft-ietf-regext-change-poll-07





    Please note that it may take a couple of minutes from the time of submission

    until the htmlized version and diff are available at tools.ietf.org.



    Internet-Drafts are also available by anonymous FTP at:

    ftp://ftp.ietf.org/internet-drafts/



    _______________________________________________

    regext mailing list

    regext@ietf.org<mailto:regext@ietf.org>

    https://www.ietf.org/mailman/listinfo/regext





_______________________________________________

regext mailing list

regext@ietf.org<mailto:regext@ietf.org>

https://www.ietf.org/mailman/listinfo/regext




--

SWITCH

Martin Casanova, Domain Applications

Werdstrasse 2, P.O. Box, 8021 Zurich, Switzerland

phone +41 44 268 15 55, direct +41 44 268 16 25

martin.casanova@switch.ch<mailto:martin.casanova@switch.ch>, www.switch.ch<http://www.switch.ch>



Working for a better digital world