dnssec-sign
changeset 21 6715f8f9d04c
parent 20 5b52190d8750
child 22 7229d1c95ea8
equal deleted inserted replaced
20:5b52190d8750 21:6715f8f9d04c
     9 my @zone_sig_content;
     9 my @zone_sig_content;
    10 my $sig_date;
    10 my $sig_date;
    11 my $kc;
    11 my $kc;
    12 
    12 
    13 # prueft zonen aus ARGV und fuegt sie in die liste @manu ein
    13 # prueft zonen aus ARGV und fuegt sie in die liste @manu ein
    14 foreach (@ARGV) {
    14 for (@ARGV) {
    15 	chomp ($zone = `idn --quiet $_`);
    15 	chomp ($zone = `idn --quiet $_`);
    16 	if (-e "$master_dir/$zone") {
    16 	if (-e "$master_dir/$zone") {
    17 		push @manu, $zone;
    17 		push @manu, $zone;
    18 	} else {
    18 	} else {
    19 		print "$zone ist keine verwaltete zone \n";
    19 		print "$zone ist keine verwaltete zone \n";
    28 my $time = `date -d \@$unixtime +%Y%m%d%H`;
    28 my $time = `date -d \@$unixtime +%Y%m%d%H`;
    29 
    29 
    30 # vergleicht fuer alle zonen im ordner $master_dir mit einer
    30 # vergleicht fuer alle zonen im ordner $master_dir mit einer
    31 # <zone>.signed-datei den zeitpunkt in $time mit dem ablaufdatum der
    31 # <zone>.signed-datei den zeitpunkt in $time mit dem ablaufdatum der
    32 # signatur, welcher aus der datei <zone>.signed ausgelesen wird.
    32 # signatur, welcher aus der datei <zone>.signed ausgelesen wird.
    33 foreach (`ls $master_dir`) {
    33 for (<$master_dir/*>) {
    34 	chomp ($zone = $_);
    34 	s#($master_dir/)(.*)#$2#;
       
    35 	$zone = $_;
    35 
    36 
    36 	if (-e "$master_dir/$zone/$zone.signed") {
    37 	if (-e "$master_dir/$zone/$zone.signed") {
    37 
    38 
    38 		open (ZONE, "$master_dir/$zone/$zone.signed");
    39 		open (ZONE, "$master_dir/$zone/$zone.signed");
    39 		@zone_sig_content = <ZONE>;
    40 		@zone_sig_content = <ZONE>;
    49 		}
    50 		}
    50 	}
    51 	}
    51 }
    52 }
    52 
    53 
    53 #gibt zonen mit schluessel aber ohne signatur in die liste @auto
    54 #gibt zonen mit schluessel aber ohne signatur in die liste @auto
    54 foreach (`ls $master_dir`) {
    55 for (<$master_dir/*>) {
    55 	chomp ($zone = $_);
    56 	s#($master_dir/)(.*)#$2#;
       
    57 	$zone = $_;
    56 
    58 
       
    59 
       
    60 	print $zone;
    57 	if (-e "$master_dir/$zone/.keycounter") {
    61 	if (-e "$master_dir/$zone/.keycounter") {
    58 
    62 
    59 		open (KC, "$master_dir/$zone/.keycounter" );
    63 		open (KC, "$master_dir/$zone/.keycounter" );
    60 		$kc = <KC>;
    64 		$kc = <KC>;
    61 		close (KC);
    65 		close (KC);
    66 	}
    70 	}
    67 }
    71 }
    68 
    72 
    69 # signiert alle zonen in @auto und @manu und erhoeht den wert in
    73 # signiert alle zonen in @auto und @manu und erhoeht den wert in
    70 # der keycounter-datei
    74 # der keycounter-datei
    71 foreach (@auto, @manu) {
    75 for (@auto, @manu) {
    72 	$zone = $_ ;
    76 	$zone = $_ ;
    73 
    77 
    74 	chdir "$master_dir/$zone";
    78 	chdir "$master_dir/$zone";
    75 
    79 
    76 	if (`dnssec-signzone $zone 2>/dev/null`) {
    80 	if (`dnssec-signzone $zone 2>/dev/null`) {