summaryrefslogtreecommitdiffstats
path: root/source4/libnet
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2014-01-14 12:11:17 +0100
committerGünther Deschner <gd@samba.org>2014-01-16 16:22:51 +0100
commit3c02eab24850d8fe1bf88783f3350442b113ab1f (patch)
tree32bd52e4c12702addcb879948fd50c81f724feb9 /source4/libnet
parent7a97662bb53e8b048a02fec79d167f2466f4233f (diff)
downloadsamba-3c02eab24850d8fe1bf88783f3350442b113ab1f.tar.gz
samba-3c02eab24850d8fe1bf88783f3350442b113ab1f.tar.xz
samba-3c02eab24850d8fe1bf88783f3350442b113ab1f.zip
s4:libnet: remove unused libnet_rpc_groupdel* code
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
Diffstat (limited to 'source4/libnet')
-rw-r--r--source4/libnet/groupman.c195
-rw-r--r--source4/libnet/groupman.h11
2 files changed, 0 insertions, 206 deletions
diff --git a/source4/libnet/groupman.c b/source4/libnet/groupman.c
index 0bd7320ead5..c91eff365cf 100644
--- a/source4/libnet/groupman.c
+++ b/source4/libnet/groupman.c
@@ -137,198 +137,3 @@ NTSTATUS libnet_rpc_groupadd(struct tevent_context *ev,
c = libnet_rpc_groupadd_send(mem_ctx, ev, b, io, NULL);
return libnet_rpc_groupadd_recv(c, mem_ctx, io);
}
-
-
-struct groupdel_state {
- struct dcerpc_pipe *pipe;
- struct policy_handle domain_handle;
- struct policy_handle group_handle;
- struct samr_LookupNames lookupname;
- struct samr_OpenGroup opengroup;
- struct samr_DeleteDomainGroup deletegroup;
-
- /* information about the progress */
- void (*monitor_fn)(struct monitor_msg *);
-};
-
-
-static void continue_groupdel_name_found(struct tevent_req *subreq);
-static void continue_groupdel_group_opened(struct tevent_req *subreq);
-static void continue_groupdel_deleted(struct tevent_req *subreq);
-
-
-struct composite_context* libnet_rpc_groupdel_send(struct dcerpc_pipe *p,
- TALLOC_CTX *mem_ctx,
- struct libnet_rpc_groupdel *io,
- void (*monitor)(struct monitor_msg*))
-{
- struct composite_context *c;
- struct groupdel_state *s;
- struct tevent_req *subreq;
-
- /* composite context allocation and setup */
- c = composite_create(mem_ctx, dcerpc_event_context(p));
- if (c == NULL) return NULL;
-
- s = talloc_zero(c, struct groupdel_state);
- if (composite_nomem(s, c)) return c;
-
- c->private_data = s;
-
- /* store function parameters in the state structure */
- s->pipe = p;
- s->domain_handle = io->in.domain_handle;
- s->monitor_fn = monitor;
-
- /* prepare parameters to send rpc request */
- s->lookupname.in.domain_handle = &io->in.domain_handle;
- s->lookupname.in.num_names = 1;
- s->lookupname.in.names = talloc_zero(s, struct lsa_String);
- s->lookupname.in.names->string = io->in.groupname;
- s->lookupname.out.rids = talloc_zero(s, struct samr_Ids);
- s->lookupname.out.types = talloc_zero(s, struct samr_Ids);
- if (composite_nomem(s->lookupname.out.rids, c)) return c;
- if (composite_nomem(s->lookupname.out.types, c)) return c;
-
- /* send the request */
- subreq = dcerpc_samr_LookupNames_r_send(s, c->event_ctx,
- p->binding_handle,
- &s->lookupname);
- if (composite_nomem(subreq, c)) return c;
-
- tevent_req_set_callback(subreq, continue_groupdel_name_found, c);
- return c;
-}
-
-
-static void continue_groupdel_name_found(struct tevent_req *subreq)
-{
- struct composite_context *c;
- struct groupdel_state *s;
-
- c = tevent_req_callback_data(subreq, struct composite_context);
- s = talloc_get_type(c->private_data, struct groupdel_state);
-
- /* receive samr_LookupNames result */
- c->status = dcerpc_samr_LookupNames_r_recv(subreq, s);
- TALLOC_FREE(subreq);
- if (!composite_is_ok(c)) return;
-
- c->status = s->lookupname.out.result;
- if (!NT_STATUS_IS_OK(c->status)) {
- composite_error(c, c->status);
- return;
- }
-
- /* what to do when there's no group account to delete
- and what if there's more than one rid resolved */
- if (s->lookupname.out.rids->count != s->lookupname.in.num_names) {
- c->status = NT_STATUS_INVALID_NETWORK_RESPONSE;
- composite_error(c, c->status);
- return;
- }
- if (s->lookupname.out.types->count != s->lookupname.in.num_names) {
- c->status = NT_STATUS_INVALID_NETWORK_RESPONSE;
- composite_error(c, c->status);
- return;
- }
-
- /* prepare the arguments for rpc call */
- s->opengroup.in.domain_handle = &s->domain_handle;
- s->opengroup.in.rid = s->lookupname.out.rids->ids[0];
- s->opengroup.in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
- s->opengroup.out.group_handle = &s->group_handle;
-
- /* send rpc request */
- subreq = dcerpc_samr_OpenGroup_r_send(s, c->event_ctx,
- s->pipe->binding_handle,
- &s->opengroup);
- if (composite_nomem(subreq, c)) return;
-
- tevent_req_set_callback(subreq, continue_groupdel_group_opened, c);
-}
-
-
-static void continue_groupdel_group_opened(struct tevent_req *subreq)
-{
- struct composite_context *c;
- struct groupdel_state *s;
-
- c = tevent_req_callback_data(subreq, struct composite_context);
- s = talloc_get_type(c->private_data, struct groupdel_state);
-
- /* receive samr_OpenGroup result */
- c->status = dcerpc_samr_OpenGroup_r_recv(subreq, s);
- TALLOC_FREE(subreq);
- if (!composite_is_ok(c)) return;
-
- c->status = s->opengroup.out.result;
- if (!NT_STATUS_IS_OK(c->status)) {
- composite_error(c, c->status);
- return;
- }
-
- /* prepare the final rpc call arguments */
- s->deletegroup.in.group_handle = &s->group_handle;
- s->deletegroup.out.group_handle = &s->group_handle;
-
- /* send rpc request */
- subreq = dcerpc_samr_DeleteDomainGroup_r_send(s, c->event_ctx,
- s->pipe->binding_handle,
- &s->deletegroup);
- if (composite_nomem(subreq, c)) return;
-
- /* callback handler setup */
- tevent_req_set_callback(subreq, continue_groupdel_deleted, c);
-}
-
-
-static void continue_groupdel_deleted(struct tevent_req *subreq)
-{
- struct composite_context *c;
- struct groupdel_state *s;
-
- c = tevent_req_callback_data(subreq, struct composite_context);
- s = talloc_get_type(c->private_data, struct groupdel_state);
-
- /* receive samr_DeleteGroup result */
- c->status = dcerpc_samr_DeleteDomainGroup_r_recv(subreq, s);
- TALLOC_FREE(subreq);
- if (!composite_is_ok(c)) return;
-
- /* return the actual function call status */
- c->status = s->deletegroup.out.result;
- if (!NT_STATUS_IS_OK(c->status)) {
- composite_error(c, c->status);
- return;
- }
-
- composite_done(c);
-}
-
-
-NTSTATUS libnet_rpc_groupdel_recv(struct composite_context *c, TALLOC_CTX *mem_ctx,
- struct libnet_rpc_groupdel *io)
-{
- NTSTATUS status;
- struct groupdel_state *s;
-
- status = composite_wait(c);
- if (NT_STATUS_IS_OK(status) && io) {
- s = talloc_get_type(c->private_data, struct groupdel_state);
- io->out.group_handle = s->group_handle;
- }
-
- talloc_free(c);
- return status;
-}
-
-
-NTSTATUS libnet_rpc_groupdel(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
- struct libnet_rpc_groupdel *io)
-{
- struct composite_context *c;
-
- c = libnet_rpc_groupdel_send(p, mem_ctx, io, NULL);
- return libnet_rpc_groupdel_recv(c, mem_ctx, io);
-}
diff --git a/source4/libnet/groupman.h b/source4/libnet/groupman.h
index cd4452e73c6..0acb02de5a4 100644
--- a/source4/libnet/groupman.h
+++ b/source4/libnet/groupman.h
@@ -33,14 +33,3 @@ struct libnet_rpc_groupadd {
struct policy_handle group_handle;
} out;
};
-
-
-struct libnet_rpc_groupdel {
- struct {
- struct policy_handle domain_handle;
- const char *groupname;
- } in;
- struct {
- struct policy_handle group_handle;
- } out;
-};