mirror of
https://github.com/samba-team/samba.git
synced 2025-02-24 13:57:43 +03:00
s4-auth/unix_token: separate out filling the unix_info elements in a struct session_info
Bug: https://bugzilla.samba.org/show_bug.cgi?id=14400 Signed-off-by: Björn Baumbach <bb@sernet.de> Reviewed-by: Ralph Boehme <slow@samba.org>
This commit is contained in:
parent
824fa5f45c
commit
d159b4c0a5
@ -136,26 +136,21 @@ NTSTATUS security_token_to_unix_token(TALLOC_CTX *mem_ctx,
|
||||
}
|
||||
|
||||
/*
|
||||
Fill in the auth_user_info_unix and auth_unix_token elements in a struct session_info
|
||||
*/
|
||||
NTSTATUS auth_session_info_fill_unix(struct loadparm_context *lp_ctx,
|
||||
const char *original_user_name,
|
||||
struct auth_session_info *session_info)
|
||||
* Fill in the unix_info elements in a struct session_info
|
||||
*/
|
||||
NTSTATUS fill_unix_info(struct loadparm_context *lp_ctx,
|
||||
const char *original_user_name,
|
||||
struct auth_session_info *session_info)
|
||||
{
|
||||
NTSTATUS status = security_token_to_unix_token(session_info,
|
||||
session_info->security_token,
|
||||
&session_info->unix_token);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
return status;
|
||||
}
|
||||
|
||||
session_info->unix_info = talloc_zero(session_info, struct auth_user_info_unix);
|
||||
session_info->unix_info = talloc_zero(session_info,
|
||||
struct auth_user_info_unix);
|
||||
NT_STATUS_HAVE_NO_MEMORY(session_info->unix_info);
|
||||
|
||||
session_info->unix_info->unix_name = talloc_asprintf(session_info->unix_info,
|
||||
"%s%s%s", session_info->info->domain_name,
|
||||
lpcfg_winbind_separator(lp_ctx),
|
||||
session_info->info->account_name);
|
||||
session_info->unix_info->unix_name =
|
||||
talloc_asprintf(session_info->unix_info,
|
||||
"%s%s%s", session_info->info->domain_name,
|
||||
lpcfg_winbind_separator(lp_ctx),
|
||||
session_info->info->account_name);
|
||||
NT_STATUS_HAVE_NO_MEMORY(session_info->unix_info->unix_name);
|
||||
|
||||
if (original_user_name == NULL) {
|
||||
@ -170,3 +165,29 @@ NTSTATUS auth_session_info_fill_unix(struct loadparm_context *lp_ctx,
|
||||
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
Fill in the auth_user_info_unix and auth_unix_token elements in a struct session_info
|
||||
*/
|
||||
NTSTATUS auth_session_info_fill_unix(struct loadparm_context *lp_ctx,
|
||||
const char *original_user_name,
|
||||
struct auth_session_info *session_info)
|
||||
{
|
||||
NTSTATUS status = NT_STATUS_OK;
|
||||
|
||||
status = security_token_to_unix_token(session_info,
|
||||
session_info->security_token,
|
||||
&session_info->unix_token);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
return status;
|
||||
}
|
||||
|
||||
status = fill_unix_info(lp_ctx,
|
||||
original_user_name,
|
||||
session_info);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
return status;
|
||||
}
|
||||
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user