Hello,

while testing our connection to the upcoming registry migration to Radix's server (e.g. for .website), I've come across an apparent issue with mixed signals regarding standard prices.

This check

<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   <command>
      <check>
         <check xmlns="urn:ietf:params:xml:ns:domain-1.0">
            <name>test456.website</name>
         </check>
      </check>
      <extension>
         <check xmlns="urn:ietf:params:xml:ns:epp:fee-1.0">
            <command name="create">
               <period unit="y">1</period>
            </command>
         </check>
      </extension>
   </command>
</epp>

yields:

<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   <response>
      <result code="1000">
         <msg>Command completed successfully</msg>
      </result>
      <resData>
         <domain:chkData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
            <domain:cd>
               <domain:name avail="1">test456.website</domain:name>
            </domain:cd>
         </domain:chkData>
      </resData>
      <extension>
         <fee:chkData xmlns:fee="urn:ietf:params:xml:ns:epp:fee-1.0">
            <fee:currency>USD</fee:currency>
            <fee:cd avail="1">
               <fee:objID>test456.website</fee:objID>
               <fee:class>standard</fee:class>
               <fee:command name="create">
                  <fee:period unit="y">1</fee:period>
                  <fee:fee description="Domain registration (per year)" 
refundable="1">20</fee:fee>
               </fee:command>
            </fee:cd>
         </fee:chkData>
      </extension>
      <trID>
         <svTRID>d412f731-84d4-4de5-9c5a-c04d899763ac</svTRID>
      </trID>
   </response>
</epp>

Observe that the

  <fee:class>standard</fee:class>

element indicates standard pricing as defined by RFC 8748:

  "Servers that make use of this element MUST use a <fee:class> element with the value 
"standard"
  for all objects that are subject to the standard or default fee."

However, the element

  <fee:command name="create">

doesn't carry the "standard" attribute, which unfortunately is defined by the 
RFC as

  "This element MAY have the OPTIONAL "standard" attribute, with a default value of 
"0" (or
  "false"), which indicates whether the fee is the standard or default fee."

Now, the <fee:class> element tells an EPP client to regard the price as "standard", however the lacking "standard" attribute (defaulting to false) tells the client that the prices in *not* standard. A conservative approach preventing customers from unknowingly buying premium domains would assume non-standard pricing here, which is not what Radix's server wants to express.

While our own TANGO EPP server would return both <fee:class>standard</fee:class> and <fee:command name="create" standard="true">, I wouldn't call Radix's implementation here faulty per se, as it is allowed by the RFC. But it still confuses diligent clients.

I think the issue here lies with the RFC, which defines not one but *two* ways to signal standard pricing, and doesn't clearly demand that they need to agree. I therefore believe that a correction of the RFC is in order, either by getting rid of one of the signals, or by making one the definitive one (preferably the "standard" boolean attribute, with the <fee:class> class remaining but being purely informational).

Thoughts?

Best regards,

Thomas

--
TANGO REGISTRY SERVICES® is a product of:
Knipp Medien und Kommunikation GmbH
Technologiepark                             Phone: +49 231 9703-222
Martin-Schmeisser-Weg 9                       Fax: +49 231 9703-200
D-44227 Dortmund                       E-Mail: [email protected]
Germany


_______________________________________________
regext mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to