--- a/dnssec-creatkey Wed Jul 28 14:14:47 2010 +0200
+++ b/dnssec-creatkey Thu Jul 29 14:19:56 2010 +0200
@@ -4,7 +4,6 @@
my $master_dir="/etc/bind/master"; # verzeichnis fuer bind
my $key_counter_end="10"; # ablauf des schluessels
-my @zones = `ls $master_dir`; # alle verwalteten zonen
my @change; # liste abgelaufener zonen
my @manu; # liste manuell eingegebener zonen aus ARGV
my @index;
@@ -12,7 +11,7 @@
my $keyname;
# prueft ob eingaben in ARGV domains sind und gibt sie in die liste @manu
-foreach (@ARGV) {
+for (@ARGV) {
chomp ($zone = `idn --quiet "$_"`);
if (-e "$master_dir/$zone") {
@@ -23,24 +22,25 @@
}
# gibt alle zonen mit abgelaufenen keycounter in die liste @change
-foreach (@zones) {
+for (<$master_dir/*>) {
chomp ($zone = $_);
my $key;
- if (-e "$master_dir/$zone/.keycounter") {
+ if (-e "$zone/.keycounter") {
- open (KEY, "$master_dir/$zone/.keycounter");
+ open (KEY, "$zone/.keycounter");
$key = <KEY>;
close (KEY);
if ($key_counter_end < $key) {
+ $zone =~ s#($master_dir/)(.*)#$2#;
push (@change, $zone);
}
}
}
#erzeugt zsks
-foreach (@change, @manu) {
+for (@change, @manu) {
$zone = $_;
chdir "$master_dir/$zone" or die "chdir nach / nicht moeglich: $1";
@@ -72,7 +72,7 @@
}
#erzeugt ksks
-foreach (@manu) {
+for (@manu) {
$zone = $_;
chdir "$master_dir/$zone" or die "chdir nach / nicht moeglich: $1";
@@ -102,7 +102,7 @@
# loescht alle unbenoetigten schluessel, fuegt die schluessel in
# die zone-datei
-foreach (@change, @manu) {
+for (@change, @manu) {
$zone = $_;
my @old_zone_content = ();
my @new_zone_content = ();
--- a/dnssec-killkey Wed Jul 28 14:14:47 2010 +0200
+++ b/dnssec-killkey Thu Jul 29 14:19:56 2010 +0200
@@ -3,14 +3,14 @@
use strict;
my $master_dir="/etc/bind/master"; # ordner fuer die einzelnen zonedateiordner
-my $ablauf_zeit="48"; # zeit fuer den key-rollover in h
+my $ablauf_zeit="1"; # zeit fuer den key-rollover in h
my $zone;
my @status;
my @auto;
chomp (my $now_time=`date +%s`); # aktuelle unixzeit
# prueft zonen aus ARGV und loescht das schluesselmaterial
-foreach (@ARGV) {
+for (@ARGV) {
chomp ($zone = `idn --quiet $_`);
my $zdir = "$master_dir/$zone";
if (-e "$master_dir/$zone") {
@@ -30,8 +30,10 @@
}
# beendet den key-rollover
-foreach (`ls $master_dir`) {
- chomp ($zone = $_);
+for (<$master_dir/*>) {
+ $zone = $_;
+ $zone =~ s#($master_dir/)(.*)#$2#;
+
my @index = ();
my $index_wc;
--- a/dnssec-sign Wed Jul 28 14:14:47 2010 +0200
+++ b/dnssec-sign Thu Jul 29 14:19:56 2010 +0200
@@ -11,7 +11,7 @@
my $kc;
# prueft zonen aus ARGV und fuegt sie in die liste @manu ein
-foreach (@ARGV) {
+for (@ARGV) {
chomp ($zone = `idn --quiet $_`);
if (-e "$master_dir/$zone") {
push @manu, $zone;
@@ -30,8 +30,9 @@
# vergleicht fuer alle zonen im ordner $master_dir mit einer
# <zone>.signed-datei den zeitpunkt in $time mit dem ablaufdatum der
# signatur, welcher aus der datei <zone>.signed ausgelesen wird.
-foreach (`ls $master_dir`) {
- chomp ($zone = $_);
+for (<$master_dir/*>) {
+ s#($master_dir/)(.*)#$2#;
+ $zone = $_;
if (-e "$master_dir/$zone/$zone.signed") {
@@ -51,9 +52,12 @@
}
#gibt zonen mit schluessel aber ohne signatur in die liste @auto
-foreach (`ls $master_dir`) {
- chomp ($zone = $_);
+for (<$master_dir/*>) {
+ s#($master_dir/)(.*)#$2#;
+ $zone = $_;
+
+ print $zone;
if (-e "$master_dir/$zone/.keycounter") {
open (KC, "$master_dir/$zone/.keycounter" );
@@ -68,7 +72,7 @@
# signiert alle zonen in @auto und @manu und erhoeht den wert in
# der keycounter-datei
-foreach (@auto, @manu) {
+for (@auto, @manu) {
$zone = $_ ;
chdir "$master_dir/$zone";
--- a/mkready Wed Jul 28 14:14:47 2010 +0200
+++ b/mkready Thu Jul 29 14:19:56 2010 +0200
@@ -5,17 +5,18 @@
my $bind_dir = "/etc/bind";
my $conf_dir = "/etc/bind/zones.d";
my $master_dir = "/etc/bind/master";
-chomp (my @domains = `ls $master_dir`);
chomp (my @conf_dir_files = `ls $conf_dir`);
# prueft jede domain, die ein verzeichnis in $master_dir hat, ob es eine
# datei $zone_file.signed gibt und ob diese datei in $config_file eingetragen
# ist.
# passt die eintraege in $config_file falls noetig an.
-foreach (@domains) {
- my $domain = $_;
- my $zone_file = "$master_dir/$domain/$domain";
- my $conf_file = "$conf_dir/$domain";
+for (<$master_dir/*>) {
+ s#($master_dir/)(.*)#$2#;
+ my $zone = $_;
+
+ my $zone_file = "$master_dir/$zone/$zone";
+ my $conf_file = "$conf_dir/$zone";
my @c_content;
if (-e "$zone_file.signed") {
--- a/zone-ls Wed Jul 28 14:14:47 2010 +0200
+++ b/zone-ls Thu Jul 29 14:19:56 2010 +0200
@@ -3,13 +3,12 @@
use strict;
my $master_dir = "/etc/bind/master";
-chomp (my @domains = `ls $master_dir`);
-
printf "%-25s %1s/%1s %3s %7s\n", "Domain", "ZSK", "KSK", "Used", "Sig-end";
+foreach (<$master_dir/*>) {
+ s#($master_dir/)(.*)#$2#;
+ my $zone = $_;
-foreach (@domains) {
- my $domain = $_;
my $info_zsk;
my $info_ksk;
my $info_kc;
@@ -17,20 +16,20 @@
my @temp;
#prueft wie viele zsks genutzt werden
- open(FILE, "$master_dir/$domain/.index.zsk");
+ open(FILE, "$master_dir/$zone/.index.zsk");
@temp = <FILE>;
close(FILE);
$info_zsk = @temp;
#prueft wie viele ksks genutzt werden
- open(FILE, "$master_dir/$domain/.index.ksk");
+ open(FILE, "$master_dir/$zone/.index.ksk");
@temp = <FILE>;
close(FILE);
$info_ksk = @temp;
#prueft wie oft die schluessel zum signieren genutzt wurden
- if (-e "$master_dir/$domain/.keycounter") {
- open(FILE, "$master_dir/$domain/.keycounter");
+ if (-e "$master_dir/$zone/.keycounter") {
+ open(FILE, "$master_dir/$zone/.keycounter");
chomp ($info_kc = <FILE>);
close(FILE);
} else {
@@ -38,8 +37,8 @@
}
#prueft das ablaufdatum
- if (-e "$master_dir/$domain/$domain.signed") {
- open(FILE, "$master_dir/$domain/$domain.signed");
+ if (-e "$master_dir/$zone/$zone.signed") {
+ open(FILE, "$master_dir/$zone/$zone.signed");
@temp = <FILE>;
close (FILE);
@@ -53,6 +52,6 @@
$info_end = "-";
}
- printf "%-25s %1s/%1s %5s %19s\n", $domain, $info_zsk, $info_ksk, $info_kc, $info_end;
+ printf "%-25s %1s/%1s %5s %19s\n", $zone, $info_zsk, $info_ksk, $info_kc, $info_end;
}