krb5 commit [krb5-1.11]: Reset ulog if database load failed

Tom Yu tlyu at MIT.EDU
Tue Apr 9 23:36:49 EDT 2013


https://github.com/krb5/krb5/commit/74b3f961e15d2eee5bad93d2a224c10834bbaab8
commit 74b3f961e15d2eee5bad93d2a224c10834bbaab8
Author: rbasch <probe at tardis.internal.bright-prospects.com>
Date:   Sun Mar 3 22:55:41 2013 -0500

    Reset ulog if database load failed
    
    If an iprop slave tries to load a dump from the master and it fails,
    reset the ulog header so we take another full dump, instead of
    reporting that the slave is current when it isn't.
    
    [ghudson at mit.edu: commit message]
    
    ticket: 7530
    version_fixed: 1.11.2
    status: resolved

 src/kadmin/dbutil/dump.c |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/src/kadmin/dbutil/dump.c b/src/kadmin/dbutil/dump.c
index e925b0a..67ec9b4 100644
--- a/src/kadmin/dbutil/dump.c
+++ b/src/kadmin/dbutil/dump.c
@@ -2973,6 +2973,20 @@ error:
      */
     if (!(flags & FLAG_UPDATE)) {
         if (exit_status) {
+
+	    /* Re-init ulog so we don't accidentally think we are current */
+            if (log_ctx && log_ctx->iproprole) {
+                log_ctx->ulog->kdb_last_sno = 0;
+                log_ctx->ulog->kdb_last_time.seconds = 0;
+                log_ctx->ulog->kdb_last_time.useconds = 0;
+
+                log_ctx->ulog->kdb_first_sno = 0;
+                log_ctx->ulog->kdb_first_time.seconds = 0;
+                log_ctx->ulog->kdb_first_time.useconds = 0;
+
+                ulog_sync_header(log_ctx->ulog);
+            }
+
             kret = krb5_db_destroy(kcontext, db5util_db_args);
             /*
              * Ignore a not supported error since there is nothing to do about


More information about the cvs-krb5 mailing list