dnssec-sign
changeset 27 d5337081ed02
parent 25 c02caf4e0eb6
child 31 1cea07056124
--- a/dnssec-sign	Thu Aug 05 10:49:36 2010 +0200
+++ b/dnssec-sign	Mon Aug 09 11:45:43 2010 +0200
@@ -4,115 +4,116 @@
 use warnings;
 use FindBin;
 
-
 # liest die Konfiguration ein
-my @configs = ("$FindBin::Bin/dnstools.conf", "/etc/dnstools.conf");
+my @configs = ( "$FindBin::Bin/dnstools.conf", "/etc/dnstools.conf" );
 my %config;
 
-for (grep {-f} @configs) {
-        open(CONFIG, $_) or die "Can't open $_: $!\n";
+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"
+unless ( seek( CONFIG, 0, 0 ) ) {
+    die "Can't open config (searched: @configs)\n";
 }
 
 while (<CONFIG>) {
-        chomp;
-        s/#.*//;
-        s/\t//g;
-        s/\s//g;
+    chomp;
+    s/#.*//;
+    s/\t//g;
+    s/\s//g;
 
-        next unless length;
-        my ($cname, $ccont) = split (/\s*=\s*/, $_,2);
-        $config{$cname} = $ccont;
+    next unless length;
+    my ( $cname, $ccont ) = split( /\s*=\s*/, $_, 2 );
+    $config{$cname} = $ccont;
 }
-close (CONFIG);
+close(CONFIG);
 
-my $master_dir=$config{master_dir} ;
-my $sign_alert_time=$config{sign_alert_time};
+my $master_dir      = $config{master_dir};
+my $sign_alert_time = $config{sign_alert_time};
 my $zone;
-my (@manu, @auto);
+my ( @manu, @auto );
 my @zone_sig_content;
 my $sig_date;
 my $kc;
 
 # prueft zonen aus ARGV und fuegt sie in die liste @manu ein
 for (@ARGV) {
-	chomp (my $zone = `idn --quiet "$_"`);
+    chomp( my $zone = `idn --quiet "$_"` );
 
-	if (-e "$master_dir/$zone") {
-		push @manu, $zone;
-	} else {
-		print "$zone ist keine verwaltete zone \n";
-	}
+    if ( -e "$master_dir/$zone" ) {
+        push @manu, $zone;
+    }
+    else {
+        print "$zone ist keine verwaltete zone \n";
+    }
 }
 
-chomp (my $unixtime=`date +%s`);
-$unixtime = $unixtime + (3600 * $sign_alert_time);
+chomp( my $unixtime = `date +%s` );
+$unixtime = $unixtime + ( 3600 * $sign_alert_time );
 my $time = `date -d \@$unixtime +%Y%m%d%H`;
 
 # vergleicht fuer alle zonen im ordner $master_dir mit einer
 # <zone>.signed-datei den zeitpunkt in $time mit dem ablaufdatum der
 # signatur, welcher aus der datei <zone>.signed ausgelesen wird.
 for (<$master_dir/*>) {
-	s#($master_dir/)(.*)#$2#;
-	$zone = $_;
+    s#($master_dir/)(.*)#$2#;
+    $zone = $_;
 
-	if (-e "$master_dir/$zone/$zone.signed") {
+    if ( -e "$master_dir/$zone/$zone.signed" ) {
 
-		open (ZONE, "$master_dir/$zone/$zone.signed");
-		@zone_sig_content = <ZONE>;
-		close (ZONE);
+        open( ZONE, "$master_dir/$zone/$zone.signed" );
+        @zone_sig_content = <ZONE>;
+        close(ZONE);
 
-		for (@zone_sig_content) {
-			if (m#SOA.*[0-9]{14}#) {
-				s#.*([0-9]{10})([0-9]{4}).*#$1#;
-				if ($_ < $time) {
-					push @auto, $zone;
-				}
-			}
-		}
-	}
+        for (@zone_sig_content) {
+            if (m#SOA.*[0-9]{14}#) {
+                s#.*([0-9]{10})([0-9]{4}).*#$1#;
+                if ( $_ < $time ) {
+                    push @auto, $zone;
+                }
+            }
+        }
+    }
 }
 
 #gibt zonen mit schluessel aber ohne signatur in die liste @auto
 for (<$master_dir/*>) {
-	s#($master_dir/)(.*)#$2#;
-	$zone = $_;
+    s#($master_dir/)(.*)#$2#;
+    $zone = $_;
 
-	if (-e "$master_dir/$zone/.keycounter") {
+    if ( -e "$master_dir/$zone/.keycounter" ) {
 
-		open (KC, "$master_dir/$zone/.keycounter" );
-		$kc = <KC>;
-		close (KC);
+        open( KC, "$master_dir/$zone/.keycounter" );
+        $kc = <KC>;
+        close(KC);
 
-		if ( $kc < 1) {	
-			push @auto, $zone;
-		}
-	}
+        if ( $kc < 1 ) {
+            push @auto, $zone;
+        }
+    }
 }
 
 # signiert alle zonen in @auto und @manu und erhoeht den wert in
 # der keycounter-datei
-for (@auto, @manu) {
-	$zone = $_ ;
+for ( @auto, @manu ) {
+    $zone = $_;
 
-	chdir "$master_dir/$zone";
+    chdir "$master_dir/$zone";
 
-	if (`dnssec-signzone $zone 2>/dev/null`) {
-		print "$zone neu signiert \n";
+    if (`dnssec-signzone $zone 2>/dev/null`) {
+        print "$zone neu signiert \n";
 
-		open (KC, "$master_dir/$zone/.keycounter" );
-		$kc = <KC>;
-		close (KC);
-		$kc += 1;
-		open (KC, ">$master_dir/$zone/.keycounter" );
-		print KC $kc;
-		close (KC);
+        open( KC, "$master_dir/$zone/.keycounter" );
+        $kc = <KC>;
+        close(KC);
+        $kc += 1;
+        open( KC, ">$master_dir/$zone/.keycounter" );
+        print KC $kc;
+        close(KC);
 
-	} else {
-		print "$zone konnte nicht signiert werden \n";
-	}
+    }
+    else {
+        print "$zone konnte nicht signiert werden \n";
+    }
 }