diff options
Diffstat (limited to 'source3/auth/auth_util.c')
-rw-r--r-- | source3/auth/auth_util.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/source3/auth/auth_util.c b/source3/auth/auth_util.c index 1f9bc7b6d7..74d8873f5c 100644 --- a/source3/auth/auth_util.c +++ b/source3/auth/auth_util.c @@ -765,16 +765,24 @@ static NTSTATUS make_new_server_info_system(TALLOC_CTX *mem_ctx, struct auth_serversupplied_info **server_info) { struct passwd *pwd; + NTSTATUS status; pwd = getpwuid_alloc(mem_ctx, sec_initial_uid()); if (pwd == NULL) { return NT_STATUS_NO_MEMORY; } - return make_serverinfo_from_username(mem_ctx, + status = make_serverinfo_from_username(mem_ctx, pwd->pw_name, false, server_info); + if (!NT_STATUS_IS_OK(status)) { + return status; + } + + (*server_info)->system = true; + + return NT_STATUS_OK; } /**************************************************************************** @@ -829,6 +837,7 @@ struct auth_serversupplied_info *copy_serverinfo(TALLOC_CTX *mem_ctx, } dst->guest = src->guest; + dst->system = src->system; dst->utok.uid = src->utok.uid; dst->utok.gid = src->utok.gid; dst->utok.ngroups = src->utok.ngroups; |