From 72ccbcacddd2c3fdc6bfb61b8efb78625368365d Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Thu, 15 Apr 2010 11:58:05 +1000 Subject: s4:auth Allow the operational module to get a user's tokenGroups from auth This creates a new interface to the auth subsystem, to allow an auth_context to be created from the ldb, and then tokenGroups to be calculated in the same way that the auth subsystem would. Andrew Bartlett --- source4/auth/auth.h | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'source4/auth/auth.h') diff --git a/source4/auth/auth.h b/source4/auth/auth.h index 3984704928..2678d2ca66 100644 --- a/source4/auth/auth.h +++ b/source4/auth/auth.h @@ -127,6 +127,7 @@ struct auth_method_context; struct auth_check_password_request; struct auth_context; struct auth_session_info; +struct ldb_dn; struct auth_operations { const char *name; @@ -153,6 +154,7 @@ struct auth_operations { NTSTATUS (*get_server_info_principal)(TALLOC_CTX *mem_ctx, struct auth_context *auth_context, const char *principal, + struct ldb_dn *user_dn, struct auth_serversupplied_info **server_info); }; @@ -201,9 +203,10 @@ struct auth_context { NTSTATUS (*set_challenge)(struct auth_context *auth_ctx, const uint8_t chal[8], const char *set_by); NTSTATUS (*get_server_info_principal)(TALLOC_CTX *mem_ctx, - struct auth_context *auth_context, - const char *principal, - struct auth_serversupplied_info **server_info); + struct auth_context *auth_ctx, + const char *principal, + struct ldb_dn *user_dn, + struct auth_serversupplied_info **server_info); NTSTATUS (*generate_session_info)(TALLOC_CTX *mem_ctx, struct auth_context *auth_context, @@ -231,7 +234,6 @@ struct auth_critical_sizes { struct ldb_message; struct ldb_context; -struct ldb_dn; struct gensec_security; NTSTATUS auth_get_challenge(struct auth_context *auth_ctx, uint8_t chal[8]); @@ -265,6 +267,7 @@ NTSTATUS auth_context_create_methods(TALLOC_CTX *mem_ctx, const char **methods, struct tevent_context *ev, struct messaging_context *msg, struct loadparm_context *lp_ctx, + struct ldb_context *sam_ctx, struct auth_context **auth_ctx); NTSTATUS auth_context_create(TALLOC_CTX *mem_ctx, @@ -272,6 +275,7 @@ NTSTATUS auth_context_create(TALLOC_CTX *mem_ctx, struct messaging_context *msg, struct loadparm_context *lp_ctx, struct auth_context **auth_ctx); +NTSTATUS auth_context_create_from_ldb(TALLOC_CTX *mem_ctx, struct ldb_context *ldb, struct auth_context **auth_ctx); NTSTATUS auth_check_password(struct auth_context *auth_ctx, TALLOC_CTX *mem_ctx, @@ -302,6 +306,7 @@ NTSTATUS auth_context_set_challenge(struct auth_context *auth_ctx, const uint8_t NTSTATUS auth_get_server_info_principal(TALLOC_CTX *mem_ctx, struct auth_context *auth_ctx, const char *principal, + struct ldb_dn *user_dn, struct auth_serversupplied_info **server_info); NTSTATUS samba_server_gensec_start(TALLOC_CTX *mem_ctx, -- cgit