
python-ldap3.0 or later running on python3 uses str or bytes data type according to what fields are returned. local_id may be a bytes data type. To handle it properly, mapping[key] needs to be examined for identifying its data type and what python version is used. Closes-Bug: #1901654 Change-Id: Iac097235fd31e166028c169d14ec0937c663c21c
11 lines
665 B
YAML
11 lines
665 B
YAML
---
|
|
fixes:
|
|
- |
|
|
[`bug 1901654 <https://bugs.launchpad.net/keystone/+bug/1901654>`_]
|
|
Previously, generate_public_ID() in sha256.py assumed the passed arguments is str data type.
|
|
However, python-ldap 3.0 or later returns bytes data type for attribute values except fields
|
|
of distinguished names, relative distinguished names, attribute names, queries.
|
|
If keystone running on Python3 is integrated with LDAP and the LDAP server has local_id variable
|
|
in its attribute, user login operations will fail due to the assumption and modifiation of python-ldap.
|
|
By this fix, generate_public_ID() properly handles bytes data type in the parameter.
|