keystone assignment backend ldap patch
ass_ldap.py.patch — differences between files, 843 bytes
File contents
--- assignment/backends/ldap.py~ 2013-12-18 16:21:44.000000000 +0400 +++ assignment/backends/ldap.py 2014-06-15 19:45:39.390021202 +0400 @@ -18,6 +18,7 @@ import uuid import ldap as ldap +import ldap.filter from keystone import assignment from keystone import clean @@ -468,9 +469,10 @@ def list_project_roles_for_user(self, user_dn, project_subtree): conn = self.get_connection() + user_dn_esc = ldap.filter.escape_filter_chars(user_dn) query = '(&(objectClass=%s)(%s=%s))' % (self.object_class, self.member_attribute, - user_dn) + user_dn_esc) try: roles = conn.search_s(project_subtree, ldap.SCOPE_SUBTREE,