diff options
Diffstat (limited to 'source4/libcli')
-rw-r--r-- | source4/libcli/smb2/connect.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/source4/libcli/smb2/connect.c b/source4/libcli/smb2/connect.c index 8ff56c9ca8f..ac37eae6aa8 100644 --- a/source4/libcli/smb2/connect.c +++ b/source4/libcli/smb2/connect.c @@ -50,6 +50,7 @@ struct smb2_connect_state { struct smb2_tree *tree; }; +static void smb2_connect_session_start(struct tevent_req *req); static void smb2_connect_socket_done(struct composite_context *creq); /* @@ -170,10 +171,6 @@ static void smb2_connect_negprot_done(struct tevent_req *subreq) struct tevent_req *req = tevent_req_callback_data(subreq, struct tevent_req); - struct smb2_connect_state *state = - tevent_req_data(req, - struct smb2_connect_state); - struct smb2_transport *transport = state->transport; NTSTATUS status; status = smbXcli_negprot_recv(subreq); @@ -182,6 +179,17 @@ static void smb2_connect_negprot_done(struct tevent_req *subreq) return; } + smb2_connect_session_start(req); +} + +static void smb2_connect_session_start(struct tevent_req *req) +{ + struct smb2_connect_state *state = + tevent_req_data(req, + struct smb2_connect_state); + struct smb2_transport *transport = state->transport; + struct tevent_req *subreq = NULL; + state->session = smb2_session_init(transport, state->gensec_settings, state); if (tevent_req_nomem(state->session, req)) { return; |