Rev 74 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
#! /usr/bin/env perl
use strict;
use warnings;
# we will list our name servers as CLI arguments
my %ourNS = map { lc $_ => 1 } @ARGV;
# if we don't clear ARGV, perl thinks we're passing filenames
# to open for STDIN
@ARGV = ();
# The tab delimited file of nameserver\tdomain are on STDIN
my @domainList = <>;
chomp @domainList;
my %weHost;
my %dontHost;
# get the ones we DO host
for ( my $i = 0; $i < @domainList; $i++ ) {
my ($ns,$domain) = split( "\t", $domainList[$i] );
$weHost{$domain} = 1 if $ourNS{lc $ns} || defined( $weHost{$domain} );
}
# get the ones we DON'T host. NOTE: we do it this way because a user may have
# us as a primary or a secondary, and have an entry with some other entity
for ( my $i = 0; $i < @domainList; $i++ ) {
my ($ns,$domain) = split( "\t", $domainList[$i] );
$dontHost{$domain} = 1 unless defined( $weHost{$domain} );
}
# dump the output
print "We don't do DNS for these domains\n" . join( "\n", keys %dontHost ) . "\n";
1;
Generated by GNU Enscript 1.6.5.90.