]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
Group the access checks together in check_user_ok()
authorVolker Lendecke <vl@samba.org>
Sat, 14 Jun 2008 14:46:25 +0000 (16:46 +0200)
committerVolker Lendecke <vl@samba.org>
Sat, 14 Jun 2008 17:49:49 +0000 (19:49 +0200)
source/smbd/uid.c

index af992d7aee2b6d48a424ee8cd77362c9e4d76443..54caca9405da9d2a644ffc98e5e00cb4a8b83d10 100644 (file)
@@ -66,6 +66,7 @@ static bool check_user_ok(connection_struct *conn, user_struct *vuser,int snum)
        unsigned int i;
        struct vuid_cache_entry *ent = NULL;
        bool readonly_share;
+       bool admin_user;
 
        for (i=0; i<VUID_CACHE_SIZE; i++) {
                ent = &conn->vuid_cache.array[i];
@@ -105,6 +106,12 @@ static bool check_user_ok(connection_struct *conn, user_struct *vuser,int snum)
                return False;
        }
 
+       admin_user = token_contains_name_in_list(
+               vuser->server_info->unix_name,
+               pdb_get_domain(vuser->server_info->sam_account),
+               NULL, vuser->server_info->ptok,
+               lp_admin_users(snum));
+
        ent = &conn->vuid_cache.array[conn->vuid_cache.next_entry];
 
        conn->vuid_cache.next_entry =
@@ -128,12 +135,7 @@ static bool check_user_ok(connection_struct *conn, user_struct *vuser,int snum)
 
        ent->vuid = vuser->vuid;
        ent->read_only = readonly_share;
-
-       ent->admin_user = token_contains_name_in_list(
-               vuser->server_info->unix_name,
-               pdb_get_domain(vuser->server_info->sam_account),
-               NULL, vuser->server_info->ptok,
-               lp_admin_users(snum));
+       ent->admin_user = admin_user;
 
        conn->read_only = ent->read_only;
        conn->admin_user = ent->admin_user;