summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRob Crittenden <rcritten@redhat.com>2008-12-10 16:45:07 -0500
committerRob Crittenden <rcritten@redhat.com>2008-12-10 16:45:07 -0500
commit46bd3974af5ce312cb1dd3ca12e6184d78dc470e (patch)
treed5fb4d400c8dc5996e8e3256764d0cb6d2db7a0d
parentaf7b5645af001352aff626f46ec39031b2e9b10a (diff)
downloadfreeipa-46bd3974af5ce312cb1dd3ca12e6184d78dc470e.tar.gz
freeipa-46bd3974af5ce312cb1dd3ca12e6184d78dc470e.tar.xz
freeipa-46bd3974af5ce312cb1dd3ca12e6184d78dc470e.zip
Don't pass along the kw dictionary we were passed by XML-RPC.
We generally want to just search indexed attributes. We get this list of attributes from the configuration, use it.
-rw-r--r--ipalib/plugins/f_group.py7
-rw-r--r--ipalib/plugins/f_host.py11
-rw-r--r--ipalib/plugins/f_hostgroup.py7
-rw-r--r--ipalib/plugins/f_service.py9
-rw-r--r--ipalib/plugins/f_user.py11
5 files changed, 25 insertions, 20 deletions
diff --git a/ipalib/plugins/f_group.py b/ipalib/plugins/f_group.py
index 6fe95006..803e5d00 100644
--- a/ipalib/plugins/f_group.py
+++ b/ipalib/plugins/f_group.py
@@ -184,13 +184,14 @@ class group_find(crud.Find):
search_fields_conf_str = config.get('ipagroupsearchfields')
search_fields = search_fields_conf_str.split(",")
+ search_kw = {}
for s in search_fields:
- kw[s] = term
+ search_kw[s] = term
object_type = ldap.get_object_type("cn")
if object_type and not kw.get('objectclass'):
- kw['objectclass'] = object_type
- return ldap.search(**kw)
+ search_kw['objectclass'] = object_type
+ return ldap.search(**search_kw)
def output_for_cli(self, textui, result, uid, **options):
counter = result[0]
diff --git a/ipalib/plugins/f_host.py b/ipalib/plugins/f_host.py
index 020231e5..7903ff90 100644
--- a/ipalib/plugins/f_host.py
+++ b/ipalib/plugins/f_host.py
@@ -229,16 +229,17 @@ class host_find(crud.Find):
#search_fields = search_fields_conf_str.split(",")
search_fields = ['cn','serverhostname','description','localityname','nshostlocation','nshardwareplatform','nsosversion']
+ search_kw = {}
for s in search_fields:
- kw[s] = term
+ search_kw[s] = term
# Can't use ldap.get_object_type() since cn is also used for group dns
- kw['objectclass'] = "ipaHost"
+ search_kw['objectclass'] = "ipaHost"
if kw.get('all', False):
- kw['attributes'] = ['*']
+ search_kw['attributes'] = ['*']
else:
- kw['attributes'] = default_attributes
- return ldap.search(**kw)
+ search_kw['attributes'] = default_attributes
+ return ldap.search(**search_kw)
def output_for_cli(self, textui, result, *args, **options):
counter = result[0]
hosts = result[1:]
diff --git a/ipalib/plugins/f_hostgroup.py b/ipalib/plugins/f_hostgroup.py
index bde257f9..3e14b09a 100644
--- a/ipalib/plugins/f_hostgroup.py
+++ b/ipalib/plugins/f_hostgroup.py
@@ -169,11 +169,12 @@ class hostgroup_find(crud.Find):
search_fields_conf_str = config.get('ipagroupsearchfields')
search_fields = search_fields_conf_str.split(",")
+ search_kw = {}
for s in search_fields:
- kw[s] = term
+ search_kw[s] = term
- kw['objectclass'] = hostgroup_filter
- return ldap.search(**kw)
+ search_kw['objectclass'] = hostgroup_filter
+ return ldap.search(**search_kw)
def output_for_cli(self, textui, result, *args, **options):
counter = result[0]
diff --git a/ipalib/plugins/f_service.py b/ipalib/plugins/f_service.py
index fc0ae65e..a353d52e 100644
--- a/ipalib/plugins/f_service.py
+++ b/ipalib/plugins/f_service.py
@@ -149,14 +149,15 @@ class service_find(crud.Find):
def execute(self, principal, **kw):
ldap = self.api.Backend.ldap
- kw['filter'] = "&(objectclass=krbPrincipalAux)(!(objectClass=posixAccount))(!(|(krbprincipalname=kadmin/*)(krbprincipalname=K/M@*)(krbprincipalname=krbtgt/*)))"
- kw['krbprincipalname'] = principal
+ search_kw = {}
+ search_kw['filter'] = "&(objectclass=krbPrincipalAux)(!(objectClass=posixAccount))(!(|(krbprincipalname=kadmin/*)(krbprincipalname=K/M@*)(krbprincipalname=krbtgt/*)))"
+ search_kw['krbprincipalname'] = principal
object_type = ldap.get_object_type("krbprincipalname")
if object_type and not kw.get('objectclass'):
- kw['objectclass'] = object_type
+ search_kw['objectclass'] = object_type
- return ldap.search(**kw)
+ return ldap.search(**search_kw)
def output_for_cli(self, textui, result, *args, **options):
counter = result[0]
diff --git a/ipalib/plugins/f_user.py b/ipalib/plugins/f_user.py
index c8b819dd..8cd3a592 100644
--- a/ipalib/plugins/f_user.py
+++ b/ipalib/plugins/f_user.py
@@ -282,17 +282,18 @@ class user_find(crud.Find):
search_fields_conf_str = config.get('ipausersearchfields')
search_fields = search_fields_conf_str.split(",")
+ search_kw = {}
for s in search_fields:
- kw[s] = term
+ search_kw[s] = term
object_type = ldap.get_object_type("uid")
if object_type and not kw.get('objectclass'):
- kw['objectclass'] = object_type
+ search_kw['objectclass'] = object_type
if kw.get('all', False):
- kw['attributes'] = ['*']
+ search_kw['attributes'] = ['*']
else:
- kw['attributes'] = default_attributes
- return ldap.search(**kw)
+ search_kw['attributes'] = default_attributes
+ return ldap.search(**search_kw)
def output_for_cli(self, textui, result, uid, **options):
counter = result[0]