summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Basch <probe@mit.edu>1996-03-22 04:53:25 +0000
committerRichard Basch <probe@mit.edu>1996-03-22 04:53:25 +0000
commitbda2836b2ea9c37135801ce2f7d8f912029c8cb8 (patch)
treec92f397a4c133ab898d50505c8f535612c7da5ba
parentb47ab4858c2620ecce3f4ee5e5afa86a2e8dd2be (diff)
downloadkrb5-bda2836b2ea9c37135801ce2f7d8f912029c8cb8.tar.gz
krb5-bda2836b2ea9c37135801ce2f7d8f912029c8cb8.tar.xz
krb5-bda2836b2ea9c37135801ce2f7d8f912029c8cb8.zip
all des enctypes are equivalent (interim checkin until I create a function
to check the key equivalency of two enctypes). git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@7701 dc483132-0cff-0310-8789-dd5450dbe970
-rw-r--r--src/lib/krb5/keytab/file/ChangeLog4
-rw-r--r--src/lib/krb5/keytab/file/ktf_g_ent.c25
2 files changed, 27 insertions, 2 deletions
diff --git a/src/lib/krb5/keytab/file/ChangeLog b/src/lib/krb5/keytab/file/ChangeLog
index 006f194b4..385e254c8 100644
--- a/src/lib/krb5/keytab/file/ChangeLog
+++ b/src/lib/krb5/keytab/file/ChangeLog
@@ -1,3 +1,7 @@
+Tue Mar 19 22:28:43 1996 Richard Basch <basch@lehman.com>
+
+ * ktf_g_ent.c (krb5_ktfile_get_entry): all des enctypes are equivalent
+
Thu Jan 25 15:52:34 1996 Sam Hartman <hartmans@tertius.mit.edu>
* ktf_g_ent.c (krb5_ktfile_get_entry): Match against enctype.
diff --git a/src/lib/krb5/keytab/file/ktf_g_ent.c b/src/lib/krb5/keytab/file/ktf_g_ent.c
index e0688336e..9a76ce4cd 100644
--- a/src/lib/krb5/keytab/file/ktf_g_ent.c
+++ b/src/lib/krb5/keytab/file/ktf_g_ent.c
@@ -53,11 +53,32 @@ krb5_ktfile_get_entry(context, id, principal, kvno, enctype, entry)
cur_entry.vno = 0;
cur_entry.key.contents = 0;
while (TRUE) {
+ krb5_enctype entry_type;
+
if ((kerror = krb5_ktfileint_read_entry(context, id, &new_entry)))
break;
- if (((enctype == IGNORE_ENCTYPE)||
- (new_entry.key.enctype == enctype))&&
+ switch (enctype) {
+ case ENCTYPE_DES_CBC_CRC:
+ case ENCTYPE_DES_CBC_MD5:
+ case ENCTYPE_DES_CBC_MD4:
+ case ENCTYPE_DES_CBC_RAW:
+ enctype = ENCTYPE_DES_CBC_CRC;
+ break;
+ }
+
+ entry_type = new_entry.key.enctype;
+ switch(entry_type) {
+ case ENCTYPE_DES_CBC_CRC:
+ case ENCTYPE_DES_CBC_MD5:
+ case ENCTYPE_DES_CBC_MD4:
+ case ENCTYPE_DES_CBC_RAW:
+ entry_type = ENCTYPE_DES_CBC_CRC;
+ break;
+ }
+
+ if (((enctype == IGNORE_ENCTYPE)||
+ (entry_type == enctype))&&
krb5_principal_compare(context, principal, new_entry.principal)) {
if (kvno == IGNORE_VNO) {
if (cur_entry.vno < new_entry.vno) {