| Request | LDAP User Folder -- bug report -- by Wichert Akkerman |
| Posted on | Feb 2, 2006 6:26 am |
| Subscribe |
| Resolve by Jens Vagelpohl on Feb 2, 2006 6:18 pm | |
|
Thanks a lot Wichert, fixed and checked in. |
|
|
|
| Initial Request by Wichert Akkerman on Feb 2, 2006 6:26 am | |
|
In active directory it can happen that an object has all the required object classes of a user bit is still missing the chosen uid attribute. Particularly, internal systema accounts do not have a userPrincipalName attribute. This patch fixes that by always checking for precense of the uid attribute in the search filter. Index: LDAPUserFolder.py =================================================================== --- LDAPUserFolder.py (revision 1280) +++ LDAPUserFolder.py (working copy) @@ -621,10 +623,8 @@ """ Return filter string suitable for querying on user objects """ user_filter = [filter_format('(%s=%s)', ('objectClass', o)) for o in filter(None, self._user_objclasses)] - if user_filter: - user_filter = '(&%s)' % ''.join(user_filter) - else: - user_filter = '(objectClass=*)' + user_filter.append("(%s=*)" % self._uid_attr) + user_filter = '(&%s)' % ''.join(user_filter) return user_filter |