summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/auth/auth.c9
-rw-r--r--source4/auth/auth.h1
-rw-r--r--source4/auth/auth_simple.c2
-rw-r--r--source4/auth/ntlmssp/ntlmssp_server.c1
-rw-r--r--source4/rpc_server/netlogon/dcerpc_netlogon.c2
-rw-r--r--source4/scripting/ejs/smbcalls_auth.c2
-rw-r--r--source4/smb_server/smb/negprot.c1
-rw-r--r--source4/smb_server/smb/sesssetup.c1
8 files changed, 14 insertions, 5 deletions
diff --git a/source4/auth/auth.c b/source4/auth/auth.c
index 1dc55de61e..b36f87780c 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 4e9f7b939f..95819fbaf3 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 3e07adcb6a..0b94669008 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 79a17e5733..2734c545d8 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 b8f0103901..d441be807a 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 b4848d4323..6ddb049788 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 de70dfe5f6..7ab4c7d352 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 57e2f28b8a..d96ebb6cce 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 {