zone-ls
changeset 25 c02caf4e0eb6
parent 23 9dc00aa49452
child 27 d5337081ed02
equal deleted inserted replaced
24:b1234b9824f0 25:c02caf4e0eb6
     1 #! /usr/bin/perl
     1 #! /usr/bin/perl
     2 
     2 
     3 use strict;
     3 use strict;
     4 use warnings;
     4 use warnings;
     5 use File::Basename;
     5 use File::Basename;
       
     6 use FindBin;
     6 
     7 
       
     8 
       
     9 # liest die Konfiguration ein
       
    10 my @configs = ("$FindBin::Bin/dnstools.conf", "/etc/dnstools.conf");
     7 my %config;
    11 my %config;
     8 open (CONFIG, $_ = "<dnstools.conf") or die "Can't open $_: $!\n";
    12 
       
    13 for (grep {-f} @configs) {
       
    14 	open(CONFIG, $_) or die "Can't open $_: $!\n";
       
    15 }
       
    16 
       
    17 unless (seek(CONFIG,0 ,0 )) {
       
    18 	die "Can't open config (searched: @configs)\n"
       
    19 }
     9 
    20 
    10 while (<CONFIG>) {
    21 while (<CONFIG>) {
    11         chomp;
    22 	chomp;
    12         s/#.*//;
    23 	s/#.*//;
    13         s/\t//g;
    24 	s/\t//g;
    14         s/\s//g;
    25 	s/\s//g;
    15 
    26 	next unless length;
    16         next unless length;
    27 	my ($cname, $ccont) = split (/\s*=\s*/, $_,2);
    17         my ($cname, $ccont) = split (/\s*=\s*/, $_,2);
    28 	$config{$cname} = $ccont;
    18         $config{$cname} = $ccont;
       
    19 }
    29 }
    20 close (CONFIG);
    30 close (CONFIG);
    21 
    31 
       
    32 
    22 my $master_dir = $config{master_dir};
    33 my $master_dir = $config{master_dir};
       
    34 my $zone; 
       
    35 my ($info_zsk, $info_ksk, $info_kc, $info_end);
    23 
    36 
    24 die "$config{master_dir}: $!\n" 
    37 unless (-d $master_dir and -r $master_dir) {
    25 	if not -d $config{master_dir} or not -r $config{master_dir};
    38 	die "$master_dir: $!\n";
       
    39 }
       
    40 
    26 
    41 
    27 printf "%-25s %1s/%1s %3s %7s\n", "Domain", "ZSK", "KSK", "Used", "Sig-end";
    42 printf "%-25s %1s/%1s %3s %7s\n", "Domain", "ZSK", "KSK", "Used", "Sig-end";
    28 
       
    29 my $zone; 
       
    30 my ($info_zsk, $info_ksk, $info_kc, $info_end);
       
    31 
    43 
    32 foreach my $dir (glob "$master_dir/*") {
    44 foreach my $dir (glob "$master_dir/*") {
    33 	
    45 	
    34 	$zone = basename($dir);
    46 	$zone = basename($dir);
    35 
    47