diff options
-rw-r--r-- | h/internal.h | 2 | ||||
-rw-r--r-- | lib/Zinternal.c | 32 |
2 files changed, 6 insertions, 28 deletions
diff --git a/h/internal.h b/h/internal.h index 403e85c..1516138 100644 --- a/h/internal.h +++ b/h/internal.h @@ -140,10 +140,12 @@ Code_t Z_InsertZcodeChecksum(krb5_keyblock *keyblock, ZNotice_t *notice, #define Z_keydata(keyblock) ((keyblock)->contents) #define Z_keylen(keyblock) ((keyblock)->length) #define Z_credskey(creds) (&(creds)->keyblock) +#define Z_enctype(keyblock) ((keyblock)->enctype) #else #define Z_keydata(keyblock) ((keyblock)->keyvalue.data) #define Z_keylen(keyblock) ((keyblock)->keyvalue.length) #define Z_credskey(creds) (&(creds)->session) +#define Z_enctype(keyblock) ((keyblock)->keytype) #endif #ifdef HAVE_KRB5_TICKET_ENC_PART2 diff --git a/lib/Zinternal.c b/lib/Zinternal.c index 4440dfe..169eb67 100644 --- a/lib/Zinternal.c +++ b/lib/Zinternal.c @@ -69,14 +69,14 @@ static struct cksum_map_s { /* source lost in history (an expired internet-draft) */ { 5 /* des3-cbc-md5 */, 9 /* rsa-md5-des3 */ }, - { 7 /* des3-cbc-sha1 */, 12 /* hmac-sha1-des3 */ }, + { 7 /* des3-cbc-sha1 */, 13 /* hmac-sha1-des3 */ }, /* per draft-ietf-krb-wg-crypto-02.txt */ { 16 /* des3-cbc-sha1-kd */, 12 /* hmac-sha1-des3-kd */ }, /* per draft-raeburn-krb-rijndael-krb-02.txt */ - { 17 /* aes128-cts-hmac-sha1-96 */, 10 /* hmac-sha1-96-aes128 */ }, - { 18 /* aes256-cts-hmac-sha1-96 */, 11 /* hmac-sha1-96-aes256 */ }, + { 17 /* aes128-cts-hmac-sha1-96 */, 15 /* hmac-sha1-96-aes128 */ }, + { 18 /* aes256-cts-hmac-sha1-96 */, 16 /* hmac-sha1-96-aes256 */ }, /* per draft-brezak-win2k-krb-rc4-hmac-04.txt */ { 23 /* rc4-hmac */, -138 /* hmac-md5 */ }, @@ -1425,32 +1425,8 @@ Z_InsertZcodeChecksum(krb5_keyblock *keyblock, ZNotice_t *notice, Code_t Z_ExtractEncCksum(krb5_keyblock *keyblock, krb5_enctype *enctype, krb5_cksumtype *cksumtype) { -#if HAVE_KRB5_CREDS_KEYBLOCK_ENCTYPE - *enctype = keyblock->enctype; + *enctype = Z_enctype(keyblock); return Z_krb5_lookup_cksumtype(*enctype, cksumtype); -#else - unsigned int len; - ENCTYPE *val; - int i = 0; - Code_t result; - - result = krb5_keytype_to_enctypes(Z_krb5_ctx, keyblock->keytype, - &len, &val); - if (result) - return result; - - do { - if (i == len) break; - result = Z_krb5_lookup_cksumtype(val[i], cksumtype); - i++; - } while (result != 0); - - if (result) - return result; - - *enctype = val[i-1]; -#endif - return 0; } #endif |