diff options
author | Jakub Hrozek <jhrozek@redhat.com> | 2015-08-10 12:40:30 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2015-08-14 23:24:15 +0200 |
commit | 32445affe3612428eddde043cdc672a01c189714 (patch) | |
tree | d30aa3d666a31f409d93ea25aff2534679a324a6 /src | |
parent | 52e3ee5c5ff2c5a4341041826a803ad42d2b2de7 (diff) | |
download | sssd-32445affe3612428eddde043cdc672a01c189714.tar.gz sssd-32445affe3612428eddde043cdc672a01c189714.tar.xz sssd-32445affe3612428eddde043cdc672a01c189714.zip |
LDAP: use ldb_binary_encode when printing attribute values
Reviewed-by: Pavel Březina <pbrezina@redhat.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/providers/ldap/sdap_utils.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/providers/ldap/sdap_utils.c b/src/providers/ldap/sdap_utils.c index f5ce8ee54..9da46ea70 100644 --- a/src/providers/ldap/sdap_utils.c +++ b/src/providers/ldap/sdap_utils.c @@ -35,6 +35,7 @@ sdap_attrs_add_ldap_attr(struct sysdb_attrs *ldap_attrs, const char *objname = name ?: "object"; const char *desc = attr_desc ?: attr_name; unsigned int num_values, i; + char *printable; ret = sysdb_attrs_get_el(ldap_attrs, attr_name, &el); if (ret) { @@ -50,8 +51,16 @@ sdap_attrs_add_ldap_attr(struct sysdb_attrs *ldap_attrs, } else { num_values = multivalued ? el->num_values : 1; for (i = 0; i < num_values; i++) { + printable = ldb_binary_encode(ldap_attrs, el->values[i]); + if (printable == NULL) { + DEBUG(SSSDBG_MINOR_FAILURE, "ldb_binary_encode failed..\n"); + continue; + } + DEBUG(SSSDBG_TRACE_INTERNAL, "Adding %s [%s] to attributes " - "of [%s].\n", desc, el->values[i].data, objname); + "of [%s].\n", desc, printable, objname); + + talloc_zfree(printable); ret = sysdb_attrs_add_mem(attrs, attr_name, el->values[i].data, el->values[i].length); |