yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #81655
[Bug 1862606] Re: LDAP support broken if UTF8 characters in DN (python2)
During work on keystone it appeared that bug is only releated when
use_pool=True in keystone (default). It seams that #1798184 was partial
and may not work for pooled connections.
** Also affects: ldappool
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Identity (keystone).
https://bugs.launchpad.net/bugs/1862606
Title:
LDAP support broken if UTF8 characters in DN (python2)
Status in OpenStack Identity (keystone):
In Progress
Status in ldappool:
New
Bug description:
Bug is probably related with this one:
https://bugs.launchpad.net/keystone/+bug/1798184
https://bugs.launchpad.net/keystone/+bug/1820333
On keystone 14.1.0 (Rocky) it trows exception when there are UTF-8 encoded characters on users's DN. We're using openldap. In our schema DN is cn=first_name last_name,ou=employee,ou=users,dc=(...). In Poland names with local, utf encoded leters are very common.
It looks like bug can be fixed by following change:
--- a/keystone/identity/backends/ldap/common.py
+++ b/keystone/identity/backends/ldap/common.py
@@ -177,7 +177,7 @@ def convert_ldap_result(ldap_result):
ldap_attrs[kind] = [val2py(x) for x in values]
except UnicodeDecodeError:
LOG.debug('Unable to decode value for attribute %s', kind)
- py_result.append((dn, ldap_attrs))
+ py_result.append((utf8_decode(dn), ldap_attrs))
if at_least_one_referral:
LOG.debug('Referrals were returned and ignored. Enable referral '
'chasing in keystone.conf via [ldap] chase_referrals')
To manage notifications about this bug go to:
https://bugs.launchpad.net/keystone/+bug/1862606/+subscriptions
References