3 # ChkDel -- A simple script for checking of domain delegations
5 # (c) 1999 Martin Mares <mj@ucw.cz>
8 use lib "/home/mj/perl/lib/site_perl";
10 $our_server = "server1.gts.cz";
11 $outside_ns = "ns.eunet.cz";
13 use Net::DNS::Resolver;
15 $res = new Net::DNS::Resolver;
16 $res->nameservers($outside_ns);
22 @list = @ARGV ? `cat $ARGV[0]` : `m4 cf/domains`;
25 if (/^PRIMARY\((\S+)\)/) { $dom = $1; }
26 elsif (/^SECONDARY\((\S+)\s*,/) { $dom = $1; }
28 $dom eq "localhost" && next;
30 my $q = $res->send($dom, "NS", "IN") or do {
31 print "$dom: ", $res->errorstring, "\n";
36 print "$dom: Truncated response\n";
40 $rc eq "NXDOMAIN" and do {
41 print "$dom: Doesn't exist\n";
44 $rc eq "NOERROR" or do {
45 print "$dom: Error $rc\n";
49 print "$dom: Empty answer\n";
53 foreach my $r ($q->answer) {
54 if ($r->class eq "IN" && $r->type eq "NS" && $r->nsdname eq $our_server) {
60 print "$dom: Lame delegation\n";