Net::DNS::Update man page on BSDOS

Man page or keyword search:  
man Server   6284 pages
apropos Keyword Search (all sections)
Output format
BSDOS logo
[printable version]



lib::Net::DNS::UsertContributed Perl Doculib::Net::DNS::Update(3)

NAME
       Net::DNS::Update - Create a DNS update packet

SYNOPSIS
       use Net::DNS::Update;

DESCRIPTION
       Net::DNS::Update is a front-end for creating
       Net::DNS::Packet objects to be used for making DNS dynamic
       updates.	 Programmers should refer to RFC 2136 for the
       semantics of dynamic updates.

       WARNING:	 This code is still under development and
       shouldn't be used to maintain a production nameserver.

METHODS
       new

	   $packet = new Net::DNS::Update("foo.com");
	   $packet = new Net::DNS::Update("foo.com", "HS");

       Returns a Net::DNS::Packet object suitable for performing
       a DNS dynamic update.  Specifically, it creates a packet
       with the header opcode set to UPDATE and the zone record
       type to SOA (per RFC 2136, Section 2.3).

       Programs must use the push method to add RRs to the
       prerequisite, update, and additional sections before
       performing the update.

       Arguments are the zone name and the class.  If omitted,
       the class defaults to IN.

       Future versions of Net::DNS may provide a simpler
       interface for making dynamic updates.

EXAMPLES
       The first example below shows a complete program;
       subsequent examples show only the creation of the update
       packet.

       Add a new host

24/Aug/1997	       perl 5.005, patch 03			1

lib::Net::DNS::UsertContributed Perl Doculib::Net::DNS::Update(3)

	   #!/usr/local/bin/perl -w

	   use Net::DNS;

	   # Create the update packet.
	   $update = new Net::DNS::Update("bar.com");

	   # Prerequisite is that no A records exist for the name.
	   $update->push("pre", nxrrset("foo.bar.com. A"));

	   # Add two A records for the name.
	   $update->push("update", rr_add("foo.bar.com. 86400 A 192.168.1.2"));
	   $update->push("update", rr_add("foo.bar.com. 86400 A 172.16.3.4"));

	   # Send the update to the zone's primary master.
	   $res = new Net::DNS::Resolver;
	   $res->nameservers("primary-master.bar.com");
	   $reply = $res->send($update);

	   # Did it work?
	   if (defined $reply) {
	       if ($reply->header->rcode eq "NOERROR") {
		   print "Update succeeded\n";
	       }
	       else {
		   print "Update failed: ", $reply->header->rcode, "\n";
	       }
	   }
	   else {
	       print "Update failed: ", $res->errorstring, "\n";
	   }

       Add an MX record for a name that already exists

	   $update = new Net::DNS::Update("foo.com");
	   $update->push("pre", yxdomain("foo.com"));
	   $update->push("update", rr_add("foo.com MX 10 mailhost.foo.com"));

       Add a TXT record for a name that doesn't exist

	   $update = new Net::DNS::Update("foo.com");
	   $update->push("pre", nxdomain("info.foo.com"));
	   $update->push("update", rr_add("info.foo.com TXT 'yabba dabba doo'"));

       Delete all A records for a name

24/Aug/1997	       perl 5.005, patch 03			2

lib::Net::DNS::UsertContributed Perl Doculib::Net::DNS::Update(3)

	   $update = new Net::DNS::Update("bar.com");
	   $update->push("pre", yxrrset("foo.bar.com A"));
	   $update->push("update", rr_del("foo.bar.com A"));

       Delete all RRs for a name

	   $update = new Net::DNS::Update("foo.com");
	   $update->push("pre", yxdomain("byebye.foo.com"));
	   $update->push("update", rr_del("byebye.foo.com"));

BUGS
       This code is still under development and shouldn't be used
       to maintain a production nameserver.

COPYRIGHT
       Copyright (c) 1997 Michael Fuhr.	 All rights reserved.
       This program is free software; you can redistribute it
       and/or modify it under the same terms as Perl itself.

SEE ALSO
       the perl(1) manpage, the Net::DNS manpage, the
       Net::DNS::Resolver manpage, the Net::DNS::Header manpage,
       the Net::DNS::Packet manpage, the Net::DNS::Question
       manpage, the Net::DNS::RR manpage, RFC 2136

24/Aug/1997	       perl 5.005, patch 03			3

[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server BSDOS

List of man pages available for BSDOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net