aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWill Fiveash <will.fiveash@oracle.com>2008-06-27 22:03:37 +0000
committerWill Fiveash <will.fiveash@oracle.com>2008-06-27 22:03:37 +0000
commit07e3567041a31f8f50b479ace705cce6245945c6 (patch)
tree217fc9d60789eab7bbd50d033d2df8ece0359033
parent9a00975069789cd2788422499e884f0603097a3d (diff)
downloadkrb5-07e3567041a31f8f50b479ace705cce6245945c6.zip
krb5-07e3567041a31f8f50b479ace705cce6245945c6.tar.gz
krb5-07e3567041a31f8f50b479ace705cce6245945c6.tar.bz2
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
-rw-r--r--src/lib/kdb/kdb_default.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/lib/kdb/kdb_default.c b/src/lib/kdb/kdb_default.c
index 2d265a0..4d1b975 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;
}