1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-22 13:34:15 +03:00

s4:libcli: add smb2_transport_raw_init()

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:
Stefan Metzmacher 2018-07-18 16:43:04 +02:00 committed by Alexander Bokovoy
parent 2b68f9b8b0
commit ce2248c4b5

View File

@ -85,6 +85,41 @@ struct smb2_transport *smb2_transport_init(struct smbcli_socket *sock,
return transport;
}
/*
create a transport structure based on an established socket
*/
NTSTATUS smb2_transport_raw_init(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct smbXcli_conn **_conn,
const struct smbcli_options *options,
struct smb2_transport **_transport)
{
struct smb2_transport *transport = NULL;
enum protocol_types protocol;
if (*_conn == NULL) {
return NT_STATUS_INVALID_PARAMETER;
}
protocol = smbXcli_conn_protocol(*_conn);
if (protocol < PROTOCOL_SMB2_02) {
return NT_STATUS_REVISION_MISMATCH;
}
transport = talloc_zero(mem_ctx, struct smb2_transport);
if (transport == NULL) {
return NT_STATUS_NO_MEMORY;
}
transport->ev = ev;
transport->options = *options;
transport->conn = talloc_move(transport, _conn);
talloc_set_destructor(transport, transport_destructor);
*_transport = transport;
return NT_STATUS_OK;
}
/*
mark the transport as dead
*/