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

Reply via email to