mirror of
https://github.com/samba-team/samba.git
synced 2024-12-23 17:34:34 +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:
parent
2b68f9b8b0
commit
ce2248c4b5
@ -85,6 +85,41 @@ struct smb2_transport *smb2_transport_init(struct smbcli_socket *sock,
|
|||||||
return transport;
|
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
|
mark the transport as dead
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user