gss: add _gss_secure_release_buffer_set()

Add _gss_secure_release_buffer_set() helper function for zeroing buffer set
contents before release.
This commit is contained in:
Luke Howard
2020-04-15 16:11:42 +10:00
parent b2eb5b0edf
commit 689eef20ec
2 changed files with 22 additions and 0 deletions

View File

@@ -157,6 +157,26 @@ _gss_secure_release_buffer(OM_uint32 *minor_status,
return gss_release_buffer(minor_status, buffer);
}
OM_uint32
_gss_secure_release_buffer_set(OM_uint32 *minor_status,
gss_buffer_set_t *buffer_set)
{
size_t i;
OM_uint32 minor;
*minor_status = 0;
if (*buffer_set == GSS_C_NO_BUFFER_SET)
return GSS_S_COMPLETE;
for (i = 0; i < (*buffer_set)->count; i++)
_gss_secure_release_buffer(&minor, &((*buffer_set)->elements[i]));
(*buffer_set)->count = 0;
return gss_release_buffer_set(minor_status, buffer_set);
}
void
_gss_mg_encode_le_uint32(uint32_t n, uint8_t *p)
{

View File

@@ -33,6 +33,8 @@ OM_uint32 _gss_copy_buffer(OM_uint32 *minor_status,
const gss_buffer_t from_buf, gss_buffer_t to_buf);
OM_uint32 _gss_secure_release_buffer(OM_uint32 *minor_status,
gss_buffer_t buffer);
OM_uint32 _gss_secure_release_buffer_set(OM_uint32 *minor_status,
gss_buffer_set_t *buffer_set);
void _gss_mg_encode_le_uint32(uint32_t n, uint8_t *p);
void _gss_mg_decode_le_uint32(const void *ptr, uint32_t *n);