From 87ababb38506a1a51b9e38fc343dd3b46c828a80 Mon Sep 17 00:00:00 2001 From: Brant Knudson Date: Thu, 8 Aug 2013 17:41:10 -0500 Subject: Fix LDAP Identity with non-zero user_enabled_default The LDAP Identity backend was not properly using the user_enabled_default option as a string. This caused operations to fail with TypeError: unsupported operand type(s) for &: 'str' and 'int' Partial-Bug: #1210175 Change-Id: I54931e669186871d18dea088870945b9de40d573 --- keystone/identity/backends/ldap.py | 2 +- keystone/tests/test_backend_ldap.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/keystone/identity/backends/ldap.py b/keystone/identity/backends/ldap.py index 67380f6e..58b70a5c 100644 --- a/keystone/identity/backends/ldap.py +++ b/keystone/identity/backends/ldap.py @@ -227,7 +227,7 @@ class UserApi(common_ldap.EnabledEmuMixIn, common_ldap.BaseLdap): def mask_enabled_attribute(self, values): value = values['enabled'] - values.setdefault('enabled_nomask', self.enabled_default) + values.setdefault('enabled_nomask', int(self.enabled_default)) if value != ((values['enabled_nomask'] & self.enabled_mask) != self.enabled_mask): values['enabled_nomask'] ^= self.enabled_mask diff --git a/keystone/tests/test_backend_ldap.py b/keystone/tests/test_backend_ldap.py index 442ec8d9..23379712 100644 --- a/keystone/tests/test_backend_ldap.py +++ b/keystone/tests/test_backend_ldap.py @@ -477,7 +477,7 @@ class LDAPIdentity(test.TestCase, BaseLDAPIdentity): def test_user_enable_attribute_mask(self): CONF.ldap.user_enabled_mask = 2 - CONF.ldap.user_enabled_default = 512 + CONF.ldap.user_enabled_default = '512' self.clear_database() self.load_backends() self.load_fixtures(default_fixtures) -- cgit