]> mj.ucw.cz Git - nsc-5.git/blobdiff - bin/chkdel
.gitignore: Added khash
[nsc-5.git] / bin / chkdel
index 8328201ac8c0672addaeef1b3dd4e98e61fb65a9..6999c427a57487bacd4f15fb3a78080244ec984c 100755 (executable)
@@ -2,31 +2,35 @@
 #
 #      ChkDel -- A simple script for checking of domain delegations
 #
 #
 #      ChkDel -- A simple script for checking of domain delegations
 #
-#      (c) 1999 Martin Mares <mj@ucw.cz>
+#      (c) 1999--2003 Martin Mares <mj@ucw.cz>
 #
 
 #
 
-use lib "/home/mj/perl/lib/site_perl";
+use strict;
+use warnings;
 
 
-$our_server = "server1.gts.cz";
-$outside_ns = "ns.eunet.cz";
+# The canonical name of our server
+my $our_server = "jabberwock.ucw.cz";
+
+# Any recursive nameserver outside our network
+my $outside_ns = "ns.gts.cz";
 
 use Net::DNS::Resolver;
 
 
 use Net::DNS::Resolver;
 
-$res = new Net::DNS::Resolver;
+my $res = new Net::DNS::Resolver;
 $res->nameservers($outside_ns);
 $res->defnames(0);
 $res->dnsrch(0);
 $res->debug(0);
 $res->recurse(1);
 
 $res->nameservers($outside_ns);
 $res->defnames(0);
 $res->dnsrch(0);
 $res->debug(0);
 $res->recurse(1);
 
-@list = @ARGV ? `cat $ARGV[0]` : `m4 cf/domains`;
+my $d = @ARGV ? $ARGV[0] : 'cf/domains';
+my @list = `m4 m4/list.m4 $d`;
 
 foreach $_ (@list) {
 
 foreach $_ (@list) {
-       if (/^PRIMARY\((\S+)\)/) { $dom = $1; }
-       elsif (/^SECONDARY\((\S+)\s*,/) { $dom = $1; }
-       else { next; }
+       chomp;
+       my $dom = $_;
        $dom eq "localhost" && next;
        $dom eq "localhost" && next;
-#      print "$dom\n";
+       #print "$dom\n";
        my $q = $res->send($dom, "NS", "IN") or do {
                print "$dom: ", $res->errorstring, "\n";
                next;
        my $q = $res->send($dom, "NS", "IN") or do {
                print "$dom: ", $res->errorstring, "\n";
                next;
@@ -49,7 +53,7 @@ foreach $_ (@list) {
                print "$dom: Empty answer\n";
                next;
        };
                print "$dom: Empty answer\n";
                next;
        };
-       $f = 0;
+       my $f = 0;
        foreach my $r ($q->answer) {
                if ($r->class eq "IN" && $r->type eq "NS" && $r->nsdname eq $our_server) {
                        $f = 1;
        foreach my $r ($q->answer) {
                if ($r->class eq "IN" && $r->type eq "NS" && $r->nsdname eq $our_server) {
                        $f = 1;