summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2015-08-10 12:40:30 +0200
committerJakub Hrozek <jhrozek@redhat.com>2015-08-17 13:21:41 +0200
commit1d42e3c3a4f9536ee3539683a810c95314fd1c5d (patch)
tree5437c28880564f648c31c42075b7d85d4afcdf56
parent7c3fefc9c840fd0eb46048d7d2be0a0b8347f713 (diff)
downloadsssd-1d42e3c3a4f9536ee3539683a810c95314fd1c5d.tar.gz
sssd-1d42e3c3a4f9536ee3539683a810c95314fd1c5d.tar.xz
sssd-1d42e3c3a4f9536ee3539683a810c95314fd1c5d.zip
LDAP: use ldb_binary_encode when printing attribute values
Reviewed-by: Pavel Březina <pbrezina@redhat.com>
-rw-r--r--src/providers/ldap/sdap_utils.c11
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);