modify_domain nameserverlist werdness

From: Allard Hoeve (allard@byte.nl)
Date: Fri Aug 16 2002 - 10:02:08 EDT


Hi all,

While coding to implement the modify_domain commands of the 2.57 API, I
ran into some problems.

The scenario:

My domain has the following nameservers registered in the Whois dbase:

1 => ns1.test.nl
2 => ns2.test.nl

The domain's account has four nameservers registered, ns1 through ns4.

While testing my code, I tried to update the domain's nameservers to:

sortorder 1 => ns2.test.nl
sortorder 2 => ns1.test.nl

All went well. However, while trying to update from:

sortorder 1 => ns1.test.nl
sortorder 2 => ns2.test.nl

to:

sortorder 1 => ns2.test.nl
sortorder 2 => ns3.test.nl

I get:

Domain error: 405: Registry error, domain's nameservers not updated
[Attribute value not unique]

I am a little confused, since I am following all the specs. See below for
the nameserver_list array (Perl Data::Dumper).

How does the registry update the nameservers? Does it traverse the
nameserver_list and simply updates nameservers one by one? That would on
the one hand explain the "not unique"-ness of the attribute value, since
after the first update the nameserver_list holds 1 => ns2, 2 => ns2. On
the other hand, why then does switching nameservers work?

How have you implemented this updating of nameservers?

Kind regards, thanks in advance,

Allard Hoeve

PS: Weirdness increases while trying to update the first two nameservers
and trying the rest (a third) at the same time...

___ communications:

 (*) Dumping nameservers... Registry holds:
$ns_list = [
          {
            'ipaddress' => undef,
            'sortorder' => '1',
            'encoding_type' => undef,
            'name' => 'ns2.byte.nl'
          },
          {
            'ipaddress' => undef,
            'sortorder' => '2',
            'encoding_type' => undef,
            'name' => 'ns3.byte.nl'
          }
        ];

 (*) Updating nameservers... Trying to set:
$ns_list = [
          {
            'sortorder' => '1',
            'action' => 'update',
            'name' => 'ns1.byte.nl'
          },
          {
            'sortorder' => '2',
            'action' => 'update',
            'name' => 'ns2.byte.nl'
          }
        ];
Domain error: 405: Registry error, domain's nameservers not updated
[Attribute value not unique]

 (*) Dumping nameservers again... Registry now holds:
$ns_list = [
          {
            'ipaddress' => undef,
            'sortorder' => '1',
            'encoding_type' => undef,
            'name' => 'ns2.byte.nl'
          },
          {
            'ipaddress' => undef,
            'sortorder' => '2',
            'encoding_type' => undef,
            'name' => 'ns3.byte.nl'
          }
        ];



This archive was generated by hypermail 2.1.3 : Tue Oct 19 2004 - 23:37:22 EDT