diff options
author | Simo Sorce <ssorce@redhat.com> | 2010-03-03 15:29:39 -0500 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2010-04-12 09:22:14 -0400 |
commit | 3b3dc1a8ad19100951d19abe4038791f01faa0b7 (patch) | |
tree | 17b006f23b47701fa4e90da5df3bd4963602b9b7 /src/providers/proxy.c | |
parent | ed80c73efa51780a39dfc9c72821cf88e95d264c (diff) | |
download | sssd-3b3dc1a8ad19100951d19abe4038791f01faa0b7.tar.gz sssd-3b3dc1a8ad19100951d19abe4038791f01faa0b7.tar.bz2 sssd-3b3dc1a8ad19100951d19abe4038791f01faa0b7.zip |
sysdb: delete sysdb_delete_group
Diffstat (limited to 'src/providers/proxy.c')
-rw-r--r-- | src/providers/proxy.c | 69 |
1 files changed, 10 insertions, 59 deletions
diff --git a/src/providers/proxy.c b/src/providers/proxy.c index 7b56a95e..42a19ec0 100644 --- a/src/providers/proxy.c +++ b/src/providers/proxy.c @@ -1032,7 +1032,6 @@ fail: /* =Getgrgid-wrapper======================================================*/ static void get_gr_gid_process(struct tevent_req *subreq); -static void get_gr_gid_remove_done(struct tevent_req *subreq); static struct tevent_req *get_gr_gid_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, @@ -1196,39 +1195,12 @@ again: DEBUG(7, ("Group %d does not exist (or is invalid) on remote server," " deleting!\n", state->gid)); - subreq = sysdb_delete_group_send(state, state->ev, - NULL, state->handle, - state->domain, - NULL, state->gid); - if (!subreq) { - tevent_req_error(req, ENOMEM); + ret = sysdb_delete_group(state, state->sysdb, + state->domain, NULL, state->gid); + if (ret) { + tevent_req_error(req, ret); return; } - tevent_req_set_callback(subreq, get_gr_gid_remove_done, req); - return; - } - - subreq = sysdb_transaction_commit_send(state, state->ev, state->handle); - if (!subreq) { - tevent_req_error(req, ENOMEM); - return; - } - tevent_req_set_callback(subreq, proxy_default_done, req); -} - -static void get_gr_gid_remove_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data(subreq, - struct tevent_req); - struct proxy_state *state = tevent_req_data(req, - struct proxy_state); - int ret; - - ret = sysdb_delete_group_recv(subreq); - talloc_zfree(subreq); - if (ret && ret != ENOENT) { - tevent_req_error(req, ret); - return; } subreq = sysdb_transaction_commit_send(state, state->ev, state->handle); @@ -1454,7 +1426,6 @@ static struct tevent_req *get_group_from_gid_send(TALLOC_CTX *mem_ctx, struct sss_domain_info *domain, gid_t gid); static int get_group_from_gid_recv(struct tevent_req *req); -static void get_group_from_gid_send_del_done(struct tevent_req *subreq); static struct tevent_req *get_initgr_send(TALLOC_CTX *mem_ctx, @@ -1780,7 +1751,7 @@ static struct tevent_req *get_group_from_gid_send(TALLOC_CTX *mem_ctx, struct sss_domain_info *domain, gid_t gid) { - struct tevent_req *req, *subreq; + struct tevent_req *req; struct proxy_state *state; struct sss_domain_info *dom = ctx->be->domain; enum nss_status status; @@ -1881,8 +1852,6 @@ again: if (ret) { goto fail; } - tevent_req_done(req); - tevent_req_post(req, ev); break; case NSS_STATUS_UNAVAIL: @@ -1898,17 +1867,15 @@ again: } if (delete_group) { - subreq = sysdb_delete_group_send(state, state->ev, - NULL, state->handle, - state->domain, - NULL, state->gid); - if (!subreq) { - ret = ENOMEM; + ret = sysdb_delete_group(state, state->sysdb, + state->domain, NULL, state->gid); + if (ret) { goto fail; } - tevent_req_set_callback(subreq, get_group_from_gid_send_del_done, req); } + tevent_req_done(req); + tevent_req_post(req, ev); return req; fail: @@ -1917,22 +1884,6 @@ fail: return req; } -static void get_group_from_gid_send_del_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data(subreq, - struct tevent_req); - int ret; - - ret = sysdb_delete_group_recv(subreq); - talloc_zfree(subreq); - if (ret && ret != ENOENT) { - tevent_req_error(req, ret); - return; - } - - tevent_req_done(req); -} - static int get_group_from_gid_recv(struct tevent_req *req) { TEVENT_REQ_RETURN_ON_ERROR(req); |