summaryrefslogtreecommitdiffstats
path: root/src/providers/ldap/sdap_async_groups.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/providers/ldap/sdap_async_groups.c')
-rw-r--r--src/providers/ldap/sdap_async_groups.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/providers/ldap/sdap_async_groups.c b/src/providers/ldap/sdap_async_groups.c
index 5bfa35498..4d1ece840 100644
--- a/src/providers/ldap/sdap_async_groups.c
+++ b/src/providers/ldap/sdap_async_groups.c
@@ -2268,7 +2268,7 @@ sdap_nested_get_user_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev,
goto immediate;
} else {
DEBUG(SSSDBG_MINOR_FAILURE, ("Couldn't parse out user information "
- "based on DN %s, falling back to an LDAP lookup\n"));
+ "based on DN %s, falling back to an LDAP lookup\n", user_dn));
}
}
@@ -3646,7 +3646,17 @@ static void sdap_nested_group_process_deref(struct tevent_req *subreq)
&state->derefctx->num_results,
&state->derefctx->deref_result);
talloc_zfree(subreq);
- if (ret != EOK && ret != ENOENT) {
+ if (ret == ENOTSUP) {
+ ret = sdap_nested_group_process_noderef(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 || state->derefctx->deref_result == NULL) {