1 #!/usr/bin/perl -w |
1 #!/usr/bin/perl -w |
2 |
2 |
3 use strict; |
3 use strict; |
|
4 use FindBin; |
4 |
5 |
|
6 |
|
7 # liest die Konfiguration ein |
|
8 my @configs = ("$FindBin::Bin/dnstools.conf", "/etc/dnstools.conf"); |
5 my %config; |
9 my %config; |
6 open (CONFIG, "dnstools.conf"); |
10 |
|
11 for (grep {-f} @configs) { |
|
12 open(CONFIG, $_) or die "Can't open $_: $!\n"; |
|
13 } |
|
14 |
|
15 unless (seek(CONFIG,0 ,0 )) { |
|
16 die "Can't open config (searched: @configs)\n" |
|
17 } |
|
18 |
7 while (<CONFIG>) { |
19 while (<CONFIG>) { |
8 chomp; |
20 chomp; |
9 s/#.*//; |
21 s/#.*//; |
10 s/\t//g; |
22 s/\t//g; |
11 s/\s//g; |
23 s/\s//g; |
21 my $zone; |
33 my $zone; |
22 my @status; |
34 my @status; |
23 my @auto; |
35 my @auto; |
24 chomp (my $now_time=`date +%s`); # aktuelle unixzeit |
36 chomp (my $now_time=`date +%s`); # aktuelle unixzeit |
25 |
37 |
|
38 |
26 # prueft zonen aus ARGV und loescht das schluesselmaterial |
39 # prueft zonen aus ARGV und loescht das schluesselmaterial |
27 for (@ARGV) { |
40 for (@ARGV) { |
28 chomp ($zone = `idn --quiet $_`); |
41 chomp ($zone = `idn --quiet $_`); |
29 my $zdir = "$master_dir/$zone"; |
42 my $zdir = "$master_dir/$zone"; |
30 if (-e "$master_dir/$zone") { |
43 if (-e "$master_dir/$zone") { |
31 |
44 |
32 if (-e "$zdir/$zone.signed") { unlink $zdir/$zone.signed} |
45 if (-e "$zdir/$zone.signed") { unlink "$zdir/$zone.signed"} |
33 if (-e "$zdir/.keycounter") { unlink $zdir/.keycounter} |
46 if (-e "$zdir/.keycounter") { unlink "$zdir/.keycounter"} |
34 if (-e "$zdir/.index.ksk") { unlink $zdir/.index.ksk} |
47 if (-e "$zdir/.index.ksk") { unlink "$zdir/.index.ksk"} |
35 if (-e "$zdir/.index.zsk") { unlink $zdir/.index.zsk} |
48 if (-e "$zdir/.index.zsk") { unlink "$zdir/.index.zsk"} |
36 if (-e "$zdir/dsset-$zone.") { unlink $zdir/dsset-$zone.} |
49 if (-e "$zdir/dsset-$zone.") { unlink "$zdir/dsset-$zone."} |
37 if (-e "$zdir/keyset-$zone.") { unlink $zdir/keyset-$zone.} |
50 if (-e "$zdir/keyset-$zone.") { unlink "$zdir/keyset-$zone."} |
38 |
51 |
39 for (`ls $master_dir/$zone/K*[key,private]`){ unlink $_} |
52 for (`ls $master_dir/$zone/K*[key,private]`){ unlink $_} |
40 |
53 |
41 } else { |
54 } else { |
42 print "$zone ist keine verwaltete zone \n"; |
55 print "$zone ist keine verwaltete zone \n"; |