(krb5_generate_seq_number): handle other key types than DES

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@3567 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Assar Westerlund
1997-09-29 20:45:53 +00:00
parent 5ba6a0b9ec
commit 4877be55f1

View File

@@ -45,19 +45,23 @@ krb5_generate_seq_number(krb5_context context,
const krb5_keyblock *key,
int32_t *seqno)
{
des_cblock c;
int32_t q;
krb5_error_code ret;
krb5_keyblock *subkey;
u_int32_t q;
u_char *p;
int i;
if (key->keytype != KEYTYPE_DES)
abort ();
memmove (c, key->keyvalue.data, sizeof(c));
des_new_random_key(&c);
ret = krb5_generate_subkey (context, key, &subkey);
if (ret)
return ret;
q = 0;
for (p = (u_char *)c, i = 0; i < sizeof(c); ++i, ++p)
for (p = (u_char *)subkey->keyvalue.data, i = 0;
i < subkey->keyvalue.length;
++i, ++p)
q = (q << 8) | *p;
q &= 0xffffffff;
*seqno = q;
krb5_free_keyblock (context, subkey);
return 0;
}