dnssec-killkey
changeset 31 1cea07056124
parent 30 5ac92c1ffdf9
child 32 d1addc2ec712
equal deleted inserted replaced
30:5ac92c1ffdf9 31:1cea07056124
     1 #!/usr/bin/perl -w
     1 #!/usr/bin/perl -w
     2 
     2 
     3 use strict;
     3 use strict;
     4 use FindBin;
     4 use FindBin;
       
     5 
       
     6 sub del_double {
       
     7     my %all;
       
     8     grep { $all{$_} = 0 } @_;
       
     9     return ( keys %all );
       
    10 }
     5 
    11 
     6 # liest die Konfiguration ein
    12 # liest die Konfiguration ein
     7 my @configs = ( "$FindBin::Bin/dnstools.conf", "/etc/dnstools.conf" );
    13 my @configs = ( "$FindBin::Bin/dnstools.conf", "/etc/dnstools.conf" );
     8 my %config;
    14 my %config;
     9 
    15 
   127 }
   133 }
   128 
   134 
   129 # nach abgeschlossenem key-rollover werden fuer die entsprechende zone
   135 # nach abgeschlossenem key-rollover werden fuer die entsprechende zone
   130 # unbenoetigte schluessel entfernt und die vorhandenen schluessel in die
   136 # unbenoetigte schluessel entfernt und die vorhandenen schluessel in die
   131 # zonedatei geschrieben.
   137 # zonedatei geschrieben.
   132 for (@auto) {
   138 for ( &del_double(@auto) ) {
   133     my $zone             = $_;
   139     my $zone             = $_;
   134     my @old_zone_content = ();
   140     my @old_zone_content = ();
   135     my @new_zone_content = ();
   141     my @new_zone_content = ();
   136     my @kkeylist         = ();
   142     my @kkeylist         = ();
   137     my @zkeylist         = ();
   143     my @zkeylist         = ();
   152     @old_zone_content = <ZONE>;
   158     @old_zone_content = <ZONE>;
   153     close(ZONE);
   159     close(ZONE);
   154 
   160 
   155     # kuerzt die schluessel-bezeichnung aus der indexdatei auf die
   161     # kuerzt die schluessel-bezeichnung aus der indexdatei auf die
   156     # id um sie besser vergleichen zu koennen.
   162     # id um sie besser vergleichen zu koennen.
   157     for (@kkeylist, @zkeylist) {
   163     for ( @kkeylist, @zkeylist ) {
   158         chomp;
   164         chomp;
   159         s#K.*\+.*\+(.*)#$1#;
   165         s#K.*\+.*\+(.*)#$1#;
   160     }
   166     }
   161 
   167 
   162     # filtert alle schluessel aus der zonedatei
   168     # filtert alle schluessel aus der zonedatei
   182                 # schluessel die in der indexdatei standen, werden an die
   188                 # schluessel die in der indexdatei standen, werden an die
   183                 # zonedatei angehangen.
   189                 # zonedatei angehangen.
   184                 if ( $file =~ /.*key/ ) {
   190                 if ( $file =~ /.*key/ ) {
   185 
   191 
   186                     $file =~ s#/.*/(K.*)#$1#;
   192                     $file =~ s#/.*/(K.*)#$1#;
   187                     push @new_zone_content, "\$INCLUDE \"$file\"\t\t; dnssec-zsk\n" ;
   193                     push @new_zone_content,
       
   194                         "\$INCLUDE \"$file\"\t\t; dnssec-zsk\n";
   188 
   195 
   189                     last;
   196                     last;
   190                 }
   197                 }
   191             }
   198             }
   192         }
   199         }
   198                 # schluessel die in der indexdatei standen, werden an die
   205                 # schluessel die in der indexdatei standen, werden an die
   199                 # zonedatei angehangen.
   206                 # zonedatei angehangen.
   200                 if ( $file =~ /.*key/ ) {
   207                 if ( $file =~ /.*key/ ) {
   201 
   208 
   202                     $file =~ s#/.*/(K.*)#$1#;
   209                     $file =~ s#/.*/(K.*)#$1#;
   203                     push @new_zone_content, "\$INCLUDE \"$file\"\t\t; dnssec-ksk\n" ;
   210                     push @new_zone_content,
       
   211                         "\$INCLUDE \"$file\"\t\t; dnssec-ksk\n";
   204 
   212 
   205                     last;
   213                     last;
   206                 }
   214                 }
   207             }
   215             }
   208         }
   216         }