From b978944405aa268cdfc39579dc3faf82eca2e9d9 Mon Sep 17 00:00:00 2001 From: Johan Danielsson Date: Thu, 22 Jan 1998 23:34:07 +0000 Subject: [PATCH] Cleanup some ktype-etype code. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@4355 ec53bebd-3082-4978-b11e-865c3cabbd6b --- kdc/kerberos5.c | 41 ++++++++++++----------------------------- 1 file changed, 12 insertions(+), 29 deletions(-) diff --git a/kdc/kerberos5.c b/kdc/kerberos5.c index eb5ad1fb9..21b6d4cfb 100644 --- a/kdc/kerberos5.c +++ b/kdc/kerberos5.c @@ -227,46 +227,29 @@ get_pa_etype_info(METHOD_DATA *md, hdb_entry *client) pa.val = NULL; pa.len = 0; for(i = 0; i < client->keys.len; i++){ -#ifndef KTYPE_IS_ETYPE - tmp = realloc(pa.val, (pa.len + 1) * sizeof(*pa.val)); - if(tmp == NULL) { - free_PA_KEY_INFO(&pa); - return ret; - } - pa.val = tmp; - pa.val[pa.len].keytype = client->keys.val[i].key.keytype; - if(client->keys.val[i].salt){ - pa.val[pa.len].salttype = client->keys.val[i].salt->type; - ALLOC(pa.val[pa.len].salt); - ret = copy_octet_string(&client->keys.val[i].salt->salt, - pa.val[pa.len].salt); - if(tmp == NULL) { - free_PA_KEY_INFO(&pa); - return ret; - } - } - else { - pa.val[pa.len].salttype = pa_pw_salt; - pa.val[pa.len].salt = NULL; - } - pa.len++; -#else +#ifdef KTYPE_IS_ETYPE krb5_enctype *etypes, *e; ret = krb5_keytype_to_etypes(context, client->keys.val[i].key.keytype, &etypes); for(e = etypes; *e; e++){ +#endif tmp = realloc(pa.val, (pa.len + 1) * sizeof(*pa.val)); if(tmp == NULL) { free_PA_KEY_INFO(&pa); return ret; } pa.val = tmp; +#ifndef KTYPE_IS_ETYPE + pa.val[pa.len].keytype = client->keys.val[i].key.keytype; +#else pa.val[pa.len].keytype = *e; +#endif if(client->keys.val[i].salt){ pa.val[pa.len].salttype = client->keys.val[i].salt->type; + ALLOC(pa.val[pa.len].salt); ret = copy_octet_string(&client->keys.val[i].salt->salt, - &pa.val[pa.len].salt); + pa.val[pa.len].salt); if(tmp == NULL) { free_PA_KEY_INFO(&pa); return ret; @@ -274,10 +257,10 @@ get_pa_etype_info(METHOD_DATA *md, hdb_entry *client) } else { pa.val[pa.len].salttype = pa_pw_salt; - pa.val[pa.len].salt.data = NULL; - pa.val[pa.len].salt.length = 0; + pa.val[pa.len].salt = NULL; } pa.len++; +#ifdef KTYPE_IS_ETYPE } #endif } @@ -408,7 +391,7 @@ as_rep(KDC_REQ *req, if (server->flags.invalid) { ret = KRB5KDC_ERR_POLICY; - kdc_log(0, "Server (%s) has invalid bit set", server_name); + kdc_log(0, "Server's (%s) has invalid bit set", server_name); goto out; } @@ -421,7 +404,7 @@ as_rep(KDC_REQ *req, if (client->pw_end && *client->pw_end < kdc_time && !server->flags.change_pw) { ret = KRB5KDC_ERR_KEY_EXPIRED; - kdc_log(0, "Client (%s)'s key has expired", client_name); + kdc_log(0, "Client's (%s) key has expired", client_name); goto out; }