From e9885cfd0e4abd6a6a8e276e11a57e6e58e873e6 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Wed, 29 Jul 2015 15:47:09 +0200 Subject: [PATCH] smbXsrv_session: add smbXsrv_session_find_auth() Pair-Programmed-With: Michael Adam Signed-off-by: Stefan Metzmacher Signed-off-by: Michael Adam --- source3/smbd/globals.h | 4 ++++ source3/smbd/smbXsrv_session.c | 20 ++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/source3/smbd/globals.h b/source3/smbd/globals.h index 188562952d5..c0fc8485cfc 100644 --- a/source3/smbd/globals.h +++ b/source3/smbd/globals.h @@ -541,6 +541,10 @@ struct smbXsrv_channel_global0; NTSTATUS smbXsrv_session_find_channel(const struct smbXsrv_session *session, const struct smbXsrv_connection *conn, struct smbXsrv_channel_global0 **_c); +NTSTATUS smbXsrv_session_find_auth(const struct smbXsrv_session *session, + const struct smbXsrv_connection *conn, + NTTIME now, + struct smbXsrv_session_auth0 **_a); struct tevent_req *smb2srv_session_shutdown_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct smbXsrv_session *session, diff --git a/source3/smbd/smbXsrv_session.c b/source3/smbd/smbXsrv_session.c index 17ba401712e..de8d8327bc9 100644 --- a/source3/smbd/smbXsrv_session.c +++ b/source3/smbd/smbXsrv_session.c @@ -1387,6 +1387,26 @@ NTSTATUS smbXsrv_session_find_channel(const struct smbXsrv_session *session, return NT_STATUS_USER_SESSION_DELETED; } +NTSTATUS smbXsrv_session_find_auth(const struct smbXsrv_session *session, + const struct smbXsrv_connection *conn, + NTTIME now, + struct smbXsrv_session_auth0 **_a) +{ + struct smbXsrv_session_auth0 *a; + + for (a = session->pending_auth; a != NULL; a = a->next) { + if (a->connection == conn) { + if (now != 0) { + a->idle_time = now; + } + *_a = a; + return NT_STATUS_OK; + } + } + + return NT_STATUS_USER_SESSION_DELETED; +} + struct smb2srv_session_shutdown_state { struct tevent_queue *wait_queue; }; -- 2.11.4.GIT