diff options
author | Will Fiveash <will.fiveash@oracle.com> | 2008-06-27 22:03:37 +0000 |
---|---|---|
committer | Will Fiveash <will.fiveash@oracle.com> | 2008-06-27 22:03:37 +0000 |
commit | 07e3567041a31f8f50b479ace705cce6245945c6 (patch) | |
tree | 217fc9d60789eab7bbd50d033d2df8ece0359033 | |
parent | 9a00975069789cd2788422499e884f0603097a3d (diff) | |
download | krb5-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.c | 8 |
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; } |