From c765d11347048c46dc0e1cb5cc1e0da747b73524 Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Fri, 8 May 2015 23:15:51 +0200 Subject: [PATCH] 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 Signed-off-by: Michael Adam Signed-off-by: Stefan Metzmacher --- source3/smbd/smbXsrv_session.c | 10 ++++++++-- 1 file 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 { -- 2.34.1