diff options
author | Andrew Bartlett <abartlet@samba.org> | 2012-02-03 23:32:26 +1100 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2012-02-24 11:23:18 +1100 |
commit | 4478f315e6cb178b53114033e1247e265f82ab8f (patch) | |
tree | f29e886f9ddb223f530fe30609c9dda216dcfec6 /source3/auth/auth_generic.c | |
parent | e3cebef0cf93ddade8e698ea292d2c03cf005a7b (diff) | |
download | samba-4478f315e6cb178b53114033e1247e265f82ab8f.tar.gz samba-4478f315e6cb178b53114033e1247e265f82ab8f.tar.bz2 samba-4478f315e6cb178b53114033e1247e265f82ab8f.zip |
s3-auth: Provide helper routine to check password and return session_info
Diffstat (limited to 'source3/auth/auth_generic.c')
-rw-r--r-- | source3/auth/auth_generic.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/source3/auth/auth_generic.c b/source3/auth/auth_generic.c index cf6866c2dd..43baab58ff 100644 --- a/source3/auth/auth_generic.c +++ b/source3/auth/auth_generic.c @@ -346,3 +346,29 @@ NTSTATUS auth_generic_prepare(TALLOC_CTX *mem_ctx, TALLOC_FREE(tmp_ctx); return NT_STATUS_OK; } + +NTSTATUS auth_check_password_session_info(struct auth4_context *auth_context, + TALLOC_CTX *mem_ctx, + struct auth_usersupplied_info *user_info, + struct auth_session_info **session_info) +{ + NTSTATUS nt_status; + void *server_info; + + nt_status = auth_context->check_ntlm_password(auth_context, + talloc_tos(), + user_info, + &server_info, NULL, NULL); + + if (NT_STATUS_IS_OK(nt_status)) { + nt_status = auth_context->generate_session_info(auth_context, + mem_ctx, + server_info, + user_info->client.account_name, + AUTH_SESSION_INFO_UNIX_TOKEN | + AUTH_SESSION_INFO_DEFAULT_GROUPS, + session_info); + TALLOC_FREE(server_info); + } + return nt_status; +} |