diff options
author | Günther Deschner <gd@samba.org> | 2010-05-28 14:19:28 +0200 |
---|---|---|
committer | Günther Deschner <gd@samba.org> | 2010-05-31 15:30:59 +0200 |
commit | 3f24f8d2c69be1db28cb1ffb866d45b520d9544d (patch) | |
tree | ac6aa97ac2f0fb5e389147d04a48a237cf971634 /source3 | |
parent | a7805811c432adb9b0e82039858269c2154521ae (diff) | |
download | samba-3f24f8d2c69be1db28cb1ffb866d45b520d9544d.tar.gz samba-3f24f8d2c69be1db28cb1ffb866d45b520d9544d.tar.bz2 samba-3f24f8d2c69be1db28cb1ffb866d45b520d9544d.zip |
s3-auth: add "system" bool flag to auth_serversupplied_info.
Guenther
Diffstat (limited to 'source3')
-rw-r--r-- | source3/auth/auth_util.c | 11 | ||||
-rw-r--r-- | source3/include/auth.h | 1 |
2 files changed, 11 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; diff --git a/source3/include/auth.h b/source3/include/auth.h index ed422c24a0..69a91d29aa 100644 --- a/source3/include/auth.h +++ b/source3/include/auth.h @@ -42,6 +42,7 @@ struct auth_usersupplied_info { struct auth_serversupplied_info { bool guest; + bool system; struct dom_sid *sids; /* These SIDs are preliminary between check_ntlm_password and the token creation. */ |