krb5: add krb5_store_bytes()

Similar to krb5_storage_write(), but returns an error rather than the number of
bytes written.
This commit is contained in:
Luke Howard
2021-08-06 19:32:10 +10:00
parent 4e359bd5ce
commit 7188969371
3 changed files with 27 additions and 2 deletions

View File

@@ -657,6 +657,7 @@ EXPORTS
krb5_store_address
krb5_store_addrs
krb5_store_authdata
krb5_store_bytes
krb5_store_creds
krb5_store_creds_tag
krb5_store_data

View File

@@ -799,14 +799,37 @@ krb5_store_data(krb5_storage *sp,
* @ingroup krb5_storage
*/
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
krb5_store_datalen(krb5_storage *sp, void *d, size_t len)
krb5_store_datalen(krb5_storage *sp, const void *d, size_t len)
{
krb5_data data;
data.length = len;
data.data = d;
data.data = (void *)d;
return krb5_store_data(sp, data);
}
/**
* Store a data blob to the storage. The data is stored without a length.
*
* @param sp the storage buffer to write to
* @param s the string to store.
* @param len length of the string to be stored.
*
* @return 0 on success, a Kerberos 5 error code on failure.
*
* @ingroup krb5_storage
*/
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL
krb5_store_bytes(krb5_storage *sp, const void *d, size_t len)
{
ssize_t ssize;
ssize = krb5_storage_write(sp, d, len);
if (ssize != len)
return ENOMEM;
return 0;
}
/**
* Parse a data from the storage.
*

View File

@@ -650,6 +650,7 @@ HEIMDAL_KRB5_2.0 {
krb5_store_address;
krb5_store_addrs;
krb5_store_authdata;
krb5_store_bytes;
krb5_store_creds;
krb5_store_creds_tag;
krb5_store_data;