[prev in list] [next in list] [prev in thread] [next in thread] 

List:       perl-beginners
Subject:    Net::DNS::Update
From:       "Martin G. McCormick" <martin () server1 ! shellworld ! net>
Date:       2014-09-18 14:03:35
Message-ID: 20140918140335.B9AF0229A5 () server1 ! shellworld ! net
[Download RAW message or body]

	Are the packets built with this module using udp or tcp?
I have been having mostly excellent results adding and deleting
forward and reverse IP addresses using it, but on occasion,
things that were supposed to go away did not and we ended up
with a mess. I understand from the examples I have seen/stolen
what is being done as in:

                                   # Create the update packet.
                my $update = Net::DNS::Update->new($zone);
#This is a list of IP addresses to delete.
                foreach $zonerecord (@zonedeletes)
                {                  #Every one of these can be deleted.
                                   # Delete this A RR
                    $update->push( update => rr_del($zonerecord) );
                }    #Every one of these can be deleted.
                     # Sign the update packet
                $update->sign_tsig( $key_name, $key );
#This part here has me wondering if it is not where trouble starts.
                my $res = Net::DNS::Resolver->new;
#Use the master DNS.
                $res->nameservers($mname);
                my $reply = $res->send($update);
                if ($reply) {
                    if ( $reply->header->rcode ne 'NOERROR' ) {
                        die "Update of $fqdn failed: ", $reply->header->rcode,
                          "\n";
                    }
                }
                else {
                    die "Update of $fqdn failed: ", $res->errorstring, "\n";
                }
	If we send the packet and the DNS didn't get it, does
anything change compared to what happens when the DNS does get
the packet and actually deletes the records?
	We have been using the code I wrote for 3 or 4 months on
a daily basis and have had one or two cases where it was
supposed to replace several old names with new ones and what it
did was to simply add new names and leave the old names in
place. If we knew that the deletion hadn't occurred, it would be
possible to just try a few more times until it takes or we
determine there is some other problem and abort. Otherwise, it
could keep trying indefinitely.
	The vast majority of times, it just works.

Martin McCormick
Systems Engineer
Stillwater, OK
Information Technology Department
Telecommunications Services Group

-- 
To unsubscribe, e-mail: beginners-unsubscribe@perl.org
For additional commands, e-mail: beginners-help@perl.org
http://learn.perl.org/


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic