1 #! /usr/bin/perl |
1 #! /usr/bin/perl |
2 |
2 |
3 use strict; |
3 use strict; |
4 use warnings; |
4 use warnings; |
5 use File::Basename; |
5 use File::Basename; |
|
6 use FindBin; |
6 |
7 |
|
8 |
|
9 # liest die Konfiguration ein |
|
10 my @configs = ("$FindBin::Bin/dnstools.conf", "/etc/dnstools.conf"); |
7 my %config; |
11 my %config; |
8 open (CONFIG, $_ = "<dnstools.conf") or die "Can't open $_: $!\n"; |
12 |
|
13 for (grep {-f} @configs) { |
|
14 open(CONFIG, $_) or die "Can't open $_: $!\n"; |
|
15 } |
|
16 |
|
17 unless (seek(CONFIG,0 ,0 )) { |
|
18 die "Can't open config (searched: @configs)\n" |
|
19 } |
9 |
20 |
10 while (<CONFIG>) { |
21 while (<CONFIG>) { |
11 chomp; |
22 chomp; |
12 s/#.*//; |
23 s/#.*//; |
13 s/\t//g; |
24 s/\t//g; |
14 s/\s//g; |
25 s/\s//g; |
15 |
26 next unless length; |
16 next unless length; |
27 my ($cname, $ccont) = split (/\s*=\s*/, $_,2); |
17 my ($cname, $ccont) = split (/\s*=\s*/, $_,2); |
28 $config{$cname} = $ccont; |
18 $config{$cname} = $ccont; |
|
19 } |
29 } |
20 close (CONFIG); |
30 close (CONFIG); |
21 |
31 |
|
32 |
22 my $master_dir = $config{master_dir}; |
33 my $master_dir = $config{master_dir}; |
|
34 my $zone; |
|
35 my ($info_zsk, $info_ksk, $info_kc, $info_end); |
23 |
36 |
24 die "$config{master_dir}: $!\n" |
37 unless (-d $master_dir and -r $master_dir) { |
25 if not -d $config{master_dir} or not -r $config{master_dir}; |
38 die "$master_dir: $!\n"; |
|
39 } |
|
40 |
26 |
41 |
27 printf "%-25s %1s/%1s %3s %7s\n", "Domain", "ZSK", "KSK", "Used", "Sig-end"; |
42 printf "%-25s %1s/%1s %3s %7s\n", "Domain", "ZSK", "KSK", "Used", "Sig-end"; |
28 |
|
29 my $zone; |
|
30 my ($info_zsk, $info_ksk, $info_kc, $info_end); |
|
31 |
43 |
32 foreach my $dir (glob "$master_dir/*") { |
44 foreach my $dir (glob "$master_dir/*") { |
33 |
45 |
34 $zone = basename($dir); |
46 $zone = basename($dir); |
35 |
47 |