summaryrefslogtreecommitdiff
path: root/source4/rpc_server/netlogon/dcerpc_netlogon.c
diff options
context:
space:
mode:
authorSamuel Cabrero <scabrero@suse.de>2019-01-23 20:37:21 +0100
committerAndreas Schneider <asn@cryptomilk.org>2019-10-18 16:07:36 +0000
commit3d7167f4f43f5cf8ca4393d8d852bd146bf05cde (patch)
treeb2e49608cfc2297e66b66b52f6dcece92a584dc6 /source4/rpc_server/netlogon/dcerpc_netlogon.c
parent3d529762df48205f91e4089178f7aeae240d0da8 (diff)
downloadsamba-3d7167f4f43f5cf8ca4393d8d852bd146bf05cde.tar.gz
s4:rpc_server: Remove imessaging_context from dcerpc core structs
Add a helper function to retrieve the imessaging_context from the stream connection. Signed-off-by: Samuel Cabrero <scabrero@suse.de> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
Diffstat (limited to 'source4/rpc_server/netlogon/dcerpc_netlogon.c')
-rw-r--r--source4/rpc_server/netlogon/dcerpc_netlogon.c31
1 files changed, 23 insertions, 8 deletions
diff --git a/source4/rpc_server/netlogon/dcerpc_netlogon.c b/source4/rpc_server/netlogon/dcerpc_netlogon.c
index 6163eb92ff3..1a36cc6ddca 100644
--- a/source4/rpc_server/netlogon/dcerpc_netlogon.c
+++ b/source4/rpc_server/netlogon/dcerpc_netlogon.c
@@ -523,6 +523,8 @@ static NTSTATUS dcesrv_netr_ServerAuthenticate3(
struct dom_sid *sid = NULL;
const char *trust_account_for_search = NULL;
const char *trust_account_in_db = NULL;
+ struct imessaging_context *imsg_ctx =
+ dcesrv_imessaging_context(dce_call->conn);
struct auth_usersupplied_info ui = {
.local_host = dce_call->conn->local_address,
.remote_host = dce_call->conn->remote_address,
@@ -549,7 +551,7 @@ static NTSTATUS dcesrv_netr_ServerAuthenticate3(
ui.netlogon_trust_account.account_name = trust_account_in_db;
ui.mapped.account_name = trust_account_for_search;
log_authentication_event(
- dce_call->conn->msg_ctx,
+ imsg_ctx,
dce_call->conn->dce_ctx->lp_ctx,
NULL,
&ui,
@@ -947,6 +949,8 @@ static void dcesrv_netr_LogonSamLogon_base_reply(
static NTSTATUS dcesrv_netr_LogonSamLogon_base_call(struct dcesrv_netr_LogonSamLogon_base_state *state)
{
struct dcesrv_call_state *dce_call = state->dce_call;
+ struct imessaging_context *imsg_ctx =
+ dcesrv_imessaging_context(dce_call->conn);
TALLOC_CTX *mem_ctx = state->mem_ctx;
struct netr_LogonSamLogonEx *r = &state->r;
struct netlogon_creds_CredentialState *creds = state->creds;
@@ -992,7 +996,8 @@ static NTSTATUS dcesrv_netr_LogonSamLogon_base_call(struct dcesrv_netr_LogonSamL
case NetlogonNetworkTransitiveInformation:
nt_status = auth_context_create_for_netlogon(mem_ctx,
- dce_call->event_ctx, dce_call->msg_ctx,
+ dce_call->event_ctx,
+ imsg_ctx,
dce_call->conn->dce_ctx->lp_ctx,
&auth_context);
NT_STATUS_NOT_OK_RETURN(nt_status);
@@ -1111,7 +1116,7 @@ static NTSTATUS dcesrv_netr_LogonSamLogon_base_call(struct dcesrv_netr_LogonSamL
= r->in.logon->generic->identity_info.logon_id;
irpc_handle = irpc_binding_handle_by_name(mem_ctx,
- dce_call->msg_ctx,
+ imsg_ctx,
"kdc_server",
&ndr_table_irpc);
if (irpc_handle == NULL) {
@@ -1648,6 +1653,8 @@ static WERROR dcesrv_netr_LogonControl_base_call(struct dcesrv_netr_LogonControl
struct loadparm_context *lp_ctx = state->dce_call->conn->dce_ctx->lp_ctx;
struct auth_session_info *session_info =
dcesrv_call_session_info(state->dce_call);
+ struct imessaging_context *imsg_ctx =
+ dcesrv_imessaging_context(state->dce_call->conn);
enum security_user_level security_level;
struct dcerpc_binding_handle *irpc_handle;
struct tevent_req *subreq;
@@ -1827,7 +1834,7 @@ static WERROR dcesrv_netr_LogonControl_base_call(struct dcesrv_netr_LogonControl
}
irpc_handle = irpc_binding_handle_by_name(state,
- state->dce_call->msg_ctx,
+ imsg_ctx,
"winbind_server",
&ndr_table_winbind);
if (irpc_handle == NULL) {
@@ -2914,6 +2921,8 @@ static WERROR dcesrv_netr_DsRGetDCName_base_call(struct dcesrv_netr_DsRGetDCName
struct dcesrv_call_state *dce_call = state->dce_call;
struct auth_session_info *session_info =
dcesrv_call_session_info(dce_call);
+ struct imessaging_context *imsg_ctx =
+ dcesrv_imessaging_context(dce_call->conn);
TALLOC_CTX *mem_ctx = state->mem_ctx;
struct netr_DsRGetDCNameEx2 *r = &state->r;
struct ldb_context *sam_ctx;
@@ -3058,7 +3067,7 @@ static WERROR dcesrv_netr_DsRGetDCName_base_call(struct dcesrv_netr_DsRGetDCName
false);
irpc_handle = irpc_binding_handle_by_name(state,
- dce_call->msg_ctx,
+ imsg_ctx,
"winbind_server",
&ndr_table_winbind);
if (irpc_handle == NULL) {
@@ -3826,6 +3835,8 @@ static WERROR dcesrv_netr_DsRGetForestTrustInformation(struct dcesrv_call_state
struct loadparm_context *lp_ctx = dce_call->conn->dce_ctx->lp_ctx;
struct auth_session_info *session_info =
dcesrv_call_session_info(dce_call);
+ struct imessaging_context *imsg_ctx =
+ dcesrv_imessaging_context(dce_call->conn);
enum security_user_level security_level;
struct ldb_context *sam_ctx = NULL;
struct dcesrv_netr_DsRGetForestTrustInformation_state *state = NULL;
@@ -3914,7 +3925,7 @@ static WERROR dcesrv_netr_DsRGetForestTrustInformation(struct dcesrv_call_state
state->r = r;
irpc_handle = irpc_binding_handle_by_name(state,
- state->dce_call->msg_ctx,
+ imsg_ctx,
"winbind_server",
&ndr_table_winbind);
if (irpc_handle == NULL) {
@@ -4262,6 +4273,8 @@ static NTSTATUS dcesrv_netr_DsrUpdateReadOnlyServerDnsRecords(struct dcesrv_call
struct dcerpc_binding_handle *binding_handle;
struct netr_dnsupdate_RODC_state *st;
struct tevent_req *subreq;
+ struct imessaging_context *imsg_ctx =
+ dcesrv_imessaging_context(dce_call->conn);
nt_status = dcesrv_netr_creds_server_step_check(dce_call,
mem_ctx,
@@ -4289,8 +4302,10 @@ static NTSTATUS dcesrv_netr_DsrUpdateReadOnlyServerDnsRecords(struct dcesrv_call
st->r2->in.dns_names = r->in.dns_names;
st->r2->out.dns_names = r->out.dns_names;
- binding_handle = irpc_binding_handle_by_name(st, dce_call->msg_ctx,
- "dnsupdate", &ndr_table_irpc);
+ binding_handle = irpc_binding_handle_by_name(st,
+ imsg_ctx,
+ "dnsupdate",
+ &ndr_table_irpc);
if (binding_handle == NULL) {
DEBUG(0,("Failed to get binding_handle for dnsupdate task\n"));
dce_call->fault_code = DCERPC_FAULT_CANT_PERFORM;