Remove "nt_user_token" from "struct user_struct"
authorVolker Lendecke <vl@samba.org>
Tue, 29 Apr 2008 11:35:00 +0000 (13:35 +0200)
committerVolker Lendecke <vl@samba.org>
Mon, 5 May 2008 16:28:58 +0000 (18:28 +0200)
(This used to be commit 51d5d512f28eadc74eced43e5e7f4e5bdff3ff69)

source3/include/smb.h
source3/rpc_server/srv_pipe_hnd.c
source3/smbd/password.c
source3/smbd/service.c
source3/smbd/uid.c

index 7a228d0d0367ca391a879f0d1cf88d3ffbfe3c0f..bad5857520f5ec7c8bc2b5731b40995c98423a38 100644 (file)
@@ -1789,8 +1789,6 @@ typedef struct user_struct {
        int n_groups;
        gid_t *groups;
 
-       NT_USER_TOKEN *nt_user_token;
-
        DATA_BLOB session_key;
 
        char *session_keystr; /* used by utmp and pam session code.  
index 45f649d0ceaf48b0b4887cab03b59a0b049a2f7d..92247743800553121f553f27dbea6222a0f73ad0 100644 (file)
@@ -342,7 +342,7 @@ static void *make_internal_rpc_pipe_p(const char *pipe_name,
        if (vuser) {
                p->session_key = data_blob(vuser->session_key.data, vuser->session_key.length);
                p->pipe_user.nt_user_token = dup_nt_token(
-                       NULL, vuser->nt_user_token);
+                       NULL, vuser->server_info->ptok);
        }
 
        /*
index 124bc315fa1cbcd099721c02de3b12bde202f730..2636438d5d31420b3fe10a17ce4283036213cfab 100644 (file)
@@ -310,9 +310,7 @@ int register_existing_vuid(uint16 vuid,
                "Real name: %s\n", vuser->user.unix_name,
                vuser->user.full_name));
 
-       if (server_info->ptok) {
-               vuser->nt_user_token = dup_nt_token(vuser, server_info->ptok);
-       } else {
+       if (!server_info->ptok) {
                DEBUG(1, ("register_existing_vuid: server_info does not "
                        "contain a user_token - cannot continue\n"));
                goto fail;
index a405ffc9bcccc219770d48005cb929aadab034d9..a286e561c7575bfaee93aa148ee67f55cab87d95 100644 (file)
@@ -725,7 +725,7 @@ static connection_struct *make_connection_snum(int snum, user_struct *vuser,
                        }
                } else {
                        if (!user_ok_token(vuser->user.unix_name,
-                                          vuser->nt_user_token, snum)) {
+                                          vuser->server_info->ptok, snum)) {
                                DEBUG(2, ("user '%s' (from session setup) not "
                                          "permitted to access this share "
                                          "(%s)\n", vuser->user.unix_name,
@@ -861,7 +861,7 @@ static connection_struct *make_connection_snum(int snum, user_struct *vuser,
                         * group. vuser has a token to copy */
                        
                        conn->nt_user_token = dup_nt_token(
-                               NULL, vuser->nt_user_token);
+                               NULL, vuser->server_info->ptok);
                        if (conn->nt_user_token == NULL) {
                                DEBUG(0, ("dup_nt_token failed\n"));
                                conn_free(conn);
@@ -948,7 +948,7 @@ static connection_struct *make_connection_snum(int snum, user_struct *vuser,
                bool can_write = False;
                NT_USER_TOKEN *token = conn->nt_user_token ?
                        conn->nt_user_token :
-                       (vuser ? vuser->nt_user_token : NULL);
+                       (vuser ? vuser->server_info->ptok : NULL);
 
                /*
                 * I don't believe this can happen. But the
index ffa643a8f56b5ebe23c8423b3a053b494e22b8fd..866f954436cc79604194eed32db0f7113b81a9ff 100644 (file)
@@ -97,15 +97,15 @@ static bool check_user_ok(connection_struct *conn, user_struct *vuser,int snum)
                }
        }
 
-       if (!user_ok_token(vuser->user.unix_name, vuser->nt_user_token, snum))
+       if (!user_ok_token(vuser->user.unix_name, vuser->server_info->ptok,
+                          snum))
                return(False);
 
-       readonly_share = is_share_read_only_for_token(vuser->user.unix_name,
-                                                     vuser->nt_user_token,
-                                                     SNUM(conn));
+       readonly_share = is_share_read_only_for_token(
+               vuser->user.unix_name, vuser->server_info->ptok, SNUM(conn));
 
        token = conn->nt_user_token ?
-               conn->nt_user_token : vuser->nt_user_token;
+               conn->nt_user_token : vuser->server_info->ptok;
 
        if (!readonly_share &&
            !share_access_check(token, lp_servicename(snum),
@@ -132,7 +132,7 @@ static bool check_user_ok(connection_struct *conn, user_struct *vuser,int snum)
        ent->read_only = readonly_share;
 
        ent->admin_user = token_contains_name_in_list(
-               vuser->user.unix_name, NULL, vuser->nt_user_token,
+               vuser->user.unix_name, NULL, vuser->server_info->ptok,
                lp_admin_users(SNUM(conn)));
 
        conn->read_only = ent->read_only;
@@ -204,7 +204,7 @@ bool change_to_user(connection_struct *conn, uint16 vuid)
                gid = vuser->gid;
                num_groups = vuser->n_groups;
                group_list  = vuser->groups;
-               token = vuser->nt_user_token;
+               token = vuser->server_info->ptok;
        } else {
                DEBUG(2,("change_to_user: Invalid vuid used %d in accessing "
                         "share %s.\n",vuid, lp_servicename(snum) ));