From e11e8235ac9af09a587262368ef795cddbdd0e4e Mon Sep 17 00:00:00 2001 From: Tomas Babej Date: Wed, 19 Nov 2014 12:00:07 +0100 Subject: baseldap: Handle missing parent objects properly in *-find commands The find_entries function in ipaldap does not differentiate between a LDAP search that returns error code 32 (No such object) and LDAP search returning error code 0 (Success), but returning no results. In both cases errors.NotFound is raised. In turn, LDAPSearch commands interpret NotFound exception as no results. To differentiate between the cases, a new error EmptyResult was added, which inherits from NotFound to preserve the compatibility with the new code. This error is raised by ipaldap.find_entries in case it is performing a search with and the target dn does not exist. https://fedorahosted.org/freeipa/ticket/4659 Reviewed-By: Jan Cholasta --- ipapython/ipaldap.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'ipapython') diff --git a/ipapython/ipaldap.py b/ipapython/ipaldap.py index 1702daa25..ce07006eb 100644 --- a/ipapython/ipaldap.py +++ b/ipapython/ipaldap.py @@ -1527,7 +1527,7 @@ class LDAPClient(object): break if not res and not truncated: - raise errors.NotFound(reason='no such entry') + raise errors.EmptyResult(reason='no matching entry found') return (res, truncated) -- cgit