summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2012-05-22 17:41:52 +0200
committerStephen Gallagher <sgallagh@redhat.com>2012-05-22 13:26:52 -0400
commit171c04604b73f5b7b315a221ec796ebb506ea57f (patch)
tree00225edf404c7714e2eeaa5d637d6fda220a91b4
parent24b333a01aec29cd0fbe3042f362d5bbeec6b99b (diff)
downloadsssd-1.8.0-29.el6.tar.gz
sssd-1.8.0-29.el6.tar.xz
sssd-1.8.0-29.el6.zip
LDAP nested groups: Do not process callback with _post deep in the nested structuresssd-1.8.0-29.el6
https://fedorahosted.org/sssd/ticket/1343
-rw-r--r--src/providers/ldap/sdap_async_groups.c22
1 files changed, 10 insertions, 12 deletions
diff --git a/src/providers/ldap/sdap_async_groups.c b/src/providers/ldap/sdap_async_groups.c
index aad2990c5..0123a9dbf 100644
--- a/src/providers/ldap/sdap_async_groups.c
+++ b/src/providers/ldap/sdap_async_groups.c
@@ -2498,14 +2498,13 @@ static errno_t sdap_nested_group_lookup_user(struct tevent_req *req,
ret = sdap_nested_group_process_step(req);
}
- if (ret == EOK) {
- /* EOK means it's complete */
- tevent_req_done(req);
- tevent_req_post(req, state->ev);
- } else if (ret != EAGAIN) {
+ if (ret != EOK && ret != EAGAIN) {
+ DEBUG(SSSDBG_OP_FAILURE, ("Nested group processing failed\n"));
return ret;
+ } else if (ret == EOK) {
+ DEBUG(SSSDBG_TRACE_FUNC, ("All done.\n"));
+ tevent_req_done(req);
}
-
return EOK;
}
/*
@@ -2583,14 +2582,13 @@ static errno_t sdap_nested_group_lookup_group(struct tevent_req *req)
ret = sdap_nested_group_process_step(req);
}
- if (ret == EOK) {
- /* EOK means it's complete */
- tevent_req_done(req);
- tevent_req_post(req, state->ev);
- } else if (ret != EAGAIN) {
+ if (ret != EOK && ret != EAGAIN) {
+ DEBUG(SSSDBG_OP_FAILURE, ("Nested group processing failed\n"));
return ret;
+ } else if (ret == EOK) {
+ DEBUG(SSSDBG_TRACE_FUNC, ("All done.\n"));
+ tevent_req_done(req);
}
-
return EOK;
}