diff options
author | Michael Adam <obnox@samba.org> | 2015-05-08 23:15:51 +0200 |
---|---|---|
committer | Michael Adam <obnox@samba.org> | 2015-07-29 18:26:07 +0200 |
commit | c765d11347048c46dc0e1cb5cc1e0da747b73524 (patch) | |
tree | 197c2b4c5f79e6c91d9636958c703540b3a57e9c | |
parent | 66bf0e51bc864d87ef1db5b52dd54da28b75af52 (diff) | |
download | samba-c765d11347048c46dc0e1cb5cc1e0da747b73524.tar.gz |
smbXsrv: add a smbXsrv_connection argument to smb2srv_session_lookup_raw
This way, we can verify that the session is valid on a channel.
Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Michael Adam <obnox@samba.org>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
-rw-r--r-- | source3/smbd/smbXsrv_session.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/source3/smbd/smbXsrv_session.c b/source3/smbd/smbXsrv_session.c index 256d8203a56..12cc43e7f24 100644 --- a/source3/smbd/smbXsrv_session.c +++ b/source3/smbd/smbXsrv_session.c @@ -52,6 +52,8 @@ struct smbXsrv_session_table { }; static NTSTATUS smb2srv_session_lookup_raw(struct smbXsrv_session_table *table, + /* conn: optional */ + struct smbXsrv_connection *conn, uint64_t session_id, NTTIME now, struct smbXsrv_session **session); @@ -281,6 +283,7 @@ static void smbXsrv_session_close_loop(struct tevent_req *subreq) } status = smb2srv_session_lookup_raw(client->session_table, + NULL, /* smbXsrv_connection */ close_info0->old_session_wire_id, now, &session); if (NT_STATUS_EQUAL(status, NT_STATUS_USER_SESSION_DELETED)) { @@ -1748,6 +1751,8 @@ NTSTATUS smb2srv_session_table_init(struct smbXsrv_connection *conn) } static NTSTATUS smb2srv_session_lookup_raw(struct smbXsrv_session_table *table, + /* conn: optional */ + struct smbXsrv_connection *conn, uint64_t session_id, NTTIME now, struct smbXsrv_session **session) { @@ -1758,7 +1763,7 @@ static NTSTATUS smb2srv_session_lookup_raw(struct smbXsrv_session_table *table, return NT_STATUS_USER_SESSION_DELETED; } - return smbXsrv_session_local_lookup(table, NULL, local_id, now, + return smbXsrv_session_local_lookup(table, conn, local_id, now, session); } @@ -1767,7 +1772,8 @@ NTSTATUS smb2srv_session_lookup(struct smbXsrv_connection *conn, struct smbXsrv_session **session) { struct smbXsrv_session_table *table = conn->client->session_table; - return smb2srv_session_lookup_raw(table, session_id, now, session); + return smb2srv_session_lookup_raw(table, conn, session_id, now, + session); } struct smbXsrv_session_global_traverse_state { |