diff options
author | Rafal Szczesniak <mimir@samba.org> | 2006-06-29 20:34:45 +0000 |
---|---|---|
committer | Rafal Szczesniak <mimir@samba.org> | 2006-06-29 20:34:45 +0000 |
commit | 16baebc265e70bd158d796f3b7d86769e144201b (patch) | |
tree | 6661557577609c132963e9fd87ce1b2df9e84683 | |
parent | c69a5c91fbc1012fe587d851c11e23fab52bd1e3 (diff) | |
download | samba-16baebc265e70bd158d796f3b7d86769e144201b.tar.gz samba-16baebc265e70bd158d796f3b7d86769e144201b.tar.xz samba-16baebc265e70bd158d796f3b7d86769e144201b.zip |
r16694: Store lsa rpc pipe pointer in a right place.
rafal
-rw-r--r-- | source/libnet/libnet_rpc.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/source/libnet/libnet_rpc.c b/source/libnet/libnet_rpc.c index 3574559d4f7..fce78111382 100644 --- a/source/libnet/libnet_rpc.c +++ b/source/libnet/libnet_rpc.c @@ -147,8 +147,9 @@ static NTSTATUS libnet_RpcConnectSrv_recv(struct composite_context *c, mem_ctx is freed */ if (r->in.dcerpc_iface == &dcerpc_table_samr) { ctx->samr_pipe = talloc_reference(ctx, r->out.dcerpc_pipe); - } else { - ctx->pipe = talloc_reference(ctx, r->out.dcerpc_pipe); + + } else if (r->in.dcerpc_iface == &dcerpc_table_lsarpc) { + ctx->lsa_pipe = talloc_reference(ctx, r->out.dcerpc_pipe); } } else { r->out.error_string = talloc_steal(mem_ctx, s->r.out.error_string); @@ -321,9 +322,11 @@ static NTSTATUS libnet_RpcConnectDC_recv(struct composite_context *c, mem_ctx is freed */ if (r->in.dcerpc_iface == &dcerpc_table_samr) { ctx->samr_pipe = talloc_reference(ctx, r->out.dcerpc_pipe); - } else { - ctx->pipe = talloc_reference(ctx, r->out.dcerpc_pipe); + + } else if (r->in.dcerpc_iface == &dcerpc_table_lsarpc) { + ctx->lsa_pipe = talloc_reference(ctx, r->out.dcerpc_pipe); } + } else { r->out.error_string = talloc_steal(mem_ctx, s->r.out.error_string); } @@ -432,7 +435,7 @@ static void continue_dci_rpc_connect(struct composite_context *ctx) } /* prepare to open a policy handle on lsa pipe */ - s->lsa_pipe = s->ctx->pipe; + s->lsa_pipe = s->ctx->lsa_pipe; s->qos.len = 0; s->qos.impersonation_level = 2; @@ -684,9 +687,11 @@ static NTSTATUS libnet_RpcConnectDCInfo_recv(struct composite_context *c, struct mem_ctx is freed */ if (r->in.dcerpc_iface == &dcerpc_table_samr) { ctx->samr_pipe = talloc_reference(ctx, r->out.dcerpc_pipe); - } else { - ctx->pipe = talloc_reference(ctx, r->out.dcerpc_pipe); + + } else if (r->in.dcerpc_iface == &dcerpc_table_lsarpc) { + ctx->lsa_pipe = talloc_reference(ctx, r->out.dcerpc_pipe); } + } else { r->out.error_string = talloc_steal(mem_ctx, s->r.out.error_string); } |