diff options
author | Brant Knudson <bknudson@us.ibm.com> | 2013-08-08 18:38:23 -0500 |
---|---|---|
committer | Brant Knudson <bknudson@us.ibm.com> | 2013-08-16 12:42:28 -0500 |
commit | 781c65b72b78bd1e2b1d93db029d6b0c6fbc2050 (patch) | |
tree | 661fa44b24d94a8cac557e5cc0a4bf18c5699b24 | |
parent | 87ababb38506a1a51b9e38fc343dd3b46c828a80 (diff) | |
download | keystone-781c65b72b78bd1e2b1d93db029d6b0c6fbc2050.tar.gz keystone-781c65b72b78bd1e2b1d93db029d6b0c6fbc2050.tar.xz keystone-781c65b72b78bd1e2b1d93db029d6b0c6fbc2050.zip |
Fix LDAP Identity get user with user_enabled_mask
Fetching users using the LDAP Identity backend would fail with
KeyError: 'enabled'
from _ldap_res_to_model when user_enabled_mask is not 0.
Change-Id: I39a9606ba7210f0fea064abd6adad379218b432b
Closes-Bug: #1210175
-rw-r--r-- | keystone/identity/backends/ldap.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/keystone/identity/backends/ldap.py b/keystone/identity/backends/ldap.py index 58b70a5c..5898da1f 100644 --- a/keystone/identity/backends/ldap.py +++ b/keystone/identity/backends/ldap.py @@ -220,8 +220,9 @@ class UserApi(common_ldap.EnabledEmuMixIn, common_ldap.BaseLdap): def _ldap_res_to_model(self, res): obj = super(UserApi, self)._ldap_res_to_model(res) if self.enabled_mask != 0: - obj['enabled_nomask'] = obj['enabled'] - obj['enabled'] = ((obj['enabled'] & self.enabled_mask) != + enabled = int(obj.get('enabled', self.enabled_default)) + obj['enabled_nomask'] = enabled + obj['enabled'] = ((enabled & self.enabled_mask) != self.enabled_mask) return obj |