diff options
Diffstat (limited to 'ipaserver/plugins/ldap2.py')
-rw-r--r-- | ipaserver/plugins/ldap2.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/ipaserver/plugins/ldap2.py b/ipaserver/plugins/ldap2.py index 5c401829..32a1eccb 100644 --- a/ipaserver/plugins/ldap2.py +++ b/ipaserver/plugins/ldap2.py @@ -45,6 +45,7 @@ from ldap.controls import LDAPControl from ldap.functions import explode_dn from ipalib.dn import DN from ipalib import _ +from ipalib.parameters import Bool import krbV @@ -62,6 +63,22 @@ MEMBERS_INDIRECT = 2 # SASL authentication mechanism SASL_AUTH = _ldap_sasl.sasl({}, 'GSSAPI') +# OID 1.3.6.1.4.1.1466.115.121.1.7 (Boolean) syntax encoding +def _encode_bool(self, value): + def encode_bool_value(value): + if value: + return u'TRUE' + else: + return u'FALSE' + + if type(value) in (tuple, list): + return tuple(encode_bool_value(v) for v in value) + else: + return encode_bool_value(value) + +# set own Bool parameter encoder +Bool._encode = _encode_bool + # universal LDAPError handler def _handle_errors(e, **kw): """ |