diff -r 5509b98ea064 -r 5786a8b53c78 dnssec-creatkey --- a/dnssec-creatkey Wed Jul 14 12:05:41 2010 +0200 +++ b/dnssec-creatkey Wed Jul 14 15:37:27 2010 +0200 @@ -1,12 +1,14 @@ #!/bin/bash set -e +#import aus der dnstools.conf source dnstools.conf - master_dir=$MASTER_DIR key_counter_end=$KEY_COUNTER_END -function test_zsk_new { # prueft ob es einen ZSK gibt + +# gibt alle zonen ohne zsk in die standard-ausgabe +function test_zsk_new { for zone in $master_dir/* do test -f $zone/${zone##*/}.signed || continue @@ -14,7 +16,9 @@ done } -function test_ksk_new { # prueft ob es einen KSK gibt + +# gibt alle zonen ohne ksk in die standard-ausgabe +function test_ksk_new { for zone in $master_dir/* do test -f $zone/${zone##*/}.signed || continue @@ -22,11 +26,12 @@ done } + +# gibt alle zonen mitabgelaufenen keycounter in die standardausgabe function test_zsk_time { # prueft den keycounter for zone in $master_dir/* do test -f $zone/${zone##*/}.signed || continue - key_counter_end=$1 test -f $zone/keycounter || echo 0 > $zone/keycounter key_counter=`< $zone/keycounter` @@ -37,26 +42,29 @@ done } -#prüft die eingegebnen domains + +#prüft die eingegebnen domains und erstellt eine liste for utf8domain in $@ do domain=$(idn --quiet "$utf8domain") if [ -d $master_dir/$domain ] then - zsk_aenderung="$zsk_aenderung $domain" + zsk_manuell="$zsk_manuell $domain" else echo $domain ist keine verwaltete Zone fi done -zsk_time=`test_zsk_time $key_counter_end` +# übergibt die standard-ausgabe aus den funktionen in listen +zsk_time=`test_zsk_time` zsk_new=`test_zsk_new` ksk_new=`test_ksk_new` -for NEW_ZSK_ZONE in $zsk_time $zsk_aenderung # Erstellt ZSK +# erstellt zsks +for NEW_ZSK_ZONE in $zsk_time $zsk_manuell do cd $master_dir/$NEW_ZSK_ZONE echo "erzeugt zsk fuer" $NEW_ZSK_ZONE @@ -67,7 +75,9 @@ echo 0 > keycounter done -for NEW_KSK_ZONE in $zsk_aenderung # Erstellt KSK + +# erstellt ksks +for NEW_KSK_ZONE in $zsk_manuell do cd $master_dir/$NEW_KSK_ZONE echo "erzeugt ksk fuer" $NEW_KSK_ZONE @@ -77,18 +87,18 @@ done - -for ZONE in $zsk_time $zsk_new $ksk_new $zsk_aenderung +# fuegt die schluessel in die zone-datei +for zone in $zsk_time $zsk_manuell do - cd $master_dir/$ZONE + cd $master_dir/$zone #loescht alle Schluessel die nicht in der indexdatei stehen - rm $(ls K*[key,private] | grep -v "`cat .index.zsk`" | grep -v "`cat .index.ksk`") 2> /dev/null + rm $(ls K*[key,private] | grep -v "`cat .index.zsk`" | grep -v "`cat .index.ksk`") 2>/dev/null || true #erzeugt ein backup und entfernt alle schluessel aus der zonedatei - mv $ZONE $ZONE.old - grep -v 'DNSKEY' $ZONE.old >> $ZONE + mv $zone .$zone + grep -v 'DNSKEY' .$zone >> $zone #fuegt die existirenden schluessel in die zonedatei ein - cat K$ZONE.*key >> $ZONE + cat K$zone.*key >> $zone done