diff options
author | Sumit Bose <sbose@redhat.com> | 2015-02-17 04:41:21 +0100 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2015-05-28 09:35:32 +0200 |
commit | 745cf4cc7f4e8f7cdc6ea74b5c39a70f0201a883 (patch) | |
tree | ab240a1702b37d3af5080687ade89e46c6fb0cf5 /src/util/util.h | |
parent | bea6b6c6bcf711e0d96a4263f60e0e1b0a64c45f (diff) | |
download | sssd-745cf4cc7f4e8f7cdc6ea74b5c39a70f0201a883.tar.gz sssd-745cf4cc7f4e8f7cdc6ea74b5c39a70f0201a883.tar.xz sssd-745cf4cc7f4e8f7cdc6ea74b5c39a70f0201a883.zip |
sdap: properly handle binary objectGuid attribute
Although in the initial processing SSSD treats the binary value right at
some point it mainly assumes that it is a string. Depending on the value
this might end up with the correct binary value stored in the cache but
in most cases there will be only a broken entry in the cache.
This patch converts the binary value into a string representation which
is described in [MS-DTYP] and stores the result in the cache.
Resolves https://fedorahosted.org/sssd/ticket/2588
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
Diffstat (limited to 'src/util/util.h')
-rw-r--r-- | src/util/util.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/util/util.h b/src/util/util.h index bf3a9a057..1530b550b 100644 --- a/src/util/util.h +++ b/src/util/util.h @@ -618,6 +618,13 @@ char * sss_reverse_replace_space(TALLOC_CTX *mem_ctx, const char *orig_name, const char replace_char); +#define GUID_BIN_LENGTH 16 +/* 16 2-digit hex values + 4 dashes + terminating 0 */ +#define GUID_STR_BUF_SIZE (2 * GUID_BIN_LENGTH + 4 + 1) + +errno_t guid_blob_to_string_buf(const uint8_t *blob, char *str_buf, + size_t buf_size); + /* from become_user.c */ errno_t become_user(uid_t uid, gid_t gid); struct sss_creds; |