From: Tom Yu Date: Fri, 30 Apr 1999 04:09:15 +0000 (+0000) Subject: * kerberos_v4.c (kerberos_v4): Fix bug where krb_create_ticket() X-Git-Tag: krb5-1.1-beta1~185 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=c44c39734e3d53a7abf79ffb0f09bf4ea7bf13cd;p=krb5.git * kerberos_v4.c (kerberos_v4): Fix bug where krb_create_ticket() was getting called for an APPL_REQUEST even when there was no single-DES key, resulting in random weirdness. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@11412 dc483132-0cff-0310-8789-dd5450dbe970 --- diff --git a/src/kdc/ChangeLog b/src/kdc/ChangeLog index 398b55e47..f05b0d796 100644 --- a/src/kdc/ChangeLog +++ b/src/kdc/ChangeLog @@ -1,3 +1,9 @@ +Fri Apr 30 00:05:07 1999 Tom Yu + + * kerberos_v4.c (kerberos_v4): Fix bug where krb_create_ticket() + was getting called for an APPL_REQUEST even when there was no + single-DES key, resulting in random weirdness. + Wed Feb 17 17:07:43 1999 Tom Yu * do_as_req.c (process_as_req): Fix to assign kvno to diff --git a/src/kdc/kerberos_v4.c b/src/kdc/kerberos_v4.c index a1efd8b37..4dbd4252c 100644 --- a/src/kdc/kerberos_v4.c +++ b/src/kdc/kerberos_v4.c @@ -885,11 +885,22 @@ kerberos_v4(client, pkt) des_new_random_key(session_key); #endif - krb_create_ticket(tk, k_flags, ad->pname, ad->pinst, - ad->prealm, client_host.s_addr, - (char *) session_key, lifetime, kerb_time.tv_sec, - s_name_data.name, s_name_data.instance, - key); + if (K4KDC_ENCTYPE_OK(k5key.enctype)) { + krb_create_ticket(tk, k_flags, ad->pname, ad->pinst, + ad->prealm, client_host.s_addr, + (char *) session_key, lifetime, + kerb_time.tv_sec, + s_name_data.name, s_name_data.instance, + key); + } else { + krb_cr_tkt_krb5(tk, k_flags, ad->pname, ad->pinst, + ad->prealm, client_host.s_addr, + (char *) session_key, lifetime, + kerb_time.tv_sec, + s_name_data.name, s_name_data.instance, + &k5key); + } + krb5_free_keyblock_contents(kdc_context, &k5key); memset(key, 0, sizeof(key)); memset(key_s, 0, sizeof(key_s));