From a2ce53c1f5301ffcf990dbab837c328ea22739b6 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Tue, 8 Feb 2011 16:53:13 +1100 Subject: s4-auth Rework auth subsystem to remove struct auth_serversupplied_info This changes auth_serversupplied_info into the IDL-defined struct auth_user_info_dc. This then in turn contains a struct auth_user_info, which is the only part of the structure that is mainted into the struct session_info. The idea here is to avoid keeping the incomplete results of the authentication (such as session keys, lists of SID memberships etc) in a namespace where it may be confused for the finalised results. Andrew Barltett --- source4/auth/session.h | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'source4/auth/session.h') diff --git a/source4/auth/session.h b/source4/auth/session.h index caedbc8028..d8c00a39a4 100644 --- a/source4/auth/session.h +++ b/source4/auth/session.h @@ -23,12 +23,14 @@ struct auth_session_info { struct security_token *security_token; - struct auth_serversupplied_info *server_info; + struct auth_user_info *info; + struct auth_user_info_torture *torture; DATA_BLOB session_key; struct cli_credentials *credentials; }; #include "librpc/gen_ndr/netlogon.h" +#include "librpc/gen_ndr/auth.h" struct tevent_context; struct ldb_context; @@ -38,18 +40,18 @@ struct ldb_dn; * the off-host credentials */ struct auth_session_info *system_session(struct loadparm_context *lp_ctx) ; -NTSTATUS auth_anonymous_server_info(TALLOC_CTX *mem_ctx, - const char *netbios_name, - struct auth_serversupplied_info **_server_info) ; +NTSTATUS auth_anonymous_user_info_dc(TALLOC_CTX *mem_ctx, + const char *netbios_name, + struct auth_user_info_dc **interim_info); NTSTATUS auth_generate_session_info(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx, /* Optional, if you don't want privilages */ struct ldb_context *sam_ctx, /* Optional, if you don't want local groups */ - struct auth_serversupplied_info *server_info, + struct auth_user_info_dc *interim_info, uint32_t session_info_flags, - struct auth_session_info **_session_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); + struct auth_session_info **session_info); /* Produce a session_info for an arbitary DN or principal in the local * DB, assuming the local DB holds all the groups * -- cgit