# HG changeset patch # User Andre Suess # Date 1293720019 -3600 # Node ID 6adcf16d5cd6bb5f6d062a76726799acbd6b4ba4 # Parent c44bc1c8e3963cc9ecfded9996551ee8022b284d# Parent ea0afdd6b02676a8b0ec703056297198f7056fd6 merged Hg: Bitte gib eine Versions-Meldung ein. Zeilen beginnend mit 'HG:' werden entfernt. diff -r c44bc1c8e396 -r 6adcf16d5cd6 update-serial.pl --- 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; }