diff -r 5ac92c1ffdf9 -r 1cea07056124 dnssec-killkey --- a/dnssec-killkey Wed Aug 11 14:08:33 2010 +0200 +++ b/dnssec-killkey Thu Aug 12 10:18:58 2010 +0200 @@ -3,6 +3,12 @@ use strict; use FindBin; +sub del_double { + my %all; + grep { $all{$_} = 0 } @_; + return ( keys %all ); +} + # liest die Konfiguration ein my @configs = ( "$FindBin::Bin/dnstools.conf", "/etc/dnstools.conf" ); my %config; @@ -129,7 +135,7 @@ # nach abgeschlossenem key-rollover werden fuer die entsprechende zone # unbenoetigte schluessel entfernt und die vorhandenen schluessel in die # zonedatei geschrieben. -for (@auto) { +for ( &del_double(@auto) ) { my $zone = $_; my @old_zone_content = (); my @new_zone_content = (); @@ -154,7 +160,7 @@ # kuerzt die schluessel-bezeichnung aus der indexdatei auf die # id um sie besser vergleichen zu koennen. - for (@kkeylist, @zkeylist) { + for ( @kkeylist, @zkeylist ) { chomp; s#K.*\+.*\+(.*)#$1#; } @@ -184,7 +190,8 @@ if ( $file =~ /.*key/ ) { $file =~ s#/.*/(K.*)#$1#; - push @new_zone_content, "\$INCLUDE \"$file\"\t\t; dnssec-zsk\n" ; + push @new_zone_content, + "\$INCLUDE \"$file\"\t\t; dnssec-zsk\n"; last; } @@ -200,7 +207,8 @@ if ( $file =~ /.*key/ ) { $file =~ s#/.*/(K.*)#$1#; - push @new_zone_content, "\$INCLUDE \"$file\"\t\t; dnssec-ksk\n" ; + push @new_zone_content, + "\$INCLUDE \"$file\"\t\t; dnssec-ksk\n"; last; }