diff options
Diffstat (limited to 'source3/rpc_server/srv_srvsvc_nt.c')
-rw-r--r-- | source3/rpc_server/srv_srvsvc_nt.c | 19 |
1 files changed, 3 insertions, 16 deletions
diff --git a/source3/rpc_server/srv_srvsvc_nt.c b/source3/rpc_server/srv_srvsvc_nt.c index f1dabd64a9..2ae4a73874 100644 --- a/source3/rpc_server/srv_srvsvc_nt.c +++ b/source3/rpc_server/srv_srvsvc_nt.c @@ -310,7 +310,6 @@ BOOL share_access_check(connection_struct *conn, int snum, uint16 vuid, uint32 d NT_USER_TOKEN *token = NULL; user_struct *vuser = get_valid_user_struct(vuid); BOOL ret = True; - BOOL is_root = False; mem_ctx = talloc_init(); if (mem_ctx == NULL) @@ -321,24 +320,12 @@ BOOL share_access_check(connection_struct *conn, int snum, uint16 vuid, uint32 d if (!psd) goto out; - if (vuser) { + if (vuser) token = vuser->nt_user_token; - if (vuser->uid == (uid_t)0) - is_root = True; - } else { + else token = conn->nt_user_token; - if (conn->uid == (uid_t)0) - is_root = True; - } - /* - * Root gets a free pass. - */ - - if (is_root) - ret = True; - else - ret = se_access_check(psd, token, desired_access, &granted, &status); + ret = se_access_check(psd, token, desired_access, &granted, &status); out: |