summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrant Knudson <bknudson@us.ibm.com>2013-08-08 18:38:23 -0500
committerBrant Knudson <bknudson@us.ibm.com>2013-08-16 12:42:28 -0500
commit781c65b72b78bd1e2b1d93db029d6b0c6fbc2050 (patch)
tree661fa44b24d94a8cac557e5cc0a4bf18c5699b24
parent87ababb38506a1a51b9e38fc343dd3b46c828a80 (diff)
downloadkeystone-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.py5
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