Don't hide the checksums from the caller, From Andrew Bartlett.

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@23711 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Love Hörnquist Åstrand
2008-08-28 13:48:56 +00:00
parent b76fb8a16b
commit 39f62b79e4

View File

@@ -317,6 +317,20 @@ krb5_pac_add_buffer(krb5_context context, krb5_pac p,
return 0;
}
/**
* Get the PAC buffer of specific type from the pac.
*
* @param context Kerberos 5 context.
* @param p the pac structure returned by krb5_pac_parse().
* @param type type of buffer to get
* @param data return data, free with krb5_data_free().
*
* @return Returns 0 to indicate success. Otherwise an kerberos et
* error code is returned, see krb5_get_error_message().
*
* @ingroup krb5_pac
*/
krb5_error_code
krb5_pac_get_buffer(krb5_context context, krb5_pac p,
uint32_t type, krb5_data *data)
@@ -324,23 +338,9 @@ krb5_pac_get_buffer(krb5_context context, krb5_pac p,
krb5_error_code ret;
uint32_t i;
/*
* Hide the checksums from external consumers
*/
if (type == PAC_PRIVSVR_CHECKSUM || type == PAC_SERVER_CHECKSUM) {
ret = krb5_data_alloc(data, 16);
if (ret) {
krb5_set_error_message(context, ret, "malloc: out of memory");
return ret;
}
memset(data->data, 0, data->length);
return 0;
}
for (i = 0; i < p->pac->numbuffers; i++) {
size_t len = p->pac->buffers[i].buffersize;
size_t offset = p->pac->buffers[i].offset_lo;
const size_t len = p->pac->buffers[i].buffersize;
const size_t offset = p->pac->buffers[i].offset_lo;
if (p->pac->buffers[i].type != type)
continue;