summaryrefslogtreecommitdiff
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
commit959d94b153aa1add5caeac528e966e79298ce7ca (patch)
tree0999732798cfdd4653a094a50499bbcd1c106454
parent0b3b0d225f8485ab0cf392b26f72f7dd5d9c180f (diff)
downloadsamba-959d94b153aa1add5caeac528e966e79298ce7ca.tar.gz
s4:libnet: let libnet_rpc_groupinfo() take tevent_context/dcerpc_binding_handle
This avoids usage/dereferencing 'struct dcerpc_pipe'. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
-rw-r--r--source4/libnet/groupinfo.c7
-rw-r--r--source4/torture/libnet/groupinfo.c6
2 files changed, 7 insertions, 6 deletions
diff --git a/source4/libnet/groupinfo.c b/source4/libnet/groupinfo.c
index 4e5fea63211..3d2968b82f4 100644
--- a/source4/libnet/groupinfo.c
+++ b/source4/libnet/groupinfo.c
@@ -373,13 +373,12 @@ NTSTATUS libnet_rpc_groupinfo_recv(struct composite_context *c, TALLOC_CTX *mem_
* @return nt status code of execution
*/
-NTSTATUS libnet_rpc_groupinfo(struct dcerpc_pipe *p,
+NTSTATUS libnet_rpc_groupinfo(struct tevent_context *ev,
+ struct dcerpc_binding_handle *b,
TALLOC_CTX *mem_ctx,
struct libnet_rpc_groupinfo *io)
{
- struct composite_context *c = libnet_rpc_groupinfo_send(mem_ctx,
- p->conn->event_ctx,
- p->binding_handle,
+ struct composite_context *c = libnet_rpc_groupinfo_send(mem_ctx, ev, b,
io, NULL);
return libnet_rpc_groupinfo_recv(c, mem_ctx, io);
}
diff --git a/source4/torture/libnet/groupinfo.c b/source4/torture/libnet/groupinfo.c
index 0858d291e0d..a738ab3136c 100644
--- a/source4/torture/libnet/groupinfo.c
+++ b/source4/torture/libnet/groupinfo.c
@@ -42,12 +42,14 @@ static bool test_groupinfo(struct torture_context *tctx,
group_sid = dom_sid_add_rid(mem_ctx, domain_sid, *rid);
+ ZERO_STRUCT(group);
+
group.in.domain_handle = *domain_handle;
group.in.sid = dom_sid_string(mem_ctx, group_sid);
group.in.level = level; /* this should be extended */
torture_comment(tctx, "Testing sync libnet_rpc_groupinfo (SID argument)\n");
- status = libnet_rpc_groupinfo(p, mem_ctx, &group);
+ status = libnet_rpc_groupinfo(tctx->ev, p->binding_handle, mem_ctx, &group);
if (!NT_STATUS_IS_OK(status)) {
torture_comment(tctx, "Failed to call sync libnet_rpc_userinfo - %s\n", nt_errstr(status));
return false;
@@ -61,7 +63,7 @@ static bool test_groupinfo(struct torture_context *tctx,
group.in.level = level;
printf("Testing sync libnet_rpc_groupinfo (groupname argument)\n");
- status = libnet_rpc_groupinfo(p, mem_ctx, &group);
+ status = libnet_rpc_groupinfo(tctx->ev, p->binding_handle, mem_ctx, &group);
if (!NT_STATUS_IS_OK(status)) {
torture_comment(tctx, "Failed to call sync libnet_rpc_groupinfo - %s\n", nt_errstr(status));
return false;