diff options
-rw-r--r-- | source4/libnet/libnet.h | 2 | ||||
-rw-r--r-- | source4/libnet/libnet_rpc.c | 2 |
2 files changed, 4 insertions, 0 deletions
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 { |