keystone/keystone
Lance Bragstad d5870f69c1 Properly handle octet (byte) strings when converting LDAP responses
If LDAP returns a UUID as an octet string the LDAP driver will fail to
convert it to something meaningful. The error usually looks something
like:

  ID attribute objectGUID not found in LDAP object

Microsoft AD's `objectGUID` parameter is stored and transmitted as an
octet string [0]. If you attempt to use the `objectGUID` to generate
user or group IDs, you'll get an HTTP 404 because keystone can't decode
it properly. This is unfortunate because `objectGUID` are a fixed
length, UUID format, and ideal for generating IDs in keystone. As
opposed to using the object's CN, which is variable length, and can
generate hashes that are larger than keystone's database table limit for
user IDs.

[0] https://docs.microsoft.com/en-us/windows/win32/ad/reading-an-objectampaposs-objectguid-and-creating-a-string-representation-of-the-guid

Change-Id: Id80b17bdff015e10340e636102576b7435bd564f
Closes-Bug: 1889936
(cherry picked from commit 8bf222ac5d)
2020-08-25 08:04:17 -05:00
..
api Fix security issues with EC2 credentials 2020-05-02 12:35:14 -07:00
application_credential Remove six usage 2020-01-30 06:06:51 +00:00
assignment Remove six usage 2020-01-30 06:06:51 +00:00
auth Add expiring user group memberships on mapped authentication 2020-04-07 19:30:57 -04:00
catalog Remove six usage 2020-01-30 06:06:51 +00:00
cmd Merge "Default to bootstrapping roles as immutable" 2020-02-12 05:47:02 +00:00
common Merge "Add schema placeholders for Ussuri" 2020-04-23 21:19:52 +00:00
conf Check timestamp of signed EC2 token request 2020-04-30 20:25:13 +00:00
credential Remove six usage 2020-01-30 06:06:51 +00:00
endpoint_policy Remove six usage 2020-01-30 06:06:51 +00:00
federation Merge "Expiring Group Memberships API - Allow set idp authorization_ttl" 2020-04-10 09:37:50 +00:00
identity Properly handle octet (byte) strings when converting LDAP responses 2020-08-25 08:04:17 -05:00
limit Remove six usage 2020-01-30 06:06:51 +00:00
locale Imported Translations from Zanata 2020-04-26 07:04:33 +00:00
models Ensure OAuth1 authorized roles are respected 2020-05-02 12:35:10 -07:00
oauth1 Remove six usage 2020-01-30 06:06:51 +00:00
policy Remove six usage 2020-01-30 06:06:51 +00:00
receipt Remove six usage 2020-01-30 06:06:51 +00:00
resource Remove six usage 2020-01-30 06:06:51 +00:00
revoke Remove six usage 2020-01-30 06:06:51 +00:00
server Remove six usage 2020-01-30 06:06:51 +00:00
tests Properly handle octet (byte) strings when converting LDAP responses 2020-08-25 08:04:17 -05:00
token Remove six usage 2020-01-30 06:06:51 +00:00
trust Remove six usage 2020-01-30 06:06:51 +00:00
__init__.py Revert "Disable eventlet monkey-patching of DNS" 2013-05-10 10:24:48 -04:00
exception.py Remove six usage 2020-01-30 06:06:51 +00:00
i18n.py Fix translated response 2019-08-19 14:49:37 +08:00
notifications.py Always have username in CADF initiator 2020-01-09 15:55:48 +00:00
version.py Add expiring user group memberships on mapped authentication 2020-04-07 19:30:57 -04:00