Re: [regext] Poll messages with unhandled namespaces (was Re: I-D Action: draft-ietf-regext-change-poll-07.txt)

"Gould, James" <jgould@verisign.com> Thu, 14 June 2018 14:04 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 361F1130E13 for <regext@ietfa.amsl.com>; Thu, 14 Jun 2018 07:04:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 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, 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=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 TnnxzD2PsGGK for <regext@ietfa.amsl.com>; Thu, 14 Jun 2018 07:04:34 -0700 (PDT)
Received: from mail5.verisign.com (mail5.verisign.com [69.58.187.31]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A129D12D949 for <regext@ietf.org>; Thu, 14 Jun 2018 07:04:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=verisign.com; l=54970; q=dns/txt; s=VRSN; t=1528985073; h=from:to:date:message-id:references:in-reply-to: mime-version:subject; bh=jvrP551kizv6SIa2MKIoZfBL2tKIHVtE5/WL75u0AH0=; b=F5nCCSLgo705zvGisE4yb5LRZIu8VStRPKBnT5ulmOemC6ZKo8DMiOlA G/2OGdjqDAS7v1mgsVhzFWO6ZaJ1qS52jkNXFSoalU5Zb+cPY/emFLopr ExjB5tKzTJ54xQtGnsIpGyHO8zJhMc8iK8u1G8BvXheXpCMyREtIAU46h dZbvAorzh6wCDy6VMsWlC9l2GAuc8EJq9qCwZmrTzdsLKgo8WYOJn3PVF Aw5eDx9kFcY50nfKJIbceifvMj2lf5220Bf5NFX7sgWtsUT4DrO3trjCd p1YZA7Nk9FBlJvZLD94aoBrGq96p/9C7qDujgQIwdlcxqsrK5T05A2CVp w==;
X-IronPort-AV: E=Sophos;i="5.51,222,1526356800"; d="png'150?scan'150,208,217,150";a="4886267"
IronPort-PHdr: 9a23:EX+ixB1hkvTQYQiOsmDT+DRfVm0co7zxezQtwd8ZsesWIv7xwZ3uMQTl6Ol3ixeRBMOHs68C07KempujcFRI2YyGvnEGfc4EfD4+ouJSoTYdBtWYA1bwNv/gYn9yNs1DUFh44yPzahANS47xaFLIv3K98yMZFAnhOgppPOT1HZPZg9iq2+yo9JDffwVFiCChbb9uMR67sRjfus4KjIV4N60/0AHJonxGe+RXwWNnO1eelAvi68mz4ZBu7T1et+ou+MBcX6r6eb84TaFDAzQ9L281/szrugLdQgaJ+3ART38ZkhtMAwjC8RH6QpL8uTb0u+ZhxCWXO9D9QKsqUjq+8ahkVB7oiD8GNzEn9mHXltdwh79frB64uhBz35LYbISTOfFjfK3SYMkaSHJBUMhPSiJBHo2yYYgBD+UDM+lYrpXyqFQVoBukGQWsAfnixiNSi3L026AxzuQvERvB3AwlB98CvnXarNLoNKcWTO+51LTDwzHZYPNTxzj984bEeQ0mrPGOUrJwdtfRyU0yGA7ekFWft5blPzKO1uQMvGib6fBsWv6oi24isgx8pCWkyMkrionMnI0Vy1bE+D1nwIkrP924SVV7Yd+rEJtWrS2VK4x2QsY6T2F2pik60LwGuYW6fCgFzpQnxhjfZOCdf4eU5RLjUf6dISx2hXJkZLKwmxay/VK8xe38TsW00UhFrjZLktXWsXANzRPT586aQfV+5keswSuD2xzJ5u1ZI005m7DXJ4Mhz7M+jJYevkDOEjfrlEnqlqOaa0cp9vSy5+j6bbjrpYWQO5J3hw3mPKQhhM+yDfg9PwULRWeW+uCx26bm8ED3XrlFk/w7n6zCv53eJMkWpKu0DgFb34sh9hmyCSqt3s4CknkdNl1FfQqKj43uO17TPv/1Fey/g1GwkDdzwPDGI6HhDo3NLnfdlLfheq5w5lNAxgQr0NxQ54paBL4AL/7vREP9rsLYAQM+Mwyu2+brEs9y2Z4EVWKRGK+ZK6XSvUWU6eIoJumAfI4VuDDjJPg5//PikGM1lUUAcaSr05Ybcm20E/RoLkmDbnfhhs8NEWIQsQo/SOzqhkeCUTlWZ3uqXaI86TY7CJ+iDYjeXY2tnqKO3D26Hp1NZ2BGBVaMHW30eIWDXvcAcDiSLdN5kjwYSbihTJcs1RS0uw/g17pnL+zU9jcEup35z9h6/evTlRYs9TNuFMmdyG+MT2BonmwURz86xrxwoUxlwFeZzad4m+BYFcBU5/5RSAc1K5HcwPJ1CtDuQQ/Bf8mGSEqoQtm8BjExVN0xkJcyZBNYEs++jxaL9COxCrkSibXDUJk96L7d2T76Lt10zXHY3YE6kFg6ScsJPm3wwuY17QXcCp7Vu0SUi6jscr4TlmaZ7mqMwHqSlEBVTAA2Vr/KCyMxfEzT+J7W4V7GQ/vmK70iPxALgZqAJaxXbtHBk1hcReziN9KYaGW0zTTjTS2Uz6+BOdK5M14W2z/QXQ1dy1ge
X-IPAS-Result: A2FCAADpdCJb/zGZrQpaAxkBAQEBAQEBAQEBAQEHAQEBAQGCU0eBEIEnCoNviASOLyGCd5F2FIEpFxYHBAMIAQIYAQoLg3hGAheCUDQYAQIBAQEBAQECAQECgQUMgjUkAQ4vHCEIAQUBAQEBAQEnAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBCAIIBQI1EgEBGAEBAQEDAQEDAR0CCAEbJRkCAgEIEQMBAgYBAQEOAQkBAgQDAgICBRABAwsBCxQJCAIEAREBBgiDFAKCDqoyghyIRoFZDwWKHD6BDyQMglyDEwEBgSQmIgsJARURAQKCNzGCJAKHV4RihQOEMoMgAwYChSUBUXCBbYJhhQlBiziHboIdAocNAgQCBAUCFIFBggtwFTsqAYIYCYIYFxGDDCiFFIU+bw0jjUMNHoEBgRoBAQ
Received: from BRN1WNEX01.vcorp.ad.vrsn.com (10.173.153.48) by BRN1WNEX02.vcorp.ad.vrsn.com (10.173.153.49) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1466.3; Thu, 14 Jun 2018 10:04:31 -0400
Received: from BRN1WNEX01.vcorp.ad.vrsn.com ([fe80::a89b:32d6:b967:337d]) by BRN1WNEX01.vcorp.ad.vrsn.com ([fe80::a89b:32d6:b967:337d%5]) with mapi id 15.01.1466.003; Thu, 14 Jun 2018 10:04:31 -0400
From: "Gould, James" <jgould@verisign.com>
To: Martin Casanova <martin.casanova@switch.ch>, "regext@ietf.org" <regext@ietf.org>
Thread-Topic: [EXTERNAL] Re: [regext] Poll messages with unhandled namespaces (was Re: I-D Action: draft-ietf-regext-change-poll-07.txt)
Thread-Index: AQHT49WnnwTzyLEBw0SOW88aL7whS6QmKzqAgBPD7QCAAGWAgIABYqaAgAAQhYCAAuGMAIAARSUAgCEPOQCAAAvUAA==
Date: Thu, 14 Jun 2018 14:04:31 +0000
Message-ID: <B34D3782-8922-404D-AE53-52F6C97B5D19@verisign.com>
References: <3266784A-E663-4465-8ABF-A3305B83C253@verisign.com> <BEC1040F-25C7-4F52-BB94-1F55BFA4C1C7@verisign.com> <1524203922.4022062.1344535160.39F0C10F@webmail.messagingengine.com> <83479150-4E98-452F-B27B-BD286AA18C1B@verisign.com> <1524425212.2370983.1346768616.2A2DE208@webmail.messagingengine.com> <48889EC8-FF2C-4CF3-B5E1-9DC5482E06E9@verisign.com> <CF701CA2-F63A-4573-AB87-68E3AB30C635@elistx.com> <5743B914-A1C7-426C-B0AA-515A3AEB5C72@verisign.com> <CY4PR02MB254962B12D6D196EACE492AEB1860@CY4PR02MB2549.namprd02.prod.outlook.com> <8A5C829F-BB67-4BA2-8E3E-5A4002D7D2CA@dnsbelgium.be> <1526875928.815044.1378899224.71EFB177@webmail.messagingengine.com> <F9BD7DC9-8472-438E-BDDD-8658A0D0A841@verisign.com> <1526973885.2320203.1380323248.3A725D0E@webmail.messagingengine.com> <96AC029A-47E4-4729-8297-571F9A34FE6C@verisign.com> <1527135820.1779071.1382936736.3093914E@webmail.messagingengine.com> <2c568201-aa94-3c74-a708-33f3b97bc4f3@switch.ch> <da81c99b-a578-2c63-e383-a94edb66f991@switch.ch>
In-Reply-To: <da81c99b-a578-2c63-e383-a94edb66f991@switch.ch>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/10.e.0.180610
x-originating-ip: [10.170.148.18]
Content-Type: multipart/related; boundary="_004_B34D37828922404DAE5352F6C97B5D19verisigncom_"; type="multipart/alternative"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/regext/1j7uLxuUTSY-bWFpU9kv1-lMjdA>
Subject: Re: [regext] Poll messages with unhandled namespaces (was Re: I-D Action: draft-ietf-regext-change-poll-07.txt)
X-BeenThere: regext@ietf.org
X-Mailman-Version: 2.1.26
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: Thu, 14 Jun 2018 14:04:38 -0000

Martin,

This approach looks good to me.  It has the advantage of providing the unhandled information in an element that is meant for machine processing instead of using the <msgQ><msg> element that’s meant is meant to be human readable.  The other advantage is that the contents of the <value> element is not processed by the XML parser (e.g., processContents=”skip”), meaning it would not cause an XML parser error.

This approach could include the entire unhandled extension block without causing client-side parsing or unmarshalling issues.  Below is an example of a change poll message where the client does not support either the domain or changePoll namespaces.  This is unlikely, but it demonstrates how it would work for an object and a command / response extension.  As Patrick has pointed out, a client could process the contents of the <extValue><value> data offline.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <result code="1301">
      <msg>Command completed successfully; ack to dequeue</msg>
      <extValue>
        <value>
         <domain:infData
          xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
           <domain:name>domain.example</domain:name>
           <domain:roid>EXAMPLE1-REP</domain:roid>
           <domain:status s="ok"/>
           <domain:registrant>jd1234</domain:registrant>
           <domain:contact type="admin">sh8013</domain:contact>
           <domain:contact type="tech">sh8013</domain:contact>
           <domain:clID>ClientX</domain:clID>
           <domain:crID>ClientY</domain:crID>
           <domain:crDate>2012-04-03T22:00:00.0Z</domain:crDate>
           <domain:exDate>2014-04-03T22:00:00.0Z</domain:exDate>
         </domain:infData>
        </value>
        <reason>Message incomplete due to missing "urn:ietf:params:xml:ns:domain-1.0" objURI in login services</reason>
      </extValue>
      <extValue>
        <value>
         <changePoll:changeData
           xmlns:changePoll="urn:ietf:params:xml:ns:changePoll-1.0"
           state="before">
           <changePoll:operation>update</changePoll:operation>
           <changePoll:date>2013-10-22T14:25:57.0Z</changePoll:date>
           <changePoll:svTRID>12345-XYZ</changePoll:svTRID>
           <changePoll:who>URS Admin</changePoll:who>
           <changePoll:caseId type="urs">urs123</changePoll:caseId>
           <changePoll:reason>URS Lock</changePoll:reason>
         </changePoll:changeData>
        </value>
        <reason>Message incomplete due to missing "urn:ietf:params:xml:ns:changePoll-1.0" extURI in login services</reason>
      </extValue>
    </result>
    <msgQ count="1" id="201">
      <qDate>2018-06-14T13:46:33.453Z</qDate>
      <msg>Registry initiated update of domain.</msg>
    </msgQ>
    <trID>
      <clTRID>ABC-12345</clTRID>
      <svTRID>54321-XYZ</svTRID>
    </trID>
  </response>
</epp>



—

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> on behalf of Martin Casanova <martin.casanova@switch.ch>
Date: Thursday, June 14, 2018 at 5:23 AM
To: "regext@ietf.org" <regext@ietf.org>
Subject: [EXTERNAL] Re: [regext] Poll messages with unhandled namespaces (was Re: I-D Action: draft-ietf-regext-change-poll-07.txt)


Hello

While implementing, another idea came to mind, which I want to put to discussion here:

<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <result code="1301">
      <msg lang="en">Command completed successfully; ack to dequeue</msg>

      <extValue>
        <value>
          <extURI>urn:ietf:params:xml:ns:changePoll-1.0</extURI>
        </value>
        <reason lang="en">Msg incomplete due to missing extURI at login cmd! To fix include at epp/command/login/svcs/svcExtension/extURI</reason>
      </extValue>
      <extValue>
        <value>
          <extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
        </value>
        <reason lang="en">Msg incomplete due to missing extURI at login cmd! To fix include at : epp/command/login/svcs/svcExtension/extURI</reason>
      </extValue>



It is validating against the schemas. The value is referring to a MISSING client provided element in this case. The reason is again human readable and referring to a server error which is

not quite the case here but still is indicating a condition that is not ideal..

from RFC-5730

      o  Zero or more OPTIONAL <extValue> elements that can be used to

         provide additional error diagnostic information, including:



         *  A <value> element that identifies a client-provided element

            (including XML tag and value) that caused a server error

            condition.



         *  A <reason> element containing a human-readable message that

            describes the reason for the error.  The language of the

            response is identified via an OPTIONAL "lang" attribute.  If

            not specified, the default attribute value MUST be "en"

            (English).

Regards.
Martin

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:roland.eugster@switch.ch>, www.switch.ch<http://www.switch.ch>



Working for a better digital world


On 24.05.2018 10:31, Martin Casanova wrote:
Hello

Sorry I have not been checking the mails of this mailing list for a while...

In my opinion as registries we have a special role and should stick to the RFC’s as close as possible for a strong EPP standard everybody can rely on. Therefore I find it valuable to discuss the RFC’s and get everybody's input.

I think that there is an issue with potentially breaking some clients, although for some clients it may not be a problem as was pointed out.

Also I don't see a big problem for clients to not receive full information in a message of a freshly implemented Change Poll Extension response since they didn't get it at all before the extension was implemented.

The suggestion of James Gould to give a hint about the missing extension part in the <msg> field of the poll response may be a way to go. This filed is intended for humans and thats what we want to do: Inform a human to prepare his client and configure the Login command accordingly if he wants to receive the information of the extension.

However the ChangePoll Extension is not the only one we need to inform about. How should we inform about a changes in DNSSec Data? We also would have to indicate that the DNSSec extension should be configured in order to include something like

<secDNS:infData xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1"><secDNS:dsData><secDNS:keyTag>2371</secDNS:keyTag>
<secDNS:alg>13</secDNS:alg>
<secDNS:digestType>2</secDNS:digestType>
<secDNS:digest>F991B7FDE40A2C4CD7BEFBBE9A1073D1FC3E34EC6DC31E2931320D1CD8392390</secDNS:digest>
</secDNS:dsData>
</secDNS:infData>

in the extension part..

We are planing to do something like this as we are going to implement the RFC-8078 / RFC-7344 CDS feature. Of course there will also be an out of band communication with our registrars about this.

Martin

--

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:roland.eugster@switch.ch>, www.switch.ch<http://www.switch.ch>



Working for a better digital world








_______________________________________________

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