From 87ac562b85ea13eb50e5f59bb01aa292455a0343 Mon Sep 17 00:00:00 2001 From: jens Date: Wed, 26 May 2010 15:44:49 +0000 Subject: [PATCH] - Bug: enumerateUsers returned undesired results if an exact match was required since LDAP searches are not case sensitive. (https://bugs.launchpad.net/bugs/585901) git-svn-id: http://svn.dataflake.org/svn/Products.LDAPMultiPlugins/trunk@1955 835909ba-7c00-0410-bfa4-884f43845301 --- Products/LDAPMultiPlugins/CHANGES.txt | 4 +++- Products/LDAPMultiPlugins/LDAPMultiPlugin.py | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Products/LDAPMultiPlugins/CHANGES.txt b/Products/LDAPMultiPlugins/CHANGES.txt index a429ecb..b219e6f 100644 --- a/Products/LDAPMultiPlugins/CHANGES.txt +++ b/Products/LDAPMultiPlugins/CHANGES.txt @@ -5,6 +5,8 @@ To see earlier changes please see HISTORY.txt. 2.0 (unreleased) ---------------- - +- Bug: enumerateUsers returned undesired results if an exact match + was required since LDAP searches are not case sensitive. + (https://bugs.launchpad.net/bugs/585901) diff --git a/Products/LDAPMultiPlugins/LDAPMultiPlugin.py b/Products/LDAPMultiPlugins/LDAPMultiPlugin.py index 84724b2..7123460 100644 --- a/Products/LDAPMultiPlugins/LDAPMultiPlugin.py +++ b/Products/LDAPMultiPlugins/LDAPMultiPlugin.py @@ -188,8 +188,12 @@ class LDAPMultiPlugin(LDAPPluginBase): if exact_match and (id or login): if id: ldap_user = acl.getUserById(id) + if ldap_user is not None and ldap_user.getId() != id: + ldap_user = None elif login: ldap_user = acl.getUser(login) + if ldap_user is not None and ldap_user.getUserName() != login: + ldap_user = None if ldap_user is not None: qs = 'user_dn=%s' % quote_plus(ldap_user.getUserDN())