From 181aab56d528c3a270ff9f349c8e91ecb402142b Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Sun, 2 Dec 2007 16:20:18 +0100 Subject: [PATCH] r26221: Add loadparm_context parameter to auth_context_create. (This used to be commit a9a9634df8f3137ecb308adb90a755f12af94972) --- source4/auth/auth.c | 9 +++++---- source4/auth/auth.h | 1 + source4/auth/auth_simple.c | 2 ++ source4/auth/ntlmssp/ntlmssp_server.c | 1 + source4/rpc_server/netlogon/dcerpc_netlogon.c | 2 ++ source4/scripting/ejs/smbcalls_auth.c | 2 +- source4/smb_server/smb/negprot.c | 1 + source4/smb_server/smb/sesssetup.c | 1 + 8 files changed, 14 insertions(+), 5 deletions(-) diff --git a/source4/auth/auth.c b/source4/auth/auth.c index 1dc55de61e7..b36f87780c5 100644 --- a/source4/auth/auth.c +++ b/source4/auth/auth.c @@ -414,18 +414,19 @@ NTSTATUS auth_context_create_methods(TALLOC_CTX *mem_ctx, const char **methods, NTSTATUS auth_context_create(TALLOC_CTX *mem_ctx, struct event_context *ev, struct messaging_context *msg, + struct loadparm_context *lp_ctx, struct auth_context **auth_ctx) { const char **auth_methods = NULL; - switch (lp_server_role(global_loadparm)) { + switch (lp_server_role(lp_ctx)) { case ROLE_STANDALONE: - auth_methods = lp_parm_string_list(global_loadparm, NULL, "auth methods", "standalone", NULL); + auth_methods = lp_parm_string_list(lp_ctx, NULL, "auth methods", "standalone", NULL); break; case ROLE_DOMAIN_MEMBER: - auth_methods = lp_parm_string_list(global_loadparm, NULL, "auth methods", "member server", NULL); + auth_methods = lp_parm_string_list(lp_ctx, NULL, "auth methods", "member server", NULL); break; case ROLE_DOMAIN_CONTROLLER: - auth_methods = lp_parm_string_list(global_loadparm, NULL, "auth methods", "domain controller", NULL); + auth_methods = lp_parm_string_list(lp_ctx, NULL, "auth methods", "domain controller", NULL); break; } return auth_context_create_methods(mem_ctx, auth_methods, ev, msg, auth_ctx); diff --git a/source4/auth/auth.h b/source4/auth/auth.h index 4e9f7b939f2..95819fbaf34 100644 --- a/source4/auth/auth.h +++ b/source4/auth/auth.h @@ -26,6 +26,7 @@ extern const char *user_attrs[]; union netr_Validation; struct netr_SamBaseInfo; struct netr_SamInfo3; +struct loadparm_context; /* modules can use the following to determine if the interface has changed * please increment the version number after each interface change diff --git a/source4/auth/auth_simple.c b/source4/auth/auth_simple.c index 3e07adcb6a4..0b94669008f 100644 --- a/source4/auth/auth_simple.c +++ b/source4/auth/auth_simple.c @@ -24,6 +24,7 @@ #include "includes.h" #include "auth/auth.h" #include "lib/events/events.h" +#include "param/param.h" /* It's allowed to pass NULL as session_info, @@ -49,6 +50,7 @@ _PUBLIC_ NTSTATUS authenticate_username_pw(TALLOC_CTX *mem_ctx, nt_status = auth_context_create(tmp_ctx, ev, msg, + global_loadparm, &auth_context); if (!NT_STATUS_IS_OK(nt_status)) { talloc_free(tmp_ctx); diff --git a/source4/auth/ntlmssp/ntlmssp_server.c b/source4/auth/ntlmssp/ntlmssp_server.c index 79a17e5733a..2734c545d88 100644 --- a/source4/auth/ntlmssp/ntlmssp_server.c +++ b/source4/auth/ntlmssp/ntlmssp_server.c @@ -792,6 +792,7 @@ NTSTATUS gensec_ntlmssp_server_start(struct gensec_security *gensec_security) nt_status = auth_context_create(gensec_ntlmssp_state, gensec_security->event_ctx, gensec_security->msg_ctx, + global_loadparm, &gensec_ntlmssp_state->auth_context); NT_STATUS_NOT_OK_RETURN(nt_status); diff --git a/source4/rpc_server/netlogon/dcerpc_netlogon.c b/source4/rpc_server/netlogon/dcerpc_netlogon.c index b8f0103901e..d441be807a5 100644 --- a/source4/rpc_server/netlogon/dcerpc_netlogon.c +++ b/source4/rpc_server/netlogon/dcerpc_netlogon.c @@ -432,6 +432,7 @@ static NTSTATUS dcesrv_netr_LogonSamLogon_base(struct dcesrv_call_state *dce_cal /* TODO: we need to deny anonymous access here */ nt_status = auth_context_create(mem_ctx, dce_call->event_ctx, dce_call->msg_ctx, + global_loadparm, &auth_context); NT_STATUS_NOT_OK_RETURN(nt_status); @@ -458,6 +459,7 @@ static NTSTATUS dcesrv_netr_LogonSamLogon_base(struct dcesrv_call_state *dce_cal /* TODO: we need to deny anonymous access here */ nt_status = auth_context_create(mem_ctx, dce_call->event_ctx, dce_call->msg_ctx, + global_loadparm, &auth_context); NT_STATUS_NOT_OK_RETURN(nt_status); diff --git a/source4/scripting/ejs/smbcalls_auth.c b/source4/scripting/ejs/smbcalls_auth.c index b4848d4323f..6ddb0497886 100644 --- a/source4/scripting/ejs/smbcalls_auth.c +++ b/source4/scripting/ejs/smbcalls_auth.c @@ -62,7 +62,7 @@ static int ejs_doauth(MprVarHandle eid, if (auth_types) { nt_status = auth_context_create_methods(tmp_ctx, auth_types, ev, msg, &auth_context); } else { - nt_status = auth_context_create(tmp_ctx, ev, msg, &auth_context); + nt_status = auth_context_create(tmp_ctx, ev, msg, global_loadparm, &auth_context); } if (!NT_STATUS_IS_OK(nt_status)) { mprSetPropertyValue(auth, "result", mprCreateBoolVar(false)); diff --git a/source4/smb_server/smb/negprot.c b/source4/smb_server/smb/negprot.c index de70dfe5f61..7ab4c7d352a 100644 --- a/source4/smb_server/smb/negprot.c +++ b/source4/smb_server/smb/negprot.c @@ -47,6 +47,7 @@ static NTSTATUS get_challenge(struct smbsrv_connection *smb_conn, uint8_t buff[8 nt_status = auth_context_create(smb_conn, smb_conn->connection->event.ctx, smb_conn->connection->msg_ctx, + global_loadparm, &smb_conn->negotiate.auth_context); if (!NT_STATUS_IS_OK(nt_status)) { DEBUG(0, ("auth_context_create() returned %s", nt_errstr(nt_status))); diff --git a/source4/smb_server/smb/sesssetup.c b/source4/smb_server/smb/sesssetup.c index 57e2f28b8af..d96ebb6cced 100644 --- a/source4/smb_server/smb/sesssetup.c +++ b/source4/smb_server/smb/sesssetup.c @@ -246,6 +246,7 @@ static void sesssetup_nt1(struct smbsrv_request *req, union smb_sesssetup *sess) status = auth_context_create(req, req->smb_conn->connection->event.ctx, req->smb_conn->connection->msg_ctx, + global_loadparm, &auth_context); if (!NT_STATUS_IS_OK(status)) goto failed; } else {