Re: [provreg] RFC 5733: street changes with contact:update

"Hollenbeck, Scott" <shollenbeck@verisign.com> Thu, 14 November 2013 18:49 UTC

Return-Path: <shollenbeck@verisign.com>
X-Original-To: provreg@ietfa.amsl.com
Delivered-To: provreg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BA21521E811B for <provreg@ietfa.amsl.com>; Thu, 14 Nov 2013 10:49:17 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.563
X-Spam-Level:
X-Spam-Status: No, score=-6.563 tagged_above=-999 required=5 tests=[AWL=0.035, BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WdrmjkDlIFCD for <provreg@ietfa.amsl.com>; Thu, 14 Nov 2013 10:49:13 -0800 (PST)
Received: from exprod6og113.obsmtp.com (exprod6og113.obsmtp.com [64.18.1.31]) by ietfa.amsl.com (Postfix) with ESMTP id 21D5B21E8115 for <provreg@ietf.org>; Thu, 14 Nov 2013 10:48:50 -0800 (PST)
Received: from peregrine.verisign.com ([216.168.239.74]) (using TLSv1) by exprod6ob113.postini.com ([64.18.5.12]) with SMTP ID DSNKUoUbEoJ8b80M8hYQdz4N4nMzKhnrb/hm@postini.com; Thu, 14 Nov 2013 10:49:11 PST
Received: from BRN1WNEXCHM01.vcorp.ad.vrsn.com (brn1wnexchm01.vcorp.ad.vrsn.com [10.173.152.255]) by peregrine.verisign.com (8.13.6/8.13.4) with ESMTP id rAEImnSk013675 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Thu, 14 Nov 2013 13:48:49 -0500
Received: from BRN1WNEXMBX01.vcorp.ad.vrsn.com ([::1]) by BRN1WNEXCHM01.vcorp.ad.vrsn.com ([::1]) with mapi id 14.02.0342.003; Thu, 14 Nov 2013 13:48:49 -0500
From: "Hollenbeck, Scott" <shollenbeck@verisign.com>
To: Seth Goldman <sethamin@google.com>
Thread-Topic: [provreg] RFC 5733: street changes with contact:update
Thread-Index: AQHO4U+hsqdvOPg/FUSJFbOtlkz9Bpok844/gABZzgD//8D6AA==
Date: Thu, 14 Nov 2013 18:48:48 +0000
Message-ID: <831693C2CDA2E849A7D7A712B24E257F492D517E@BRN1WNEXMBX01.vcorp.ad.vrsn.com>
References: <5284EE10.5020809@knipp.de> <FE61FDF5-1A84-49FE-AF85-463317EF0BDC@verisign.com> <CAAHh_-L2Zopu=LygHbUzgHhWs9N3i8tfWLif2yJraxbYCF-JGg@mail.gmail.com>
In-Reply-To: <CAAHh_-L2Zopu=LygHbUzgHhWs9N3i8tfWLif2yJraxbYCF-JGg@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.173.152.4]
Content-Type: multipart/alternative; boundary="_000_831693C2CDA2E849A7D7A712B24E257F492D517EBRN1WNEXMBX01vc_"
MIME-Version: 1.0
Cc: IETF Provreg Mailing List <provreg@ietf.org>
Subject: Re: [provreg] RFC 5733: street changes with contact:update
X-BeenThere: provreg@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: EPP discussion list <provreg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/provreg>, <mailto:provreg-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/provreg>
List-Post: <mailto:provreg@ietf.org>
List-Help: <mailto:provreg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/provreg>, <mailto:provreg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 18:49:18 -0000

I don't know how one can make a case that sub-element replacement is acceptable. Section 3.2.5 of RFC 5733 says this (emphasis mine):

"The EPP <update> command provides a transform operation that allows a client to modify the attributes of a contact _object_."

and this:

"An OPTIONAL <contact:chg> element that contains _object attribute values to be changed_."

The <update> is thus focused on _changing_ the attributes of the _object_. In the example Klaus provided, the command received is "replace the existing <contact:postalInfo> attribute with a new instance of <contact:postalInfo>". The server failed to replace the two <street> elements with the single element provided in the <update>. It shouldn't work that way.

Scott

