From 219492c59f3f9931d5d41ef5031337253415756b Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Thu, 16 Jan 2014 11:52:10 +0100 Subject: [PATCH] s4:librpc/rpc: remember smbXcli_{conn,session,tcon} on new ncacn_np connection Signed-off-by: Stefan Metzmacher --- source4/librpc/rpc/dcerpc_connect.c | 36 +++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/source4/librpc/rpc/dcerpc_connect.c b/source4/librpc/rpc/dcerpc_connect.c index 71c8170eb4f7..30fb03342c67 100644 --- a/source4/librpc/rpc/dcerpc_connect.c +++ b/source4/librpc/rpc/dcerpc_connect.c @@ -274,6 +274,24 @@ static void continue_smb_connect(struct composite_context *ctx) s->io.smb.pipe_name = dcerpc_binding_get_string_option(s->io.binding, "endpoint"); + c->status = dcerpc_binding_set_pointer_option(s->io.binding, + "connection", + struct smbXcli_conn, + s->io.smb.conn); + if (!composite_is_ok(c)) return; + + c->status = dcerpc_binding_set_pointer_option(s->io.binding, + "connection", + struct smbXcli_session, + s->io.smb.session); + if (!composite_is_ok(c)) return; + + c->status = dcerpc_binding_set_pointer_option(s->io.binding, + "connection", + struct smbXcli_tcon, + s->io.smb.tcon); + if (!composite_is_ok(c)) return; + continue_smb_open(c); } @@ -506,6 +524,24 @@ static void continue_smb2_connect(struct tevent_req *subreq) s->io.smb.pipe_name = dcerpc_binding_get_string_option(s->io.binding, "endpoint"); + c->status = dcerpc_binding_set_pointer_option(s->io.binding, + "connection", + struct smbXcli_conn, + s->io.smb.conn); + if (!composite_is_ok(c)) return; + + c->status = dcerpc_binding_set_pointer_option(s->io.binding, + "connection", + struct smbXcli_session, + s->io.smb.session); + if (!composite_is_ok(c)) return; + + c->status = dcerpc_binding_set_pointer_option(s->io.binding, + "connection", + struct smbXcli_tcon, + s->io.smb.tcon); + if (!composite_is_ok(c)) return; + continue_smb_open(c); } -- 2.34.1