diff -r 0342c09abf97 -r d5337081ed02 dnssec-sign --- 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 () { - 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 # .signed-datei den zeitpunkt in $time mit dem ablaufdatum der # signatur, welcher aus der datei .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 = ; - close (ZONE); + open( ZONE, "$master_dir/$zone/$zone.signed" ); + @zone_sig_content = ; + 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 = ; - close (KC); + open( KC, "$master_dir/$zone/.keycounter" ); + $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 = ; - close (KC); - $kc += 1; - open (KC, ">$master_dir/$zone/.keycounter" ); - print KC $kc; - close (KC); + open( KC, "$master_dir/$zone/.keycounter" ); + $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"; + } }