summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Basti <mbasti@redhat.com>2017-02-02 16:51:21 +0100
committerMartin Basti <mbasti@redhat.com>2017-02-08 15:41:39 +0100
commit6bb5af7bea21d44b4e5ee20cfaa2f76b12ea0929 (patch)
treeef0fd2e77db24e2b1261ac8405511c1ee5e1434f
parentd38540acd614bcaa489023401fc8db7c02cd3892 (diff)
downloadfreeipa-6bb5af7bea21d44b4e5ee20cfaa2f76b12ea0929.tar.gz
freeipa-6bb5af7bea21d44b4e5ee20cfaa2f76b12ea0929.tar.xz
freeipa-6bb5af7bea21d44b4e5ee20cfaa2f76b12ea0929.zip
py3: get_memberofindirect: fix ByteWarnings
DN must be converted to bytes as other variables adn lists contain bytes https://fedorahosted.org/freeipa/ticket/4985 Reviewed-By: Stanislav Laznicka <slaznick@redhat.com>
-rw-r--r--ipapython/ipaldap.py6
-rw-r--r--ipaserver/plugins/baseldap.py2
2 files changed, 5 insertions, 3 deletions
diff --git a/ipapython/ipaldap.py b/ipapython/ipaldap.py
index 37d23d731..c811431f1 100644
--- a/ipapython/ipaldap.py
+++ b/ipapython/ipaldap.py
@@ -379,8 +379,10 @@ class LDAPEntry(collections.MutableMapping):
name, value.__class__.__name__, value))
for (i, item) in enumerate(value):
if not isinstance(item, bytes):
- raise TypeError("%s[%d] value must be str, got %s object %r" % (
- name, i, item.__class__.__name__, item))
+ raise TypeError(
+ "%s[%d] value must be bytes, got %s object %r" % (
+ name, i, item.__class__.__name__, item)
+ )
name = self._add_attr_name(name)
diff --git a/ipaserver/plugins/baseldap.py b/ipaserver/plugins/baseldap.py
index 24b6db7c0..79ba7fc4a 100644
--- a/ipaserver/plugins/baseldap.py
+++ b/ipaserver/plugins/baseldap.py
@@ -722,7 +722,7 @@ class LDAPObject(Object):
direct = set()
indirect = set(entry.raw.get('memberof', []))
for group_entry in result:
- dn = str(group_entry.dn)
+ dn = str(group_entry.dn).encode('utf-8')
if dn in indirect:
indirect.remove(dn)
direct.add(dn)