From 55c4e2bb6c380f937f3e2503f43f8978a26df875 Mon Sep 17 00:00:00 2001 From: Johan Danielsson Date: Thu, 22 Jan 1998 22:31:13 +0000 Subject: [PATCH] Merge entries for KEYTYPE_DES and KEYTYPE_DES_AFS3. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@4347 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/krb5/str2key.c | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/lib/krb5/str2key.c b/lib/krb5/str2key.c index 214b07b08..e6b9ae135 100644 --- a/lib/krb5/str2key.c +++ b/lib/krb5/str2key.c @@ -384,25 +384,21 @@ string_to_key_internal (const unsigned char *str, unsigned char *s = NULL; krb5_error_code ret; - switch(ktype){ + switch(ktype & KEYTYPE_KEYTYPE_MASK){ case KEYTYPE_DES:{ des_cblock tmpkey; - s = get_str(str, str_len, salt->data, salt->length, &len); - if(s == NULL) - return ENOMEM; - DES_string_to_key(s, len, &tmpkey); + if(ktype & KEYTYPE_USE_AFS3_SALT) + AFS3_string_to_key(str, str_len, salt->data, salt->length, &tmpkey); + else{ + s = get_str(str, str_len, salt->data, salt->length, &len); + if(s == NULL) + return ENOMEM; + DES_string_to_key(s, len, &tmpkey); + } ret = krb5_data_copy(&key->keyvalue, tmpkey, sizeof(des_cblock)); memset(&tmpkey, 0, sizeof(tmpkey)); break; } - case KEYTYPE_DES_AFS3:{ - des_cblock tmpkey; - AFS3_string_to_key(str, str_len, salt->data, salt->length, &tmpkey); - ret = krb5_data_copy(&key->keyvalue, tmpkey, sizeof(des_cblock)); - key->keytype = KEYTYPE_DES; - memset(&tmpkey, 0, sizeof(tmpkey)); - break; - } case KEYTYPE_DES3:{ des_cblock keys[3]; s = get_str(str, str_len, salt->data, salt->length, &len); @@ -423,7 +419,7 @@ string_to_key_internal (const unsigned char *str, } if(ret) return ret; - key->keytype = ktype; + key->keytype = ktype & KEYTYPE_KEYTYPE_MASK; return 0; }