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

Tom Yu tlyu at MIT.EDU
Tue Apr 16 17:31:39 EDT 2013


https://github.com/krb5/krb5/commit/9fae7b50c7217e6aa88a97b762297e30040b2b86
commit 9fae7b50c7217e6aa88a97b762297e30040b2b86
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]
    [tlyu at mit.edu: remove ulog_sync_header call]
    
    (cherry picked from commit 74b3f961e15d2eee5bad93d2a224c10834bbaab8)
    
    ticket: 7607 (new)
    version_fixed: 1.10.5
    status: resolved

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

diff --git a/src/kadmin/dbutil/dump.c b/src/kadmin/dbutil/dump.c
index 2473f48..2fba01f 100644
--- a/src/kadmin/dbutil/dump.c
+++ b/src/kadmin/dbutil/dump.c
@@ -2653,6 +2653,18 @@ 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;
+            }
+
             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