From 5d6610a21580a1d588465ec9f144f5a6daad57cd Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Mon, 15 Mar 2010 10:45:15 -0700 Subject: Add accessor functions for current uid, gid, unix token, NT token and vuid. Jeremy. --- source3/smbd/uid.c | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) (limited to 'source3/smbd/uid.c') diff --git a/source3/smbd/uid.c b/source3/smbd/uid.c index 706f8c9f6a..5e3b84da50 100644 --- a/source3/smbd/uid.c +++ b/source3/smbd/uid.c @@ -505,3 +505,46 @@ bool unbecome_user(void) pop_conn_ctx(); return True; } + +/**************************************************************************** + Return the current user we are running effectively as on this connection. + I'd like to make this return conn->server_info->utok.uid, but become_root() + doesn't alter this value. +****************************************************************************/ + +uid_t get_current_uid(connection_struct *conn) +{ + return current_user.ut.uid; +} + +/**************************************************************************** + Return the current group we are running effectively as on this connection. + I'd like to make this return conn->server_info->utok.gid, but become_root() + doesn't alter this value. +****************************************************************************/ + +gid_t get_current_gid(connection_struct *conn) +{ + return current_user.ut.gid; +} + +/**************************************************************************** + Return the UNIX token we are running effectively as on this connection. + I'd like to make this return &conn->server_info->utok, but become_root() + doesn't alter this value. +****************************************************************************/ + +const UNIX_USER_TOKEN *get_current_utok(connection_struct *conn) +{ + return ¤t_user.ut; +} + +const NT_USER_TOKEN *get_current_nttok(connection_struct *conn) +{ + return current_user.nt_user_token; +} + +uint16_t get_current_vuid(connection_struct *conn) +{ + return current_user.vuid; +} -- cgit