From c4661ee93757e862ca288960822497d373118f65 Mon Sep 17 00:00:00 2001 From: Johan Danielsson Date: Sat, 3 Jan 1998 21:18:12 +0000 Subject: [PATCH] Handle pa-afs3-salt case. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@4260 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/krb5/get_in_tkt.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/krb5/get_in_tkt.c b/lib/krb5/get_in_tkt.c index 5103eef93..0ba0cb9eb 100644 --- a/lib/krb5/get_in_tkt.c +++ b/lib/krb5/get_in_tkt.c @@ -196,7 +196,7 @@ _krb5_extract_ticket(krb5_context context, krb5_timeofday (context, &sec_now); if (context->kdc_sec_offset == 0 - && krb5_config_get_bool (context->cf, + && krb5_config_get_bool (context, NULL, "libdefaults", "kdc_timesync", NULL)) { @@ -563,10 +563,21 @@ krb5_get_in_cred(krb5_context context, int index = 0; pa = krb5_find_padata(rep.part1.padata->val, rep.part1.padata->len, pa_pw_salt, &index); + if(pa == NULL) { + index = 0; + pa = krb5_find_padata(rep.part1.padata->val, + rep.part1.padata->len, + pa_afs3_salt, &index); + } } if(pa) { krb5_keytype keytype; ret = krb5_etype_to_keytype(context, etype, &keytype); + if(pa->padata_type == pa_afs3_salt){ + if(keytype != KEYTYPE_DES) + return KRB5_PROG_KEYTYPE_NOSUPP; + keytype = KEYTYPE_DES_AFS3; + } ret = (*key_proc)(context, keytype, &pa->padata_value, keyseed, &key); } else { /* make a v5 salted pa-data */