diff options
author | Stefan Metzmacher <metze@samba.org> | 2015-07-29 15:47:09 +0200 |
---|---|---|
committer | Michael Adam <obnox@samba.org> | 2015-07-30 21:58:14 +0200 |
commit | e9885cfd0e4abd6a6a8e276e11a57e6e58e873e6 (patch) | |
tree | 38690fa9205e6b3da62b1582b702667148d30b54 /source3/smbd | |
parent | 5e463b553b467dab73bcd8816a0e415b96a5cf2d (diff) | |
download | samba-e9885cfd0e4abd6a6a8e276e11a57e6e58e873e6.tar.gz |
smbXsrv_session: add smbXsrv_session_find_auth()
Pair-Programmed-With: Michael Adam <obnox@samba.org>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Michael Adam <obnox@samba.org>
Diffstat (limited to 'source3/smbd')
-rw-r--r-- | source3/smbd/globals.h | 4 | ||||
-rw-r--r-- | source3/smbd/smbXsrv_session.c | 20 |
2 files changed, 24 insertions, 0 deletions
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; }; |