Cleanup some ktype-etype code.

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@4355 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Johan Danielsson
1998-01-22 23:34:07 +00:00
parent a99929c553
commit b978944405

View File

@@ -227,46 +227,29 @@ get_pa_etype_info(METHOD_DATA *md, hdb_entry *client)
pa.val = NULL; pa.val = NULL;
pa.len = 0; pa.len = 0;
for(i = 0; i < client->keys.len; i++){ for(i = 0; i < client->keys.len; i++){
#ifndef KTYPE_IS_ETYPE #ifdef 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
krb5_enctype *etypes, *e; krb5_enctype *etypes, *e;
ret = krb5_keytype_to_etypes(context, ret = krb5_keytype_to_etypes(context,
client->keys.val[i].key.keytype, client->keys.val[i].key.keytype,
&etypes); &etypes);
for(e = etypes; *e; e++){ for(e = etypes; *e; e++){
#endif
tmp = realloc(pa.val, (pa.len + 1) * sizeof(*pa.val)); tmp = realloc(pa.val, (pa.len + 1) * sizeof(*pa.val));
if(tmp == NULL) { if(tmp == NULL) {
free_PA_KEY_INFO(&pa); free_PA_KEY_INFO(&pa);
return ret; return ret;
} }
pa.val = tmp; 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; pa.val[pa.len].keytype = *e;
#endif
if(client->keys.val[i].salt){ if(client->keys.val[i].salt){
pa.val[pa.len].salttype = client->keys.val[i].salt->type; 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, ret = copy_octet_string(&client->keys.val[i].salt->salt,
&pa.val[pa.len].salt); pa.val[pa.len].salt);
if(tmp == NULL) { if(tmp == NULL) {
free_PA_KEY_INFO(&pa); free_PA_KEY_INFO(&pa);
return ret; return ret;
@@ -274,10 +257,10 @@ get_pa_etype_info(METHOD_DATA *md, hdb_entry *client)
} }
else { else {
pa.val[pa.len].salttype = pa_pw_salt; pa.val[pa.len].salttype = pa_pw_salt;
pa.val[pa.len].salt.data = NULL; pa.val[pa.len].salt = NULL;
pa.val[pa.len].salt.length = 0;
} }
pa.len++; pa.len++;
#ifdef KTYPE_IS_ETYPE
} }
#endif #endif
} }
@@ -408,7 +391,7 @@ as_rep(KDC_REQ *req,
if (server->flags.invalid) { if (server->flags.invalid) {
ret = KRB5KDC_ERR_POLICY; 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; goto out;
} }
@@ -421,7 +404,7 @@ as_rep(KDC_REQ *req,
if (client->pw_end && *client->pw_end < kdc_time if (client->pw_end && *client->pw_end < kdc_time
&& !server->flags.change_pw) { && !server->flags.change_pw) {
ret = KRB5KDC_ERR_KEY_EXPIRED; 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; goto out;
} }