From 38c1e82455950d58049d31ba3ac3557e328b9950 Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Sun, 13 Jul 1997 07:25:10 +0000 Subject: [PATCH] (tgs_rep): support keyed checksums git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2250 ec53bebd-3082-4978-b11e-865c3cabbd6b --- kdc/kerberos5.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/kdc/kerberos5.c b/kdc/kerberos5.c index fe1097e88..35d9ce4d2 100644 --- a/kdc/kerberos5.c +++ b/kdc/kerberos5.c @@ -357,6 +357,8 @@ tgs_rep(krb5_context context, if(ret) return ret; + tgt = &ticket->tkt; + { krb5_authenticator auth; size_t len; @@ -366,13 +368,15 @@ tgs_rep(krb5_context context, return KRB5KRB_AP_ERR_INAPP_CKSUM; /* XXX */ if (auth->cksum->cksumtype != CKSUMTYPE_RSA_MD4 && - auth->cksum->cksumtype != CKSUMTYPE_RSA_MD5) + auth->cksum->cksumtype != CKSUMTYPE_RSA_MD5 && + auth->cksum->cksumtype != CKSUMTYPE_RSA_MD5_DES) return KRB5KRB_AP_ERR_INAPP_CKSUM; /* XXX */ encode_KDC_REQ_BODY(buf + sizeof(buf) - 1, sizeof(buf), b, &len); ret = krb5_verify_checksum(context, buf + sizeof(buf) - len, len, + &tgt->key, auth->cksum); if(ret) return ret; @@ -388,8 +392,6 @@ tgs_rep(krb5_context context, return KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN; } - tgt = &ticket->tkt; - client = db_fetch(context, &tgt->cname, tgt->crealm); if(client == NULL) return KRB5KDC_ERR_C_PRINCIPAL_UNKNOWN;