s3-auth Use system boolean in auth_user_info_unix
authorAndrew Bartlett <abartlet@samba.org>
Fri, 15 Jul 2011 06:12:41 +0000 (16:12 +1000)
committerAndrew Bartlett <abartlet@samba.org>
Tue, 19 Jul 2011 23:17:11 +0000 (09:17 +1000)
Signed-off-by: Andrew Tridgell <tridge@samba.org>
source3/auth/auth_util.c
source3/include/auth.h
source3/rpc_server/samr/srv_samr_nt.c

index fb1a207e72936afbf2f142e9434adbaf7e36d1ea..da84e0a424c3335d0001b173b860af379db5824b 100644 (file)
@@ -857,7 +857,7 @@ static NTSTATUS make_new_session_info_system(TALLOC_CTX *mem_ctx,
                return status;
        }
 
-       (*session_info)->system = true;
+       (*session_info)->unix_info->system = true;
 
        status = add_sid_to_array_unique((*session_info)->security_token->sids,
                                         &global_sid_System,
@@ -982,7 +982,7 @@ static struct auth_serversupplied_info *copy_session_info_serverinfo(TALLOC_CTX
        SMB_ASSERT(src->unix_info);
 
        dst->guest = src->unix_info->guest;
-       dst->system = src->system;
+       dst->system = src->unix_info->system;
 
        /* This element must be provided to convert back to an auth_serversupplied_info */
        SMB_ASSERT(src->unix_token);
@@ -1043,8 +1043,6 @@ static struct auth3_session_info *copy_serverinfo_session_info(TALLOC_CTX *mem_c
                return NULL;
        }
 
-       dst->system = src->system;
-
        dst->unix_token = talloc(dst, struct security_unix_token);
        if (!dst->unix_token) {
                return NULL;
@@ -1101,6 +1099,7 @@ static struct auth3_session_info *copy_serverinfo_session_info(TALLOC_CTX *mem_c
        }
 
        dst->unix_info->guest = src->guest;
+       dst->unix_info->system = src->system;
 
        return dst;
 }
@@ -1115,8 +1114,6 @@ struct auth3_session_info *copy_session_info(TALLOC_CTX *mem_ctx,
                return NULL;
        }
 
-       dst->system = src->system;
-
        if (src->unix_token) {
                dst->unix_token = talloc(dst, struct security_unix_token);
                if (!dst->unix_token) {
@@ -1178,6 +1175,7 @@ struct auth3_session_info *copy_session_info(TALLOC_CTX *mem_ctx,
                }
 
                dst->unix_info->guest = src->unix_info->guest;
+               dst->unix_info->system = src->unix_info->system;
        }
 
        return dst;
index d13f18b7a5efdb91c9123576baaa0cf97b13b127..8d95fb4ebb5627d02867e361e2bee46375800522 100644 (file)
@@ -76,8 +76,6 @@ struct auth_serversupplied_info {
 };
 
 struct auth3_session_info {
-       bool system;
-
        struct security_unix_token *unix_token;
 
        /* NT group information taken from the info3 structure */
index b9bf4b0790ac74d697eab34bd21c230d76492f3a..016d426bfeaab6b6d5e982ed731017880b48e192 100644 (file)
@@ -2702,7 +2702,7 @@ static NTSTATUS get_user_info_18(struct pipes_struct *p,
 
        ZERO_STRUCTP(r);
 
-       if (p->session_info->system) {
+       if (p->session_info->unix_info->system) {
                goto query;
        }