dnssec-killkey
changeset 22 7229d1c95ea8
parent 21 6715f8f9d04c
child 25 c02caf4e0eb6
--- a/dnssec-killkey	Thu Jul 29 14:19:56 2010 +0200
+++ b/dnssec-killkey	Mon Aug 02 11:15:18 2010 +0200
@@ -2,8 +2,22 @@
 
 use strict;
 
-my $master_dir="/etc/bind/master";	# ordner fuer die einzelnen zonedateiordner
-my $ablauf_zeit="1";			# zeit fuer den key-rollover in h
+my %config;
+open (CONFIG, "dnstools.conf");
+while (<CONFIG>) {
+        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 $ablauf_zeit = $config{abl_zeit};
 my $zone;
 my @status;
 my @auto;
@@ -15,14 +29,14 @@
 	my $zdir = "$master_dir/$zone";
         if (-e "$master_dir/$zone") {
 
-		if (-e "$zdir/$zone.signed") { `rm $zdir/$zone.signed`}
-		if (-e "$zdir/.keycounter") { `rm $zdir/.keycounter`}
-		if (-e "$zdir/.index.ksk") { `rm $zdir/.index.ksk`}
-		if (-e "$zdir/.index.zsk") { `rm $zdir/.index.zsk`}
-		if (-e "$zdir/dsset-$zone.") { `rm $zdir/dsset-$zone.`}
-		if (-e "$zdir/keyset-$zone.") { `rm $zdir/keyset-$zone.`}
+		if (-e "$zdir/$zone.signed") { unlink $zdir/$zone.signed}
+		if (-e "$zdir/.keycounter") { unlink $zdir/.keycounter}
+		if (-e "$zdir/.index.ksk") { unlink $zdir/.index.ksk}
+		if (-e "$zdir/.index.zsk") { unlink $zdir/.index.zsk}
+		if (-e "$zdir/dsset-$zone.") { unlink $zdir/dsset-$zone.}
+		if (-e "$zdir/keyset-$zone.") { unlink $zdir/keyset-$zone.}
 
-		foreach (`ls $master_dir/$zone/K*[key,private]`){ `rm $_`}
+		for (`ls $master_dir/$zone/K*[key,private]`){ unlink $_}
 
         } else {
                 print "$zone ist keine verwaltete zone \n";
@@ -80,7 +94,7 @@
 # nach abgeschlossenem key-rollover werden fuer die entsprechende zone
 # unbenoetigte schluessel entfernt und die vorhandenen schluessel in die
 # zonedatei geschrieben.
-foreach (@auto) {
+for (@auto) {
 	my $zone = $_;
 	my @old_zone_content = ();
 	my @new_zone_content = ();
@@ -101,14 +115,14 @@
 
 	# kuerzt die schluessel-bezeichnung aus der indexdatei auf die
 	# id um sie besser vergleichen zu koennen.
-	foreach (@keylist) {
+	for (@keylist) {
 		chomp;
 		s#K.*\+.*\+(.*)#$1#;
 	}
 
 	# filtert alle schluessel aus der zonedatei
 	# old_zone_content ==> new_zone_content
-	foreach (@old_zone_content) {
+	for (@old_zone_content) {
 		unless (/IN\sDNSKEY/) {
 			push @new_zone_content, $_;
 		}
@@ -116,12 +130,12 @@
 
 	# prueft alle schluesseldateien (ksk, zsk) ob sie in der jeweiligen
 	# indexdatei beschrieben sind. wenn nicht werden sie geloescht.
-	foreach (`ls $master_dir/$zone/K*[key,private]`){
+	for (`ls $master_dir/$zone/K*[key,private]`){
 		chomp;
 		$file = $_;
 		my $rm_count = 1;
 
-		foreach (@keylist) {
+		for (@keylist) {
 
 			if ($file =~ /$_/) {
 				$rm_count = 0;