smbXsrv: add smb2srv_session_lookup_client().
authorMichael Adam <obnox@samba.org>
Mon, 27 Jul 2015 06:59:57 +0000 (08:59 +0200)
committerMichael Adam <obnox@samba.org>
Wed, 29 Jul 2015 16:26:07 +0000 (18:26 +0200)
This is a variant of smb2srv_session_lookup_conn() that does
not verify the session on the 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>
source3/smbd/globals.h
source3/smbd/smbXsrv_session.c

index dbdc9e8d8e2b69dbe3730caa2cf62f08c9d9b852..188562952d5001fc739cf3dc2e6a215019d5a41b 100644 (file)
@@ -556,6 +556,9 @@ NTSTATUS smb2srv_session_table_init(struct smbXsrv_connection *conn);
 NTSTATUS smb2srv_session_lookup_conn(struct smbXsrv_connection *conn,
                                     uint64_t session_id, NTTIME now,
                                     struct smbXsrv_session **session);
+NTSTATUS smb2srv_session_lookup_client(struct smbXsrv_client *client,
+                                      uint64_t session_id, NTTIME now,
+                                      struct smbXsrv_session **session);
 struct smbXsrv_session_global0;
 NTSTATUS smbXsrv_session_global_traverse(
                        int (*fn)(struct smbXsrv_session_global0 *, void *),
index 8e275ad8fc6f97359707599738324129c2cf8f78..cb84f716189949f6a974197b6ea10fcf6528afc1 100644 (file)
@@ -1776,6 +1776,15 @@ NTSTATUS smb2srv_session_lookup_conn(struct smbXsrv_connection *conn,
                                          session);
 }
 
+NTSTATUS smb2srv_session_lookup_client(struct smbXsrv_client *client,
+                                      uint64_t session_id, NTTIME now,
+                                      struct smbXsrv_session **session)
+{
+       struct smbXsrv_session_table *table = client->session_table;
+       return smb2srv_session_lookup_raw(table, NULL, session_id, now,
+                                         session);
+}
+
 struct smbXsrv_session_global_traverse_state {
        int (*fn)(struct smbXsrv_session_global0 *, void *);
        void *private_data;