diff options
author | Kevin McCarthy <kmccarth@redhat.com> | 2007-10-09 09:26:16 -0700 |
---|---|---|
committer | Kevin McCarthy <kmccarth@redhat.com> | 2007-10-09 09:26:16 -0700 |
commit | 2b38769b50b51d28111a07be86d9fc70e5b6b8f5 (patch) | |
tree | 0eb02fb25e56a42b11f32ff83cde1f5337ae28ce /ipa-server/xmlrpc-server/funcs.py | |
parent | aaa992b74405f41e2f51d1fb2946c57303c3de07 (diff) | |
download | freeipa-2b38769b50b51d28111a07be86d9fc70e5b6b8f5.tar.gz freeipa-2b38769b50b51d28111a07be86d9fc70e5b6b8f5.tar.xz freeipa-2b38769b50b51d28111a07be86d9fc70e5b6b8f5.zip |
Combine get_user/group by dn/cn into get_entry_by_cn/dn.
Also a couple double-escaping fixes I missed in the last patch.
Diffstat (limited to 'ipa-server/xmlrpc-server/funcs.py')
-rw-r--r-- | ipa-server/xmlrpc-server/funcs.py | 56 |
1 files changed, 25 insertions, 31 deletions
diff --git a/ipa-server/xmlrpc-server/funcs.py b/ipa-server/xmlrpc-server/funcs.py index 52c382409..ca85dfe46 100644 --- a/ipa-server/xmlrpc-server/funcs.py +++ b/ipa-server/xmlrpc-server/funcs.py @@ -323,7 +323,26 @@ class IPAServer: partial_match_filter += ")" return (exact_match_filter, partial_match_filter) - + +# General searches + + def get_entry_by_dn (self, dn, sattrs=None, opts=None): + """Get a specific entry. Return as a dict of values. + Multi-valued fields are represented as lists. + """ + + filter = "(objectClass=*)" + return self.__get_entry(dn, filter, sattrs, opts) + + def get_entry_by_cn (self, cn, sattrs=None, opts=None): + """Get a specific entry by cn. Return as a dict of values. + Multi-valued fields are represented as lists. + """ + + cn = self.__safe_filter(cn) + filter = "(cn=" + cn + ")" + return self.__get_entry(self.basedn, filter, sattrs, opts) + # User support def __is_user_unique(self, uid, opts): @@ -345,14 +364,6 @@ class IPAServer: uid = self.__safe_filter(uid) filter = "(uid=" + uid + ")" return self.__get_entry(self.basedn, filter, sattrs, opts) - - def get_user_by_dn (self, dn, sattrs=None, opts=None): - """Get a specific user's entry. Return as a dict of values. - Multi-valued fields are represented as lists. - """ - - filter = "(objectClass=*)" - return self.__get_entry(dn, filter, sattrs, opts) def get_user_by_principal(self, principal, sattrs=None, opts=None): """Get a user entry searching by Kerberos Principal Name. @@ -649,23 +660,6 @@ class IPAServer: except ipaerror.exception_for(ipaerror.LDAP_NOT_FOUND): return 1 - def get_group_by_cn (self, cn, sattrs=None, opts=None): - """Get a specific group's entry. Return as a dict of values. - Multi-valued fields are represented as lists. - """ - - cn = self.__safe_filter(cn) - filter = "(cn=" + cn + ")" - return self.__get_entry(self.basedn, filter, sattrs, opts) - - def get_group_by_dn (self, dn, sattrs=None, opts=None): - """Get a specific group's entry. Return as a dict of values. - Multi-valued fields are represented as lists. - """ - - filter = "(objectClass=*)" - return self.__get_entry(dn, filter, sattrs, opts) - def get_groups_by_member (self, member_dn, sattrs=None, opts=None): """Get a specific group's entry. Return as a dict of values. Multi-valued fields are represented as lists. @@ -787,7 +781,7 @@ class IPAServer: """Add a member to an existing group. """ - old_group = self.get_group_by_dn(group_dn, None, opts) + old_group = self.get_entry_by_dn(group_dn, None, opts) if old_group is None: raise ipaerror.gen_exception(ipaerror.LDAP_NOT_FOUND) new_group = copy.deepcopy(old_group) @@ -834,7 +828,7 @@ class IPAServer: """Remove a member_dn from an existing group. """ - old_group = self.get_group_by_dn(group_dn, None, opts) + old_group = self.get_entry_by_dn(group_dn, None, opts) if old_group is None: raise ipaerror.gen_exception(ipaerror.LDAP_NOT_FOUND) new_group = copy.deepcopy(old_group) @@ -1002,7 +996,7 @@ class IPAServer: The memberOf plugin handles removing the group from any other groups. """ - group = self.get_group_by_dn(group_dn, ['dn', 'cn'], opts) + group = self.get_entry_by_dn(group_dn, ['dn', 'cn'], opts) if len(group) != 1: raise ipaerror.gen_exception(ipaerror.LDAP_NOT_FOUND) @@ -1020,12 +1014,12 @@ class IPAServer: tgroup is the DN of the target group to be added to """ - old_group = self.get_group_by_dn(tgroup, None, opts) + old_group = self.get_entry_by_dn(tgroup, None, opts) if old_group is None: raise ipaerror.gen_exception(ipaerror.LDAP_NOT_FOUND) new_group = copy.deepcopy(old_group) - group_dn = self.get_group_by_dn(group, ['dn', 'cn', 'objectclass'], opts) + group_dn = self.get_entry_by_dn(group, ['dn', 'cn', 'objectclass'], opts) if group_dn is None: raise ipaerror.gen_exception(ipaerror.LDAP_NOT_FOUND) |