struct trustAuthInOutBlob password_blob;
struct samba_kdc_entry *p;
bool use_previous = false;
+ bool include_previous = false;
uint32_t current_kvno;
uint32_t previous_kvno;
struct samba_kdc_trust_keys current_keys = {};
} else {
use_previous = false;
}
+
+ if (flags & SDB_F_ADMIN_DATA) {
+ /*
+ * let admin tool
+ * get to all keys
+ */
+ use_previous = false;
+ include_previous = true;
+ }
} else if (kvno == current_kvno) {
/*
* Exact match ...
current_keys.skeys = &entry->keys;
current_keys.available_enctypes = &available_enctypes;
current_keys.returned_kvno = &returned_kvno;
+
+ if (include_previous) {
+ /*
+ * return the old keys in addition.
+ */
+ previous_keys.skeys = &entry->old_keys;
+ }
}
if (current_keys.skeys != NULL) {