mirror of
https://github.com/samba-team/samba.git
synced 2025-02-26 21:57:41 +03:00
s4:libcli: allow passing an already negotiated connection to smb2_connect_send()
It will just do the session setup and tree connect steps. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13308 Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Alexander Bokovoy <ab@samba.org>
This commit is contained in:
parent
5ad5b81b6e
commit
f20e607c15
@ -64,6 +64,7 @@ struct tevent_req *smb2_connect_send(TALLOC_CTX *mem_ctx,
|
||||
const char *share,
|
||||
struct resolve_context *resolve_ctx,
|
||||
struct cli_credentials *credentials,
|
||||
struct smbXcli_conn **existing_conn,
|
||||
uint64_t previous_session_id,
|
||||
const struct smbcli_options *options,
|
||||
const char *socket_options,
|
||||
@ -107,6 +108,25 @@ struct tevent_req *smb2_connect_send(TALLOC_CTX *mem_ctx,
|
||||
return tevent_req_post(req, ev);
|
||||
}
|
||||
|
||||
if (existing_conn != NULL) {
|
||||
NTSTATUS status;
|
||||
|
||||
status = smb2_transport_raw_init(state, ev,
|
||||
existing_conn,
|
||||
options,
|
||||
&state->transport);
|
||||
if (tevent_req_nterror(req, status)) {
|
||||
return tevent_req_post(req, ev);
|
||||
}
|
||||
|
||||
smb2_connect_session_start(req);
|
||||
if (!tevent_req_is_in_progress(req)) {
|
||||
return tevent_req_post(req, ev);
|
||||
}
|
||||
|
||||
return req;
|
||||
}
|
||||
|
||||
creq = smbcli_sock_connect_send(state, NULL, state->ports,
|
||||
state->host, state->resolve_ctx,
|
||||
state->ev, state->socket_options,
|
||||
@ -311,6 +331,7 @@ NTSTATUS smb2_connect_ext(TALLOC_CTX *mem_ctx,
|
||||
share,
|
||||
resolve_ctx,
|
||||
credentials,
|
||||
NULL, /* existing_conn */
|
||||
previous_session_id,
|
||||
options,
|
||||
socket_options,
|
||||
|
@ -301,6 +301,7 @@ static struct composite_context *dcerpc_pipe_connect_ncacn_np_smb2_send(
|
||||
"IPC$",
|
||||
s->io.resolve_ctx,
|
||||
s->io.creds,
|
||||
NULL, /* existing_conn */
|
||||
0, /* previous_session_id */
|
||||
&options,
|
||||
lpcfg_socket_options(lp_ctx),
|
||||
|
Loading…
x
Reference in New Issue
Block a user