summaryrefslogtreecommitdiff
path: root/source4/libnet/groupman.c
diff options
context:
space:
mode:
Diffstat (limited to 'source4/libnet/groupman.c')
-rw-r--r--source4/libnet/groupman.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/source4/libnet/groupman.c b/source4/libnet/groupman.c
index 59a3f35d62c..60b6aeb6b31 100644
--- a/source4/libnet/groupman.c
+++ b/source4/libnet/groupman.c
@@ -28,7 +28,7 @@
struct groupadd_state {
- struct dcerpc_pipe *pipe;
+ struct dcerpc_binding_handle *binding_handle;
struct policy_handle domain_handle;
struct samr_CreateDomainGroup creategroup;
struct policy_handle group_handle;
@@ -41,8 +41,9 @@ struct groupadd_state {
static void continue_groupadd_created(struct tevent_req *subreq);
-struct composite_context* libnet_rpc_groupadd_send(struct dcerpc_pipe *p,
- TALLOC_CTX *mem_ctx,
+struct composite_context* libnet_rpc_groupadd_send(TALLOC_CTX *mem_ctx,
+ struct tevent_context *ev,
+ struct dcerpc_binding_handle *b,
struct libnet_rpc_groupadd *io,
void (*monitor)(struct monitor_msg*))
{
@@ -50,9 +51,9 @@ struct composite_context* libnet_rpc_groupadd_send(struct dcerpc_pipe *p,
struct groupadd_state *s;
struct tevent_req *subreq;
- if (!p || !io) return NULL;
+ if (!b || !io) return NULL;
- c = composite_create(mem_ctx, dcerpc_event_context(p));
+ c = composite_create(mem_ctx, ev);
if (c == NULL) return NULL;
s = talloc_zero(c, struct groupadd_state);
@@ -61,7 +62,7 @@ struct composite_context* libnet_rpc_groupadd_send(struct dcerpc_pipe *p,
c->private_data = s;
s->domain_handle = io->in.domain_handle;
- s->pipe = p;
+ s->binding_handle= b;
s->monitor_fn = monitor;
s->creategroup.in.domain_handle = &s->domain_handle;
@@ -78,7 +79,7 @@ struct composite_context* libnet_rpc_groupadd_send(struct dcerpc_pipe *p,
s->creategroup.out.rid = &s->group_rid;
subreq = dcerpc_samr_CreateDomainGroup_r_send(s, c->event_ctx,
- s->pipe->binding_handle,
+ s->binding_handle,
&s->creategroup);
if (composite_nomem(subreq, c)) return c;
@@ -131,7 +132,8 @@ NTSTATUS libnet_rpc_groupadd(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
{
struct composite_context *c;
- c = libnet_rpc_groupadd_send(p, mem_ctx, io, NULL);
+ c = libnet_rpc_groupadd_send(mem_ctx, p->conn->event_ctx,
+ p->binding_handle, io, NULL);
return libnet_rpc_groupadd_recv(c, mem_ctx, io);
}