]> git.ipfire.org Git - thirdparty/krb5.git/commitdiff
Reset ulog if database load failed
authorrbasch <probe@tardis.internal.bright-prospects.com>
Mon, 4 Mar 2013 03:55:41 +0000 (22:55 -0500)
committerTom Yu <tlyu@mit.edu>
Wed, 24 Apr 2013 02:38:41 +0000 (22:38 -0400)
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@mit.edu: commit message]
[tlyu@mit.edu: remove ulog_sync_header call]

(cherry picked from commit 74b3f961e15d2eee5bad93d2a224c10834bbaab8)

(cherry picked from commit 9fae7b50c7217e6aa88a97b762297e30040b2b86)

ticket: 7624 (new)
version_fixed: 1.9.5
status: resolved

src/kadmin/dbutil/dump.c

index 9c910248ca519b48b55911121a352ef183703c1c..17d8bd3cf7813950433f955362b401a597189eb6 100644 (file)
@@ -2690,6 +2690,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