--- a/zone-ls Mon Aug 02 13:45:47 2010 +0200
+++ b/zone-ls Wed Aug 04 11:27:21 2010 +0200
@@ -3,32 +3,44 @@
use strict;
use warnings;
use File::Basename;
+use FindBin;
+
+# liest die Konfiguration ein
+my @configs = ("$FindBin::Bin/dnstools.conf", "/etc/dnstools.conf");
my %config;
-open (CONFIG, $_ = "<dnstools.conf") or die "Can't open $_: $!\n";
+
+for (grep {-f} @configs) {
+ open(CONFIG, $_) or die "Can't open $_: $!\n";
+}
+
+unless (seek(CONFIG,0 ,0 )) {
+ die "Can't open config (searched: @configs)\n"
+}
while (<CONFIG>) {
- chomp;
- s/#.*//;
- s/\t//g;
- s/\s//g;
-
- next unless length;
- my ($cname, $ccont) = split (/\s*=\s*/, $_,2);
- $config{$cname} = $ccont;
+ chomp;
+ s/#.*//;
+ s/\t//g;
+ s/\s//g;
+ next unless length;
+ my ($cname, $ccont) = split (/\s*=\s*/, $_,2);
+ $config{$cname} = $ccont;
}
close (CONFIG);
+
my $master_dir = $config{master_dir};
+my $zone;
+my ($info_zsk, $info_ksk, $info_kc, $info_end);
-die "$config{master_dir}: $!\n"
- if not -d $config{master_dir} or not -r $config{master_dir};
+unless (-d $master_dir and -r $master_dir) {
+ die "$master_dir: $!\n";
+}
+
printf "%-25s %1s/%1s %3s %7s\n", "Domain", "ZSK", "KSK", "Used", "Sig-end";
-my $zone;
-my ($info_zsk, $info_ksk, $info_kc, $info_end);
-
foreach my $dir (glob "$master_dir/*") {
$zone = basename($dir);