diff options
author | Andrew Bartlett <abartlet@samba.org> | 2007-07-03 08:05:55 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:59:00 -0500 |
commit | 222c6dd7818c729540079cc480ee56812681854e (patch) | |
tree | c8c92312f69ae1c97ad51d2a66e524d3e41cc165 /source4/auth/auth.c | |
parent | 2f269ed95463535b701851735a9b2d43d6b955c1 (diff) | |
download | samba-222c6dd7818c729540079cc480ee56812681854e.tar.gz samba-222c6dd7818c729540079cc480ee56812681854e.tar.bz2 samba-222c6dd7818c729540079cc480ee56812681854e.zip |
r23680: Make it easier to setup a domain member server - the 'server role'
will now control the auth methods, but an override is still available,
ex:
auth methods:domain controller = <methods>
Andrew Bartlett
(This used to be commit b7e727186ed8eda6a68c873e089f655dc24fe8ae)
Diffstat (limited to 'source4/auth/auth.c')
-rw-r--r-- | source4/auth/auth.c | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/source4/auth/auth.c b/source4/auth/auth.c index 9100891d52..8a933c7dd0 100644 --- a/source4/auth/auth.c +++ b/source4/auth/auth.c @@ -348,11 +348,12 @@ NTSTATUS auth_check_password_recv(struct auth_check_password_request *req, /*************************************************************************** Make a auth_info struct for the auth subsystem + - Allow the caller to specify the methods to use ***************************************************************************/ -NTSTATUS auth_context_create(TALLOC_CTX *mem_ctx, const char **methods, - struct event_context *ev, - struct messaging_context *msg, - struct auth_context **auth_ctx) +NTSTATUS auth_context_create_methods(TALLOC_CTX *mem_ctx, const char **methods, + struct event_context *ev, + struct messaging_context *msg, + struct auth_context **auth_ctx) { int i; struct auth_context *ctx; @@ -406,6 +407,30 @@ NTSTATUS auth_context_create(TALLOC_CTX *mem_ctx, const char **methods, return NT_STATUS_OK; } +/*************************************************************************** + Make a auth_info struct for the auth subsystem + - Uses default auth_methods, depending on server role and smb.conf settings +***************************************************************************/ +NTSTATUS auth_context_create(TALLOC_CTX *mem_ctx, + struct event_context *ev, + struct messaging_context *msg, + struct auth_context **auth_ctx) +{ + const char **auth_methods = NULL; + switch (lp_server_role()) { + case ROLE_STANDALONE: + auth_methods = lp_parm_string_list(-1, "auth methods", "standalone", NULL); + break; + case ROLE_DOMAIN_MEMBER: + auth_methods = lp_parm_string_list(-1, "auth methods", "member server", NULL); + break; + case ROLE_DOMAIN_CONTROLLER: + auth_methods = lp_parm_string_list(-1, "auth methods", "domain controller", NULL); + break; + } + return auth_context_create_methods(mem_ctx, auth_methods, ev, msg, auth_ctx); +} + /* the list of currently registered AUTH backends */ static struct auth_backend { |