From: Will Fiveash Date: Fri, 27 Jun 2008 22:03:37 +0000 (+0000) Subject: The logic of the krb5_db_def_fetch_mkey_keytab() was off a bit when checking the... X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=07e3567041a31f8f50b479ace705cce6245945c6;p=thirdparty%2Fkrb5.git The logic of the krb5_db_def_fetch_mkey_keytab() was off a bit when checking the keys against specified kvno and enctypes. The code now correctly check for either kvno, enctype or both if specified git-svn-id: svn://anonsvn.mit.edu/krb5/branches/mkey_keytab@20490 dc483132-0cff-0310-8789-dd5450dbe970 --- diff --git a/src/lib/kdb/kdb_default.c b/src/lib/kdb/kdb_default.c index 2d265a0e7b..4d1b975805 100644 --- a/src/lib/kdb/kdb_default.c +++ b/src/lib/kdb/kdb_default.c @@ -323,9 +323,11 @@ krb5_db_def_fetch_mkey_keytab( krb5_context context, while ((retval = krb5_kt_next_entry(context, kt, &kt_ent, &cursor)) == 0) { - if ((key->enctype != ENCTYPE_UNKNOWN && key->enctype != kt_ent.key.enctype) || - (kvno != NULL && *kvno != IGNORE_VNO && *kvno != kt_ent.vno)) { - + if (key->enctype != ENCTYPE_UNKNOWN && key->enctype != kt_ent.key.enctype) { + krb5_kt_free_entry(context, &kt_ent); + continue; + } + if (kvno != NULL && *kvno != IGNORE_VNO && *kvno != kt_ent.vno) { krb5_kt_free_entry(context, &kt_ent); continue; }