summaryrefslogtreecommitdiffstats
path: root/src/responder/nss/nsssrv_netgroup.c
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2012-01-05 20:23:04 +0100
committerStephen Gallagher <sgallagh@redhat.com>2012-02-05 19:16:16 -0500
commit98076cabc2a8b8f71dc3bc1263519827f71a5fcc (patch)
tree86af86db1d547be63bf72c3471b23fb6f0a96286 /src/responder/nss/nsssrv_netgroup.c
parent5708dc97b69a468f077616d7a75e81f4172f63fa (diff)
downloadsssd-98076cabc2a8b8f71dc3bc1263519827f71a5fcc.tar.gz
sssd-98076cabc2a8b8f71dc3bc1263519827f71a5fcc.tar.xz
sssd-98076cabc2a8b8f71dc3bc1263519827f71a5fcc.zip
RESPONDERS: Refactor setent_req_list
Makes the setent_add_ref() and setent_notify_*() functions more generic to be reusable by the autofs responder.
Diffstat (limited to 'src/responder/nss/nsssrv_netgroup.c')
-rw-r--r--src/responder/nss/nsssrv_netgroup.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/src/responder/nss/nsssrv_netgroup.c b/src/responder/nss/nsssrv_netgroup.c
index 2b9707ab8..9943bca60 100644
--- a/src/responder/nss/nsssrv_netgroup.c
+++ b/src/responder/nss/nsssrv_netgroup.c
@@ -254,7 +254,7 @@ static struct tevent_req *setnetgrent_send(TALLOC_CTX *mem_ctx,
/* Result object is still being constructed
* Register for notification when it's ready
*/
- ret = setent_add_ref(cmdctx->cctx, state->netgr, req);
+ ret = nss_setent_add_ref(cmdctx->cctx, state->netgr, req);
if (ret != EOK) {
goto error;
}
@@ -281,7 +281,7 @@ static struct tevent_req *setnetgrent_send(TALLOC_CTX *mem_ctx,
state->netgr->lookup_table = nctx->netgroups;
/* Add a reference for ourselves */
- ret = setent_add_ref(cmdctx->cctx, state->netgr, req);
+ ret = nss_setent_add_ref(cmdctx->cctx, state->netgr, req);
if (ret != EOK) {
talloc_free(state->netgr);
goto error;
@@ -557,15 +557,7 @@ static void lookup_netgr_dp_callback(uint16_t err_maj, uint32_t err_min,
}
/* We have results to return */
- while(dctx->netgr->reqs) {
- if (ret == EOK) {
- tevent_req_done(dctx->netgr->reqs->req);
- } else {
- tevent_req_error(dctx->netgr->reqs->req, ret);
- }
- /* Freeing each entry in the list removes it from the dlist */
- talloc_free(dctx->netgr->reqs);
- }
+ nss_setent_notify_error(dctx->netgr, ret);
}
static void setnetgrent_result_timeout(struct tevent_context *ev,