Fix a lot of etype/keytype misuse.

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@3529 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Johan Danielsson
1997-09-22 18:05:07 +00:00
parent 8df2b46712
commit 1e000dca69

View File

@@ -275,7 +275,8 @@ out:
static krb5_error_code static krb5_error_code
make_pa_enc_timestamp(krb5_context context, PA_DATA *pa, krb5_keyblock *key) make_pa_enc_timestamp(krb5_context context, PA_DATA *pa,
krb5_enctype etype, krb5_keyblock *key)
{ {
PA_ENC_TS_ENC p; PA_ENC_TS_ENC p;
u_char buf[1024]; u_char buf[1024];
@@ -306,7 +307,7 @@ make_pa_enc_timestamp(krb5_context context, PA_DATA *pa, krb5_keyblock *key)
ret = krb5_encrypt_EncryptedData(context, ret = krb5_encrypt_EncryptedData(context,
buf + sizeof(buf) - len, buf + sizeof(buf) - len,
len, len,
ETYPE_DES_CBC_MD5, etype,
0, 0,
key, key,
&encdata); &encdata);
@@ -441,12 +442,19 @@ init_as_req (krb5_context context,
if (ret) if (ret)
goto fail; goto fail;
ret = (*key_proc)(context, etype, &salt, {
keyseed, &key); krb5_keytype keytype;
krb5_data_free (&salt); ret = krb5_etype_to_keytype(context, etype, &keytype);
if(ret){
krb5_data_free(&salt);
goto fail;
}
ret = (*key_proc)(context, keytype, &salt, keyseed, &key);
krb5_data_free (&salt);
}
if (ret) if (ret)
goto fail; goto fail;
ret = make_pa_enc_timestamp(context, &a->padata->val[0], key); ret = make_pa_enc_timestamp(context, &a->padata->val[0], etype, key);
krb5_free_keyblock (context, key); krb5_free_keyblock (context, key);
free (key); free (key);
if (ret) if (ret)
@@ -454,11 +462,16 @@ init_as_req (krb5_context context,
/* make a v4 salted pa-data */ /* make a v4 salted pa-data */
salt.length = 0; salt.length = 0;
salt.data = NULL; salt.data = NULL;
ret = (*key_proc)(context, etype, &salt, {
keyseed, &key); krb5_keytype keytype;
ret = krb5_etype_to_keytype(context, etype, &keytype);
if(ret)
goto fail;
ret = (*key_proc)(context, keytype, &salt, keyseed, &key);
}
if (ret) if (ret)
goto fail; goto fail;
ret = make_pa_enc_timestamp(context, &a->padata->val[1], key); ret = make_pa_enc_timestamp(context, &a->padata->val[1], etype, key);
krb5_free_keyblock (context, key); krb5_free_keyblock (context, key);
free (key); free (key);
if (ret) if (ret)
@@ -559,18 +572,20 @@ krb5_get_in_cred(krb5_context context,
pa_pw_salt, &index); pa_pw_salt, &index);
} }
if(pa) { if(pa) {
ret = (*key_proc)(context, etype, krb5_keytype keytype;
&pa->padata_value, keyseed, &key); ret = krb5_etype_to_keytype(context, etype, &keytype);
ret = (*key_proc)(context, keytype, &pa->padata_value, keyseed, &key);
} else { } else {
/* make a v5 salted pa-data */ /* make a v5 salted pa-data */
krb5_keytype keytype;
salt.length = 0; salt.length = 0;
salt.data = NULL; salt.data = NULL;
ret = krb5_get_salt (creds->client, &salt); ret = krb5_get_salt (creds->client, &salt);
if (ret) if (ret)
return ret; return ret;
ret = (*key_proc)(context, etype, &salt, ret = krb5_etype_to_keytype(context, etype, &keytype);
keyseed, &key); ret = (*key_proc)(context, keytype, &salt, keyseed, &key);
krb5_data_free (&salt); krb5_data_free (&salt);
} }
if (ret) if (ret)