diff options
author | Jan Cholasta <jcholast@redhat.com> | 2012-11-22 12:21:52 +0100 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2013-03-21 17:58:05 +0100 |
commit | 4709ff46db0dbe073aef061b796d2fd7adeaf18f (patch) | |
tree | 941e507ffdf6e6d0fef31a043a808c6a00d70029 /src/providers/ldap/sdap_async_initgroups.c | |
parent | 6b0a7c72bb841d6885a620c68bd51d55109b66c7 (diff) | |
download | sssd-4709ff46db0dbe073aef061b796d2fd7adeaf18f.tar.gz sssd-4709ff46db0dbe073aef061b796d2fd7adeaf18f.tar.xz sssd-4709ff46db0dbe073aef061b796d2fd7adeaf18f.zip |
LDAP: If deref search fails, try again without deref
https://fedorahosted.org/sssd/ticket/1660
Diffstat (limited to 'src/providers/ldap/sdap_async_initgroups.c')
-rw-r--r-- | src/providers/ldap/sdap_async_initgroups.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/providers/ldap/sdap_async_initgroups.c b/src/providers/ldap/sdap_async_initgroups.c index 23be22fd1..5a6ba0285 100644 --- a/src/providers/ldap/sdap_async_initgroups.c +++ b/src/providers/ldap/sdap_async_initgroups.c @@ -880,7 +880,17 @@ static void sdap_initgr_nested_deref_done(struct tevent_req *subreq) &num_results, &deref_result); talloc_zfree(subreq); - if (ret != EOK && ret != ENOENT) { + if (ret == ENOTSUP) { + ret = sdap_initgr_nested_noderef_search(req); + if (ret != EAGAIN) { + if (ret == EOK) { + tevent_req_done(req); + } else { + tevent_req_error(req, ret); + } + } + return; + } else if (ret != EOK && ret != ENOENT) { tevent_req_error(req, ret); return; } else if (ret == ENOENT || deref_result == NULL) { |