https://fedorahosted.org/sssd/ticket/1783
The proper way to fix this would be to rewrite return codes of involved functions, so that we call tevent_req_done() and tevent_req_post() in _send(). However, rewriting return codes may be tricky and given the circumstances (blocker for 6.4 and deadline), I chose to call tevent_req_post() directly and open a new ticket for the return codes: https://fedorahosted.org/sssd/ticket/1784
From 1ed68e7823a197f35fb53015e6d2a94bfffcad55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pavel=20B=C5=99ezina?= <[email protected]> Date: Wed, 23 Jan 2013 14:34:03 +0100 Subject: [PATCH] nested groups: fix group lookup hangs if member dn is incorrect https://fedorahosted.org/sssd/ticket/1783 When dn in member attribute is invalid (e.g. rdn instead of dn), we hit a situation when tevent_req is marked as done before any callback could be attached to it. --- src/providers/ldap/sdap_async_groups.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/providers/ldap/sdap_async_groups.c b/src/providers/ldap/sdap_async_groups.c index 96cc7c0c1e308e7a8f0b714c2e34e01a62d76779..5f948a1691d12435353795879beb9c993d7b7f64 100644 --- a/src/providers/ldap/sdap_async_groups.c +++ b/src/providers/ldap/sdap_async_groups.c @@ -3265,6 +3265,7 @@ static errno_t sdap_nested_group_lookup_group(struct tevent_req *req) } else if (ret == EOK) { DEBUG(SSSDBG_TRACE_FUNC, ("All done.\n")); tevent_req_done(req); + tevent_req_post(req, state->ev); } return EOK; } -- 1.7.11.7
_______________________________________________ sssd-devel mailing list [email protected] https://lists.fedorahosted.org/mailman/listinfo/sssd-devel
