From 5fa7c76f729bfebf8bcc271a7601da75d6e196fd Mon Sep 17 00:00:00 2001 From: Pavel Zuna Date: Tue, 21 Apr 2009 15:25:48 +0200 Subject: Fix filter generator in ldapapi. Shouldn't produce invalid filters anymore. --- ipaserver/plugins/ldapapi.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'ipaserver') 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) -- cgit