summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/libnet/libnet.h2
-rw-r--r--source4/libnet/libnet_rpc.c2
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 {