diff options
author | Rob Crittenden <rcritten@redhat.com> | 2008-12-05 15:31:18 -0500 |
---|---|---|
committer | Rob Crittenden <rcritten@redhat.com> | 2008-12-10 14:15:19 -0500 |
commit | fc8ac693726ec33b5c0924f9b8ff5d663705a5a3 (patch) | |
tree | bd8484d2ebd978a9689ab5f6178a3cd92e124692 /ipa_server | |
parent | a3ab787d23331cf4d060d8463ca66ff602f3629b (diff) | |
download | freeipa-fc8ac693726ec33b5c0924f9b8ff5d663705a5a3.tar.gz freeipa-fc8ac693726ec33b5c0924f9b8ff5d663705a5a3.tar.xz freeipa-fc8ac693726ec33b5c0924f9b8ff5d663705a5a3.zip |
Port plugins to use the new output_for_cli() argument list
Fix some errors uncovered by the nosetests
Diffstat (limited to 'ipa_server')
-rw-r--r-- | ipa_server/ipaldap.py | 10 | ||||
-rw-r--r-- | ipa_server/plugins/b_ldap.py | 8 |
2 files changed, 13 insertions, 5 deletions
diff --git a/ipa_server/ipaldap.py b/ipa_server/ipaldap.py index 7cfd6c41f..215ef683f 100644 --- a/ipa_server/ipaldap.py +++ b/ipa_server/ipaldap.py @@ -375,7 +375,7 @@ class IPAdmin(SimpleLDAPObject): except ldap.ALREADY_EXISTS, e: raise errors.DuplicateEntry, "Entry already exists" except ldap.LDAPError, e: - raise e + raise DatabaseError, e return True def updateRDN(self, dn, newrdn): @@ -392,7 +392,7 @@ class IPAdmin(SimpleLDAPObject): self.set_option(ldap.OPT_SERVER_CONTROLS, sctrl) self.modrdn_s(dn, newrdn, delold=1) except ldap.LDAPError, e: - raise e + raise DatabaseError, e return True def updateEntry(self,dn,oldentry,newentry): @@ -474,7 +474,7 @@ class IPAdmin(SimpleLDAPObject): self.set_option(ldap.OPT_SERVER_CONTROLS, sctrl) self.modify_s(dn, modlist) except ldap.LDAPError, e: - raise e + raise DatabaseError, e return True def deleteEntry(self,*args): @@ -486,8 +486,10 @@ class IPAdmin(SimpleLDAPObject): if sctrl is not None: self.set_option(ldap.OPT_SERVER_CONTROLS, sctrl) self.delete_s(*args) + except ldap.INSUFFICIENT_ACCESS, e: + raise errors.InsufficientAccess, e except ldap.LDAPError, e: - raise e + raise errors.DatabaseError, e return True def modifyPassword(self,dn,oldpass,newpass): diff --git a/ipa_server/plugins/b_ldap.py b/ipa_server/plugins/b_ldap.py index 862de1d86..8042474f1 100644 --- a/ipa_server/plugins/b_ldap.py +++ b/ipa_server/plugins/b_ldap.py @@ -267,12 +267,15 @@ class ldap(CrudBackend): objectclass = kw.get('objectclass') sfilter = kw.get('filter') attributes = kw.get('attributes') + base = kw.get('base') if attributes: del kw['attributes'] else: attributes = ['*'] if objectclass: del kw['objectclass'] + if base: + del kw['base'] if sfilter: del kw['filter'] (exact_match_filter, partial_match_filter) = self._generate_search_filters(**kw) @@ -283,7 +286,10 @@ class ldap(CrudBackend): exact_match_filter = "(%s%s)" % (sfilter, exact_match_filter) partial_match_filter = "(%s%s)" % (sfilter, partial_match_filter) - search_base = "%s, %s" % (self.api.env.container_accounts, self.api.env.basedn) + if not base: + base = self.api.env.container_accounts + + search_base = "%s, %s" % (base, self.api.env.basedn) try: exact_results = servercore.search(search_base, exact_match_filter, attributes) |