add krb5_create_checksum_iov
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@23721 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -3498,6 +3498,45 @@ krb5_decrypt_iov_ivec(krb5_context context,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
krb5_error_code KRB5_LIB_FUNCTION
|
||||||
|
krb5_create_checksum_iov(krb5_context context,
|
||||||
|
krb5_crypto crypto,
|
||||||
|
unsigned usage,
|
||||||
|
int type,
|
||||||
|
krb5_crypto_iov *data,
|
||||||
|
size_t num_data,
|
||||||
|
Checksum *result)
|
||||||
|
{
|
||||||
|
krb5_error_code ret;
|
||||||
|
unsigned int i;
|
||||||
|
size_t len;
|
||||||
|
char *p, *q;
|
||||||
|
|
||||||
|
len = 0;
|
||||||
|
for (i = 0; i < num_data; i++) {
|
||||||
|
if (data[i].flags != KRB5_CRYPTO_TYPE_DATA &&
|
||||||
|
data[i].flags != KRB5_CRYPTO_TYPE_SIGN_ONLY)
|
||||||
|
continue;
|
||||||
|
len += data[i].data.length;
|
||||||
|
}
|
||||||
|
|
||||||
|
p = q = malloc(len);
|
||||||
|
|
||||||
|
for (i = 0; i < num_data; i++) {
|
||||||
|
if (data[i].flags != KRB5_CRYPTO_TYPE_DATA &&
|
||||||
|
data[i].flags != KRB5_CRYPTO_TYPE_SIGN_ONLY)
|
||||||
|
continue;
|
||||||
|
memcpy(q, data[i].data.data, data[i].data.length);
|
||||||
|
q += data[i].data.length;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = krb5_create_checksum(context, crypto, usage,
|
||||||
|
type, p, len, result);
|
||||||
|
free(p);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
size_t KRB5_LIB_FUNCTION
|
size_t KRB5_LIB_FUNCTION
|
||||||
krb5_crypto_length(krb5_context context,
|
krb5_crypto_length(krb5_context context,
|
||||||
krb5_crypto crypto,
|
krb5_crypto crypto,
|
||||||
|
Reference in New Issue
Block a user