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>
This commit is contained in:
Martin Basti committed 2017-02-08 15:41:39 +01:00
1 parent d38540acd6
commit 6bb5af7bea
2 files changed
+5 -3

No files matched your search

+4 -2
View File
@@ -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)
+1 -1
View File
@@ -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)