From ec5f1b78affbbd56c787696cb6f63a547be2cc25 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Fri, 15 Jul 2011 16:12:41 +1000 Subject: [PATCH] s3-auth Use system boolean in auth_user_info_unix Signed-off-by: Andrew Tridgell --- source3/auth/auth_util.c | 10 ++++------ source3/include/auth.h | 2 -- source3/rpc_server/samr/srv_samr_nt.c | 2 +- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/source3/auth/auth_util.c b/source3/auth/auth_util.c index fb1a207e729..da84e0a424c 100644 --- a/source3/auth/auth_util.c +++ b/source3/auth/auth_util.c @@ -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; diff --git a/source3/include/auth.h b/source3/include/auth.h index d13f18b7a5e..8d95fb4ebb5 100644 --- a/source3/include/auth.h +++ b/source3/include/auth.h @@ -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 */ diff --git a/source3/rpc_server/samr/srv_samr_nt.c b/source3/rpc_server/samr/srv_samr_nt.c index b9bf4b0790a..016d426bfea 100644 --- a/source3/rpc_server/samr/srv_samr_nt.c +++ b/source3/rpc_server/samr/srv_samr_nt.c @@ -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; } -- 2.11.4.GIT