From a3ae9802d47f7a39030be089d15fc42f8e8917e6 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Mon, 8 Mar 2010 16:27:14 +0100 Subject: s4:libnet: keep a dcerpc_binding_handle for samr and lsa metze --- source4/libnet/libnet.h | 2 ++ source4/libnet/libnet_rpc.c | 2 ++ 2 files changed, 4 insertions(+) (limited to 'source4') diff --git a/source4/libnet/libnet.h b/source4/libnet/libnet.h index 9964a3f526..c1a2e3708b 100644 --- a/source4/libnet/libnet.h +++ b/source4/libnet/libnet.h @@ -30,6 +30,7 @@ struct libnet_context { /* samr connection parameters - opened handles and related properties */ struct { struct dcerpc_pipe *pipe; + struct dcerpc_binding_handle *samr_handle; const char *name; struct dom_sid *sid; uint32_t access_mask; @@ -41,6 +42,7 @@ struct libnet_context { /* lsa connection parameters - opened handles and related properties */ struct { struct dcerpc_pipe *pipe; + struct dcerpc_binding_handle *lsa_handle; const char *name; uint32_t access_mask; struct policy_handle handle; diff --git a/source4/libnet/libnet_rpc.c b/source4/libnet/libnet_rpc.c index 1c35ef6ca1..a681c28106 100644 --- a/source4/libnet/libnet_rpc.c +++ b/source4/libnet/libnet_rpc.c @@ -884,9 +884,11 @@ static NTSTATUS libnet_RpcConnectDCInfo_recv(struct composite_context *c, struct mem_ctx is freed */ if (r->in.dcerpc_iface == &ndr_table_samr) { ctx->samr.pipe = talloc_reference(ctx, r->out.dcerpc_pipe); + ctx->samr.samr_handle = ctx->samr.pipe->binding_handle; } else if (r->in.dcerpc_iface == &ndr_table_lsarpc) { ctx->lsa.pipe = talloc_reference(ctx, r->out.dcerpc_pipe); + ctx->lsa.lsa_handle = ctx->lsa.pipe->binding_handle; } } else { -- cgit