summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/auth/session.c17
-rw-r--r--source4/auth/session.h6
-rw-r--r--source4/utils/net/net_gpo.c2
3 files changed, 22 insertions, 3 deletions
diff --git a/source4/auth/session.c b/source4/auth/session.c
index 29ba13e536..75af3056a8 100644
--- a/source4/auth/session.c
+++ b/source4/auth/session.c
@@ -46,6 +46,19 @@ _PUBLIC_ NTSTATUS auth_generate_session_info(TALLOC_CTX *mem_ctx,
uint32_t session_info_flags,
struct auth_session_info **_session_info)
{
+ return auth_generate_session_info2(mem_ctx,
+ auth_context->event_ctx,
+ auth_context->lp_ctx,
+ server_info,
+ _session_info);
+}
+
+_PUBLIC_ NTSTATUS auth_generate_session_info2(TALLOC_CTX *mem_ctx,
+ struct tevent_context *event_ctx,
+ struct loadparm_context *lp_ctx,
+ struct auth_serversupplied_info *server_info,
+ struct auth_session_info **_session_info)
+{
struct auth_session_info *session_info;
NTSTATUS nt_status;
unsigned int i, num_groupSIDs = 0;
@@ -193,8 +206,8 @@ _PUBLIC_ NTSTATUS auth_generate_session_info(TALLOC_CTX *mem_ctx,
}
nt_status = security_token_create(session_info,
- auth_context->event_ctx,
- auth_context->lp_ctx,
+ event_ctx,
+ lp_ctx,
server_info->account_sid,
server_info->primary_group_sid,
num_groupSIDs,
diff --git a/source4/auth/session.h b/source4/auth/session.h
index 8e22cc0576..3e422d9790 100644
--- a/source4/auth/session.h
+++ b/source4/auth/session.h
@@ -53,6 +53,12 @@ NTSTATUS auth_generate_session_info(TALLOC_CTX *mem_ctx,
uint32_t session_info_flags,
struct auth_session_info **_session_info);
+NTSTATUS auth_generate_session_info2(TALLOC_CTX *mem_ctx,
+ struct tevent_context *event_ctx,
+ struct loadparm_context *lp_ctx,
+ struct auth_serversupplied_info *server_info,
+ struct auth_session_info **_session_info);
+
NTSTATUS auth_anonymous_session_info(TALLOC_CTX *parent_ctx,
struct loadparm_context *lp_ctx,
struct auth_session_info **_session_info);
diff --git a/source4/utils/net/net_gpo.c b/source4/utils/net/net_gpo.c
index 4f9414bdd8..9cedbe27c0 100644
--- a/source4/utils/net/net_gpo.c
+++ b/source4/utils/net/net_gpo.c
@@ -248,7 +248,7 @@ static int net_gpo_list(struct net_context *ctx, int argc, const char **argv)
return 1;
}
- status = auth_generate_session_info(gp_ctx, gp_ctx->ev_ctx, gp_ctx->lp_ctx, server_info, &session_info);
+ status = auth_generate_session_info2(gp_ctx, gp_ctx->ev_ctx, gp_ctx->lp_ctx, server_info, &session_info);
if (!NT_STATUS_IS_OK(status)) {
DEBUG(0, ("Failed to generate session information: %s\n", get_friendly_nt_error_msg(status)));
talloc_free(gp_ctx);