merged
Hg: Bitte gib eine Versions-Meldung ein. Zeilen beginnend mit 'HG:' werden entfernt.
--- a/update-serial.pl Thu Dec 30 15:29:33 2010 +0100
+++ b/update-serial.pl Thu Dec 30 15:40:19 2010 +0100
@@ -21,7 +21,7 @@
sub need_rollover();
sub done_rollover();
sub begin_rollover(@);
-sub kill_useless_keys($);
+sub unlink_unused_keys($);
sub sign_zone;
sub update_serial;
@@ -474,7 +474,7 @@
say $fh 0;
close($fh);
- kill_useless_keys($zone);
+ unlink_unused_keys($zone);
&key_to_zonefile($zone);
push @r, $zone;
}
@@ -508,30 +508,27 @@
close(ZONEFILE);
}
-sub kill_useless_keys($) {
+sub unlink_unused_keys($) {
# die funktion loescht alle schluessel die nicht in der index.zsk
# der uebergebenen zone stehen
my $zone = shift;
- my @keys = ();
+ my @keys;
my $dir = "$config{master_dir}/$zone";
{
# collect the keys and cut everything except the key id
+ # we cut the basenames (w/o the .private|.key suffix)
open(my $zsk, "<$dir/.index.zsk") or die "$dir/.index.zsk: $!\n";
open(my $ksk, "<$dir/.index.ksk") or die "$dir/.index.ksk: $!\n";
- @keys = map { basename $_, ".private", ".key" } (<$zsk>, <$ksk>);
+ @keys = (<$zsk>, <$ksk>);
}
- ### @keys
-
# prueft alle schluesseldateien (ksk, zsk) ob sie in der jeweiligen
# indexdatei beschrieben sind. wenn nicht werden sie geloescht.
- # ---- <><><><>
- for my $file (grep /(?:key|private)$/ => glob "$config{master_dir}/$zone/K*") {
- $file = basename $file, ".private", ".key";
- unlink "$file.key", "$file.private" if $file ~~ @keys;
+ for my $file (glob "$dir/K*.key $dir/K*.private") {
+ unlink $file if basename($file, ".key", ".private") ~~ @keys;
}
}
@@ -559,7 +556,7 @@
print INDEX $last_key;
close(INDEX);
}
- kill_useless_keys($zone);
+ unlink_unused_keys($zone);
&key_to_zonefile($zone);
push @new_serial, $zone;
}