dnssec-killkey
changeset 32 d1addc2ec712
parent 31 1cea07056124
child 33 d3269961e944
equal deleted inserted replaced
31:1cea07056124 32:d1addc2ec712
    36 my $master_dir  = $config{master_dir};
    36 my $master_dir  = $config{master_dir};
    37 my $ablauf_zeit = $config{abl_zeit};
    37 my $ablauf_zeit = $config{abl_zeit};
    38 my $zone;
    38 my $zone;
    39 my @status;
    39 my @status;
    40 my @auto;
    40 my @auto;
       
    41 my @manu;
    41 my @old_zone_content;
    42 my @old_zone_content;
    42 my @new_zone_content;
    43 my @new_zone_content;
    43 chomp( my $now_time = `date +%s` );    # aktuelle unixzeit
    44 chomp( my $now_time = `date +%s` );    # aktuelle unixzeit
    44 
    45 
    45 # prueft zonen aus ARGV und loescht das schluesselmaterial
    46 # prueft zonen aus ARGV und loescht das schluesselmaterial
    55         if ( -e "$zdir/.index.ksk" )    { unlink "$zdir/.index.ksk" }
    56         if ( -e "$zdir/.index.ksk" )    { unlink "$zdir/.index.ksk" }
    56         if ( -e "$zdir/.index.zsk" )    { unlink "$zdir/.index.zsk" }
    57         if ( -e "$zdir/.index.zsk" )    { unlink "$zdir/.index.zsk" }
    57         if ( -e "$zdir/dsset-$zone." )  { unlink "$zdir/dsset-$zone." }
    58         if ( -e "$zdir/dsset-$zone." )  { unlink "$zdir/dsset-$zone." }
    58         if ( -e "$zdir/keyset-$zone." ) { unlink "$zdir/keyset-$zone." }
    59         if ( -e "$zdir/keyset-$zone." ) { unlink "$zdir/keyset-$zone." }
    59         for (`ls $master_dir/$zone/K*[key,private]`) { unlink $_ }
    60         for (`ls $master_dir/$zone/K*[key,private]`) { unlink $_ }
    60     }
    61 
    61 
    62         print "keys removed \n";
    62     open( ZONE, "$master_dir/$zone/$zone" )
    63         
    63         or die "$master_dir/$zone/$zone: $!\n";
    64         open( ZONE, "$master_dir/$zone/$zone" )
    64     @old_zone_content = <ZONE>;
    65             or die "$master_dir/$zone/$zone: $!\n";
    65     close(ZONE);
    66         @old_zone_content = <ZONE>;
    66 
    67         close(ZONE);
    67     for (@old_zone_content) {
    68         
    68         unless (/dnssec-(ksk|zsk)/) {
    69         for (@old_zone_content) {
    69             push @new_zone_content, $_;
    70             unless (/dnssec-(ksk|zsk)/) {
    70         }
    71                 push @new_zone_content, $_;
    71     }
    72             }
    72 
    73         }
    73     open( ZONE, ">$master_dir/$zone/$zone" )
    74 
    74         or die "$master_dir/$zone/$zone: $!\n";
    75         open( ZONE, ">$master_dir/$zone/$zone" )
    75     print ZONE @new_zone_content;
    76             or die "$master_dir/$zone/$zone: $!\n";
    76     close(ZONE);
    77         print ZONE @new_zone_content;
    77 
    78         close(ZONE);
       
    79         
       
    80         push @manu, $zone;
       
    81     }
    78 }
    82 }
    79 
    83 
    80 # beendet den key-rollover
    84 # beendet den key-rollover
    81 for (<$master_dir/*>) {
    85 for (<$master_dir/*>) {
    82     $zone = $_;
    86     $zone = $_;
   226     print ZONE @new_zone_content;
   230     print ZONE @new_zone_content;
   227     close(ZONE);
   231     close(ZONE);
   228 
   232 
   229     print "$master_dir/$zone/$zone wurde neu erstellt \n";
   233     print "$master_dir/$zone/$zone wurde neu erstellt \n";
   230 }
   234 }
       
   235 
       
   236 # "toucht" alle zonen damit der serial erhoht wird und die
       
   237 # zone neu signiert wird
       
   238 for ( &del_double( @auto, @manu ) ) {
       
   239         system "touch $master_dir/$_/$_";
       
   240 }
       
   241