--- a/zone-ls Tue Dec 21 15:47:40 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-#! /usr/bin/perl
-
-use strict;
-use warnings;
-use File::Basename;
-use FindBin;
-
-# liest die Konfiguration ein
-my @configs = ( "$FindBin::Bin/dnstools.conf", "/etc/dnstools.conf" );
-my %config;
-
-for ( grep {-f} @configs ) {
- open( CONFIG, $_ ) or die "Can't open $_: $!\n";
-}
-
-unless ( seek( CONFIG, 0, 0 ) ) {
- die "Can't open config (searched: @configs)\n";
-}
-
-while (<CONFIG>) {
- chomp;
- s/#.*//;
- s/\t//g;
- s/\s//g;
- next unless length;
- my ( $cname, $ccont ) = split( /\s*=\s*/, $_, 2 );
- $config{$cname} = $ccont;
-}
-close(CONFIG);
-
-my $master_dir = $config{master_dir};
-my $zone;
-my ( $info_zsk, $info_ksk, $info_kc, $info_end, $info_status );
-
-unless ( -d $master_dir and -r $master_dir ) {
- die "$master_dir: $!\n";
-}
-
-printf "%-35s %-8s %1s/%1s %3s %7s\n", "Domain", "Status", "ZSK", "KSK",
- "Used", "Sig-end";
-
-for my $dir ( glob "$master_dir/*" ) {
-
- $zone = basename($dir);
-
- # prueft mit dig nach der zone
- $info_status = "OK";
- for (`dig \@localhost $zone`) {
- if (/root-servers/) {
- $info_status = "FAILED";
- last;
- }
- }
-
- if ( not -f "$dir/.index.zsk" ) {
- $info_zsk = $info_ksk = $info_kc = 0;
- $info_end = "-";
- next;
- }
-
- # prueft wie viele zsks genutzt werden
- close(FILE);
- open( FILE, $_ = "<$dir/.index.zsk" ) or die "Can't open $_: $!\n";
- () = <FILE>;
- $info_zsk = $.;
-
- # prueft wie viele ksks genutzt werden
- close(FILE);
- open( FILE, $_ = "<$dir/.index.ksk" ) or die "Can't open $_: $!\n";
- () = <FILE>;
- $info_ksk = $.;
-
- # prueft wie oft die schluessel zum signieren genutzt wurden
- open( FILE, $_ = "<$dir/.keycounter" ) or die "Can't open $_: $!\n";
- chomp( $info_kc = <FILE> );
-
- # prueft das ablaufdatum
- if ( !-f "$dir/$zone.signed" ) {
- $info_end = "-";
- next;
- }
-
- open( FILE, $_ = "<$dir/$zone.signed" ) or die "Can't open $_: $!\n";
- while (<FILE>) {
- $info_end = "$+{day}.$+{mon}.$+{year} $+{hour}:$+{min}"
- if /RSIG.*SOA.*\s
- (?<year>\d\d\d\d)
- (?<mon>\d\d)
- (?<day>\d\d)
- (?<hour>\d\d)
- (?<min>\d\d)\d+\s\(/ix;
- }
-
-}
-continue {
- printf "%-35s %-8s %1d/%1d %5d %19s\n", $zone, $info_status, $info_zsk,
- $info_ksk, $info_kc,
- $info_end;
-}
-