to allow for removing all entries with given principal and enctype without
repecting the kvno (i.e. cleaning "old" entries...)
This is called with ignore_kvno == false from libnet_keytab_add_entry() to
keep the original behaviour.
Michael
krb5_keytab keytab,
const char *principal,
int kvno,
- const krb5_enctype enctype)
+ const krb5_enctype enctype,
+ bool ignore_kvno)
{
krb5_error_code ret;
krb5_kt_cursor cursor;
{
char *princ_s = NULL;
- if (kt_entry.vno != kvno) {
+ if (kt_entry.vno != kvno && !ignore_kvno) {
goto cont;
}
/* remove duplicates first ... */
ret = libnet_keytab_remove_entries(context, keytab, princ_s, kvno,
- enctype);
+ enctype, false);
if (ret) {
DEBUG(1, ("libnet_keytab_remove_entries failed: %s\n",
error_message(ret)));