RFC 5733: street changes with contact:update

Klaus Malorny <[email protected]> Thu, 14 Nov 2013 16:36:48 +0100
Newsgroups gmane.ietf.provreg
Message-ID <[email protected]>
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
[email protected]
https://www.ietf.org/mailman/listinfo/provreg