From: Seth Goldman [mailto:sethamin@google.com]
Sent: Thursday, November 14, 2013 12:22 PM
To: Hollenbeck, Scott
Cc: Klaus Malorny; IETF Provreg Mailing List
Subject: Re: [provreg] RFC 5733: street changes with contact:update

Agreed, but at what level? The spec is unclear on this point. We have interpreted the replace semantics to act on the "postalInfo" element, but you could plausibly make an argument for replacing at lower level elements (e.g. "addr" or "name" elements).

Regardless, I don't think the semantics you are seeing make any sense. It might be technically spec compliant, but it's not very useful.

On Thu, Nov 14, 2013 at 12:00 PM, Hollenbeck, Scott <shollenbeck@verisign.com<mailto:shollenbeck@verisign.com>> wrote:
A change implies "replace all", Klaus.

Scott

> On Nov 14, 2013, at 10:38 AM, "Klaus Malorny" <Klaus.Malorny@knipp.de<mailto:Klaus.Malorny@knipp.de>> wrote:
>
>
> Hi all,
>
> a user of our registrar services discovered a strange behaviour with contact updates. Tracking down the problem, I determined that the respective registry is handling the <contact:update> differently to they way I expected and to the way we implemented this in our own registry software. Unfortunately, RFC 5733 does not specify the update in that depth, so I would like to know what was originally intended or is regarded as best practice.
>
> The problem refers to the streets in the contact. As you know, you can specify up to three line withing the address block.
>
> If one the <contact:create> request creates a contact with two lines, e.g.
>
> <contact:create xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
>  <contact:id>C20131114-01</contact:id>
>  <contact:postalInfo type="int">
>    <contact:name>John Doe</contact:name>
>    <contact:org>ACME Solutions</contact:org>
>    <contact:addr>
>      <contact:street>100 Centre St</contact:street>
>      <contact:street>second line</contact:street>
>      <contact:city>Townsville</contact:city>
>      <contact:sp>County Derry</contact:sp>
>      <contact:pc>Z1Z 1Z1</contact:pc>
>      <contact:cc>CA</contact:cc>
>    </contact:addr>
>  </contact:postalInfo>
>  ...
>
> and later issues an update a <contact:update> with only one line, e.g.
>
> <contact:update xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
>  <contact:id>C20131114-01</contact:id>
>  <contact:chg>
>    <contact:postalInfo type="int">
>      <contact:name>John Doe</contact:name>
>      <contact:org>ACME Solutions</contact:org>
>      <contact:addr>
>        <contact:street>200 Centre St</contact:street>
>        <contact:city>Townsville</contact:city>
>        <contact:sp>County Derry</contact:sp>
>        <contact:pc>Z1Z 1Z1</contact:pc>
>        <contact:cc>CA</contact:cc>
>      </contact:addr>
>    </contact:postalInfo>
>    ...
>
> what shall be the outcome? The registry in question only replaces the first street line, retaining the second line:
>
> <contact:postalInfo type='int'>
>  <contact:name>John Doe</contact:name>
>  <contact:org>ACME Solutions</contact:org>
>  <contact:addr>
>    <contact:street>200 Centre St</contact:street>
>    <contact:street>second line</contact:street>
>    <contact:city>Townsville</contact:city>
>    <contact:sp>County Derry</contact:sp>
>    <contact:pc>Z1Z 1Z1</contact:pc>
>    <contact:cc>CA</contact:cc>
>  </contact:addr>
> </contact:postalInfo>
>
> However, I expected the old streets to be fully replaced. Or to be more clear, that the whole address block is replaced if given, meaning that if some of the data within is not given (e.g. <sp>), it is implicitly cleared.
>
> So what is correct and what is wrong, what is the smallest unit that can individually be replaced while leaving other data unchanged?
>
> Thanks for any input.
>
> Regards,
>
> Klaus
>
>
>
>
> _______________________________________________
> provreg mailing list
> provreg@ietf.org<mailto:provreg@ietf.org>
> https://www.ietf.org/mailman/listinfo/provreg
_______________________________________________
provreg mailing list
provreg@ietf.org<mailto:provreg@ietf.org>
https://www.ietf.org/mailman/listinfo/provreg