dnssec-sign
changeset 38 d50f6874b7ab
parent 37 d3158de72598
child 39 8b46e7c48995
child 43 7e472c559b36
child 45 5dc44dc86f61
--- a/dnssec-sign	Thu Dec 02 16:46:17 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +0,0 @@
-#!/usr/bin/perl 
-
-use strict;
-use warnings;
-use FindBin;
-
-sub del_double {
-    my %all;
-    grep { $all{$_} = 0 } @_;
-    return ( keys %all );
-}
-
-# liest die Konfiguration ein
-my @configs = ( "$FindBin::Bin/dnstools.conf", "/etc/dnstools.conf" );
-my %config;
-
-for ( grep {-f} @configs ) {
-    open( CONFIG, $_ ) or die "Can't open $_: $!\n";
-}
-
-unless ( seek( CONFIG, 0, 0 ) ) {
-    die "Can't open config (searched: @configs)\n";
-}
-
-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 $sign_alert_time = $config{sign_alert_time};
-my $zone;
-my ( @manu, @auto );
-my @zone_sig_content;
-my $sig_date;
-my $kc;
-my $serial_up = 0;
-
-for (@ARGV) {
-    if ( $_ eq "-s" ) {
-        $serial_up = 1;
-        shift @ARGV;
-    }
-}
-
-# prueft zonen aus ARGV und fuegt sie in die liste @manu ein
-for (@ARGV) {
-    chomp( my $zone = `idn --quiet "$_"` );
-
-    if ( -e "$master_dir/$zone/.keycounter" ) {
-        push @manu, $zone;
-    }
-}
-
-chomp( my $unixtime = `date +%s` );
-$unixtime = $unixtime + ( 3600 * $sign_alert_time );
-my $time = `date -d \@$unixtime +%Y%m%d%H`;
-
-# 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.
-for (<$master_dir/*>) {
-    s#($master_dir/)(.*)#$2#;
-    $zone = $_;
-
-    if ( -e "$master_dir/$zone/$zone.signed" ) {
-
-        open( ZONE, "$master_dir/$zone/$zone.signed" );
-        @zone_sig_content = <ZONE>;
-        close(ZONE);
-
-        for (@zone_sig_content) {
-            if (m#SOA.*[0-9]{14}#) {
-                s#.*([0-9]{10})([0-9]{4}).*#$1#;
-                if ( $_ < $time ) {
-                    push @auto, $zone;
-                    `touch $master_dir/$zone/$zone`
-                }
-            }
-        }
-    }
-}
-
-#gibt zonen mit schluessel aber ohne signatur in die liste @auto
-#for (<$master_dir/*>) {
-#    s#($master_dir/)(.*)#$2#;
-#    $zone = $_;
-#
-#    if ( -e "$master_dir/$zone/.keycounter" ) {
-#
-#        open( KC, "$master_dir/$zone/.keycounter" );
-#        $kc = <KC>;
-#        close(KC);
-#
-#        if ( $kc < 1 ) {
-#            push @auto, $zone;
-#        }
-#    }
-#}
-
-# signiert alle zonen in @auto und @manu und erhoeht den wert in
-# der keycounter-datei
-for ( &del_double( @auto, @manu ) ) {
-    $zone = $_;
-
-    chdir "$master_dir/$zone";
-
-    if (`dnssec-signzone $zone 2>/dev/null`) {
-        print "$zone neu signiert \n";
-
-        open( KC, "$master_dir/$zone/.keycounter" );
-        $kc = <KC>;
-        close(KC);
-        $kc += 1;
-        open( KC, ">$master_dir/$zone/.keycounter" );
-        print KC $kc;
-        close(KC);
-
-    }
-    else {
-        print "$zone konnte nicht signiert werden \n";
-    }
-}
-