s4:winbind: correctly fill the libnet_context lsa and samr binding handles
authorStefan Metzmacher <metze@samba.org>
Thu, 16 Jan 2014 00:00:18 +0000 (01:00 +0100)
committerGünther Deschner <gd@samba.org>
Thu, 16 Jan 2014 15:22:52 +0000 (16:22 +0100)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
source4/winbind/wb_init_domain.c

index db5eb1d3b6c0f3ef516e8fa7fd430a80cbb85fab..0dda85ca4f8507db6a21b4f313428f245e9bfa1a 100644 (file)
@@ -233,6 +233,7 @@ static void init_domain_recv_netlogonpipe(struct composite_context *ctx)
        }
 
        state->domain->libnet_ctx->lsa.pipe = NULL;
+       state->domain->libnet_ctx->lsa.lsa_handle = NULL;
 
        /* this will make the secondary connection on the same IPC$ share, 
           secured with SPNEGO or NTLMSSP */
@@ -297,6 +298,8 @@ static void init_domain_recv_lsa_pipe(struct composite_context *ctx)
 
        talloc_steal(state->domain->libnet_ctx, state->domain->libnet_ctx->lsa.pipe);
        talloc_reparent(state, state->domain->libnet_ctx->lsa.pipe, state->domain->lsa_binding);
+       state->domain->libnet_ctx->lsa.lsa_handle =
+               state->domain->libnet_ctx->lsa.pipe->binding_handle;
        state->domain->libnet_ctx->lsa.access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
        state->domain->libnet_ctx->lsa.name = state->domain->info->name;
 
@@ -398,6 +401,7 @@ static void init_domain_recv_queryinfo(struct tevent_req *subreq)
        state->domain->samr_binding->flags = state->domain->lsa_binding->flags;
 
        state->domain->libnet_ctx->samr.pipe = NULL;
+       state->domain->libnet_ctx->samr.samr_handle = NULL;
 
        ctx = wb_connect_samr_send(state, state->domain);
        composite_continue(state->ctx, ctx, init_domain_recv_samr, state);
@@ -419,6 +423,8 @@ static void init_domain_recv_samr(struct composite_context *ctx)
        if (!composite_is_ok(state->ctx)) return;
 
        talloc_reparent(state, state->domain->libnet_ctx->samr.pipe, state->domain->samr_binding);
+       state->domain->libnet_ctx->samr.samr_handle =
+               state->domain->libnet_ctx->samr.pipe->binding_handle;
        state->domain->libnet_ctx->samr.access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
        state->domain->libnet_ctx->samr.name = state->domain->info->name;
        state->domain->libnet_ctx->samr.sid = dom_sid_dup(