mirror of
https://github.com/samba-team/samba.git
synced 2025-02-02 09:47:23 +03:00
s3:smbd: add smbXsrv_tcon infrastructure
Pair-Programmed-With: Michael Adam <obnox@samba.org> metze
This commit is contained in:
parent
80f9abf637
commit
c36bd677f3
@ -977,6 +977,7 @@ SMBD_OBJ_SRV = smbd/server_reload.o \
|
||||
autoconf/librpc/gen_ndr/ndr_smbXsrv.o \
|
||||
smbd/smbXsrv_version.o \
|
||||
smbd/smbXsrv_session.o \
|
||||
smbd/smbXsrv_tcon.o \
|
||||
$(MANGLE_OBJ) @VFS_STATIC@
|
||||
|
||||
SMBD_OBJ_BASE = $(PARAM_WITHOUT_REG_OBJ) $(SMBD_OBJ_SRV) $(LIBSMB_OBJ) \
|
||||
|
@ -357,6 +357,7 @@ struct smbXsrv_connection {
|
||||
uint64_t smbd_idle_profstamp;
|
||||
|
||||
struct smbXsrv_session_table *session_table;
|
||||
struct smbXsrv_tcon_table *tcon_table;
|
||||
};
|
||||
|
||||
NTSTATUS smbXsrv_version_global_init(const struct server_id *server_id);
|
||||
@ -381,6 +382,26 @@ NTSTATUS smb2srv_session_lookup(struct smbXsrv_connection *conn,
|
||||
uint64_t session_id, NTTIME now,
|
||||
struct smbXsrv_session **session);
|
||||
|
||||
NTSTATUS smbXsrv_tcon_global_init(void);
|
||||
NTSTATUS smbXsrv_tcon_update(struct smbXsrv_tcon *tcon);
|
||||
NTSTATUS smbXsrv_tcon_disconnect(struct smbXsrv_tcon *tcon, uint64_t vuid);
|
||||
NTSTATUS smb1srv_tcon_table_init(struct smbXsrv_connection *conn);
|
||||
NTSTATUS smb1srv_tcon_create(struct smbXsrv_connection *conn,
|
||||
NTTIME now,
|
||||
struct smbXsrv_tcon **_tcon);
|
||||
NTSTATUS smb1srv_tcon_lookup(struct smbXsrv_connection *conn,
|
||||
uint16_t tree_id, NTTIME now,
|
||||
struct smbXsrv_tcon **tcon);
|
||||
NTSTATUS smb1srv_tcon_disconnect_all(struct smbXsrv_connection *conn);
|
||||
NTSTATUS smb2srv_tcon_table_init(struct smbXsrv_session *session);
|
||||
NTSTATUS smb2srv_tcon_create(struct smbXsrv_session *session,
|
||||
NTTIME now,
|
||||
struct smbXsrv_tcon **_tcon);
|
||||
NTSTATUS smb2srv_tcon_lookup(struct smbXsrv_session *session,
|
||||
uint32_t tree_id, NTTIME now,
|
||||
struct smbXsrv_tcon **tcon);
|
||||
NTSTATUS smb2srv_tcon_disconnect_all(struct smbXsrv_session *session);
|
||||
|
||||
struct smbd_smb2_request {
|
||||
struct smbd_smb2_request *prev, *next;
|
||||
|
||||
|
@ -1392,8 +1392,13 @@ extern void build_options(bool screen);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (!connections_init(True))
|
||||
if (!connections_init(true)) {
|
||||
exit(1);
|
||||
}
|
||||
status = smbXsrv_tcon_global_init();
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (!locking_init())
|
||||
exit(1);
|
||||
|
1151
source3/smbd/smbXsrv_tcon.c
Normal file
1151
source3/smbd/smbXsrv_tcon.c
Normal file
File diff suppressed because it is too large
Load Diff
@ -377,6 +377,7 @@ SMBD_SRC_SRV = '''smbd/server_reload.c smbd/files.c smbd/connection.c
|
||||
smbd/smb2_break.c
|
||||
smbd/smbXsrv_version.c
|
||||
smbd/smbXsrv_session.c
|
||||
smbd/smbXsrv_tcon.c
|
||||
smbd/server_exit.c
|
||||
${MANGLE_SRC}'''
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user