ldaputils: allow to use bytes in modlists

This commit is contained in:
Éloi Rivard 2020-12-31 15:23:38 +01:00
parent 2a501a5485
commit dc7f58de43

View file

@ -171,7 +171,12 @@ class LDAPObject:
if v and v[0] and self.attrs.get(k) != v
}
attributes = [
(ldap.MOD_REPLACE, k, [elt.encode("utf-8") for elt in v])
(ldap.MOD_REPLACE, k, [
elt.encode("utf-8")
if isinstance(elt, str)
else elt
for elt in v
])
for k, v in mods.items()
]
conn.modify_s(self.dn, attributes)
@ -186,7 +191,13 @@ class LDAPObject:
mods[k] = v
attributes = [
(k, [elt.encode("utf-8") for elt in v]) for k, v in mods.items()
(k, [
elt.encode("utf-8")
if isinstance(elt, str)
else elt
for elt in v
])
for k, v in mods.items()
]
conn.add_s(self.dn, attributes)