#!/usr/bin/perl
BEGIN {
my $x = $0; $x =~ s/\/[^\/]+$//;
if ($x eq $0 || $x eq '') { $x = `pwd`;chomp $x; };
require "$x/config.pl";
};
sub usage {
print "usage: set_ip_pointer ip host ns ...\n"; exit 1;
}
my $ip = shift @ARGV;
&usage if (!defined($ip));
my $host = shift @ARGV;
&usage if (!defined($host));
my (@ns) = (@ARGV);
&usage if (scalar(@ns) < 1);
my $ldap = &get_ldap_conn;
$host =~ s/^\.//; $host =~ s/\.$//;
my $ipaddr;
if ($ip =~ /\.in-addr\.arpa\.?$/i) {
# trusting folk we are...
$ipaddr = lc($ip);
} else {
$ipaddr = join('.', reverse split /\./, $ip) . '.in-addr.arpa';
}
my @nsadd = ();
foreach my $i (@ns) {
$i =~ s/^\.//; $i =~ s/\.$//;
push(@nsadd, $i . '.');
}
dc_add_prefix($ldap, $ipaddr);
set_record($ldap, $ipaddr, [
dc => dc_domain($ipaddr),
objectClass => [ qw(dnsDomain dcObject) ],
cNAMERecord => "$host.",
nSRecord => \@nsadd,
], { cNAMERecord => "$host.", aRecord => [] });
syntax highlighted by Code2HTML, v. 0.9.1