[Opendnssec-commits] [keihatsu.kirei.se/svn/dnssec] r4084 - trunk/OpenDNSSEC/signer/src/daemon

Matthijs Mekking matthijs at nlnetlabs.nl
Tue Oct 12 12:23:32 CEST 2010


Author: matthijs
Date: 2010-10-12 12:23:32 +0200 (Tue, 12 Oct 2010)
New Revision: 4084

Modified:
   trunk/OpenDNSSEC/signer/src/daemon/worker.c
Log:
continue signing previous known good zone if update failed



Modified: trunk/OpenDNSSEC/signer/src/daemon/worker.c
===================================================================
--- trunk/OpenDNSSEC/signer/src/daemon/worker.c	2010-10-12 10:17:54 UTC (rev 4083)
+++ trunk/OpenDNSSEC/signer/src/daemon/worker.c	2010-10-12 10:23:32 UTC (rev 4084)
@@ -186,7 +186,10 @@
             if (tools_read_input(zone) != 0) {
                 se_log_error("task [read zone %s] failed",
                     task->who?task->who:"(null)");
-                goto task_perform_fail;
+                task->what = TASK_SIGN;
+                task->when = time_now() +
+                    duration2time(zone->signconf->sig_resign_interval);
+                goto task_perform_continue;
                 break;
             }
             task->what = TASK_ADDKEYS;
@@ -194,7 +197,10 @@
             if (tools_add_dnskeys(zone) != 0) {
                 se_log_error("task [add dnskeys to zone %s] failed",
                     task->who?task->who:"(null)");
-                goto task_perform_fail;
+                task->what = TASK_SIGN;
+                task->when = time_now() +
+                    duration2time(zone->signconf->sig_resign_interval);
+                goto task_perform_continue;
                 break;
             }
             task->what = TASK_UPDATE;
@@ -202,7 +208,10 @@
             if (tools_update(zone) != 0) {
                 se_log_error("task [update zone %s] failed",
                     task->who?task->who:"(null)");
-                goto task_perform_fail;
+                task->what = TASK_SIGN;
+                task->when = time_now() +
+                    duration2time(zone->signconf->sig_resign_interval);
+                goto task_perform_continue;
                 break;
             }
             task->what = TASK_NSECIFY;
@@ -268,8 +277,9 @@
     } else {
         zone->backoff = 60;
     }
+    task->when += zone->backoff;
 
-    task->when += zone->backoff;
+task_perform_continue:
     return;
 }
 




More information about the Opendnssec-commits mailing list