diff options
author | Martin Babinsky <mbabinsk@redhat.com> | 2015-07-23 10:44:08 +0200 |
---|---|---|
committer | Tomas Babej <tbabej@redhat.com> | 2015-07-23 11:43:05 +0200 |
commit | 7ceaa8e26c3073f3ff3f253025177d49259072f0 (patch) | |
tree | ed9f93486d24730e30d7a9930ad54676c39fde66 /ipalib/plugins | |
parent | cf59981cc2c6bb13c286188aa27cb10a49ff4a5e (diff) | |
download | freeipa-7ceaa8e26c3073f3ff3f253025177d49259072f0.tar.gz freeipa-7ceaa8e26c3073f3ff3f253025177d49259072f0.tar.xz freeipa-7ceaa8e26c3073f3ff3f253025177d49259072f0.zip |
fix broken search for users by their manager
The patch fixes incorrect construction of search filter when using `ipa
user-find` with '--manager' option.
https://fedorahosted.org/freeipa/ticket/5146
Reviewed-By: Tomas Babej <tbabej@redhat.com>
Diffstat (limited to 'ipalib/plugins')
-rw-r--r-- | ipalib/plugins/baseuser.py | 8 | ||||
-rw-r--r-- | ipalib/plugins/stageuser.py | 7 | ||||
-rw-r--r-- | ipalib/plugins/user.py | 4 |
3 files changed, 8 insertions, 11 deletions
diff --git a/ipalib/plugins/baseuser.py b/ipalib/plugins/baseuser.py index 9068ef0fd..bd66cf5a3 100644 --- a/ipalib/plugins/baseuser.py +++ b/ipalib/plugins/baseuser.py @@ -561,6 +561,14 @@ class baseuser_find(LDAPSearch): """ Prototype command plugin to be implemented by real plugin """ + def args_options_2_entry(self, *args, **options): + newoptions = {} + self.common_enhance_options(newoptions, **options) + options.update(newoptions) + + return super(baseuser_find, self).args_options_2_entry( + *args, **options) + def common_enhance_options(self, newoptions, **options): # assure the manager attr is a dn, not just a bare uid manager = options.get('manager') diff --git a/ipalib/plugins/stageuser.py b/ipalib/plugins/stageuser.py index 415dc6a3b..c0c4c87d7 100644 --- a/ipalib/plugins/stageuser.py +++ b/ipalib/plugins/stageuser.py @@ -449,13 +449,6 @@ class stageuser_find(baseuser_find): member_attributes = ['memberof'] has_output_params = baseuser_find.has_output_params + stageuser_output_params - def execute(self, *args, **options): - newoptions = {} - self.common_enhance_options(newoptions, **options) - options.update(newoptions) - - return super(stageuser_find, self).execute(self, *args, **options) - def pre_callback(self, ldap, filter, attrs_list, base_dn, scope, *keys, **options): assert isinstance(base_dn, DN) diff --git a/ipalib/plugins/user.py b/ipalib/plugins/user.py index 9bd7bf7e5..206b380ef 100644 --- a/ipalib/plugins/user.py +++ b/ipalib/plugins/user.py @@ -730,10 +730,6 @@ class user_find(baseuser_find): return ("(&(objectclass=posixaccount)(krbprincipalname=%s))"%\ getattr(context, 'principal'), base_dn, scope) - newoptions = {} - self.common_enhance_options(newoptions, **options) - options.update(newoptions) - preserved = options.get('preserved', False) if preserved is None: base_dn = self.api.env.basedn |