summaryrefslogtreecommitdiffstats
path: root/ipaserver/plugins/ldapapi.py
diff options
context:
space:
mode:
Diffstat (limited to 'ipaserver/plugins/ldapapi.py')
-rw-r--r--ipaserver/plugins/ldapapi.py18
1 files changed, 12 insertions, 6 deletions
diff --git a/ipaserver/plugins/ldapapi.py b/ipaserver/plugins/ldapapi.py
index 7c132153e..9eea3eaae 100644
--- a/ipaserver/plugins/ldapapi.py
+++ b/ipaserver/plugins/ldapapi.py
@@ -386,20 +386,26 @@ class ldap(CrudBackend):
del kw['scope']
if exactonly is not None:
del kw['exactonly']
- (exact_match_filter, partial_match_filter) = self._generate_search_filters(**kw)
+ if kw:
+ (exact_match_filter, partial_match_filter) = self._generate_search_filters(**kw)
+ else:
+ (exact_match_filter, partial_match_filter) = ('', '')
if objectclass:
- exact_match_filter = "(&(objectClass=%s)%s)" % (objectclass, exact_match_filter)
- partial_match_filter = "(&(objectClass=%s)%s)" % (objectclass, partial_match_filter)
+ exact_match_filter = '(&(objectClass=%s)%s)' % (objectclass, exact_match_filter)
+ partial_match_filter = '(&(objectClass=%s)%s)' % (objectclass, partial_match_filter)
+ else:
+ exact_match_filter = '(&(objectClass=*)%s)' % exact_match_filter
+ partial_match_filter = '(&(objectClass=*)%s)' % partial_match_filter
if sfilter:
- exact_match_filter = "(%s%s)" % (sfilter, exact_match_filter)
- partial_match_filter = "(%s%s)" % (sfilter, partial_match_filter)
+ exact_match_filter = '(%s%s)' % (sfilter, exact_match_filter)
+ partial_match_filter = '(%s%s)' % (sfilter, partial_match_filter)
search_scope = self._get_scope(scope)
if not base:
base = self.api.env.container_accounts
- search_base = "%s, %s" % (base, self.api.env.basedn)
+ search_base = '%s,%s' % (base, self.api.env.basedn)
try:
exact_results = servercore.search(search_base,
exact_match_filter, attributes, scope=search_scope)