From: | ghudson@mit.edu |
Subject: | SVN Commit |
Fix iprop log reinitialization
If the master iprop log is reinitialized to serial number 0, slaves
will need to take a full dump--but after that happens, we need to know
whether the slave has taken that full dump, we we don't offering full
dumps indefinitely.
So, record a timestamp in kdb_last_time when we reinitialize the log
header, and compare the slave timestamp to kdb_last_time whenever it
has the current serial number, even if it's 0. Test this by
performing a propagation with sno 0 in t_iprop.py and detecting
whether kpropd gets a second UPDATE_FULL_RESYNC_NEEDED response from
kadmind.
https://github.com/krb5/krb5/commit/7665c0677b59574c2c7ccd016221f8f4beafd279
Author: Greg Hudson <ghudson@mit.edu>
Commit: 7665c0677b59574c2c7ccd016221f8f4beafd279
Branch: master
src/include/kdb_log.h | 1 +
src/kadmin/dbutil/dump.c | 8 +-----
src/kadmin/dbutil/kdb5_create.c | 7 +----
src/lib/kdb/kdb_log.c | 53 +++++++++++++++++++++++++++++---------
src/lib/kdb/libkdb5.exports | 1 +
src/slave/kpropd.c | 2 +
src/slave/kproplog.c | 12 +--------
src/tests/t_iprop.py | 8 ++---
8 files changed, 50 insertions(+), 42 deletions(-)