summaryrefslogtreecommitdiff
path: root/source4
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
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')
-rw-r--r--source4/rpc_server/common/forward.c8
-rw-r--r--source4/rpc_server/dcerpc_server.c13
-rw-r--r--source4/rpc_server/dcerpc_server.h9
-rw-r--r--source4/rpc_server/dcesrv_auth.c8
-rw-r--r--source4/rpc_server/drsuapi/getncchanges.c10
-rw-r--r--source4/rpc_server/drsuapi/updaterefs.c9
-rw-r--r--source4/rpc_server/lsa/dcesrv_lsa.c26
-rw-r--r--source4/rpc_server/lsa/lsa_lookup.c16
-rw-r--r--source4/rpc_server/netlogon/dcerpc_netlogon.c31
-rw-r--r--source4/rpc_server/samr/samr_password.c8
-rw-r--r--source4/rpc_server/srvsvc/srvsvc_ntvfs.c4
11 files changed, 98 insertions, 44 deletions
diff --git a/source4/rpc_server/common/forward.c b/source4/rpc_server/common/forward.c
index 7d60bd76142..4ae8c1b5c31 100644
--- a/source4/rpc_server/common/forward.c
+++ b/source4/rpc_server/common/forward.c
@@ -74,6 +74,8 @@ void dcesrv_irpc_forward_rpc_call(struct dcesrv_call_state *dce_call, TALLOC_CTX
struct tevent_req *subreq;
struct auth_session_info *session_info =
dcesrv_call_session_info(dce_call);
+ struct imessaging_context *imsg_ctx =
+ dcesrv_imessaging_context(dce_call->conn);
st = talloc(mem_ctx, struct dcesrv_forward_state);
if (st == NULL) {
@@ -93,8 +95,10 @@ void dcesrv_irpc_forward_rpc_call(struct dcesrv_call_state *dce_call, TALLOC_CTX
return;
}
- binding_handle = irpc_binding_handle_by_name(st, dce_call->msg_ctx,
- dest_task, ndr_table);
+ binding_handle = irpc_binding_handle_by_name(st,
+ imsg_ctx,
+ dest_task,
+ ndr_table);
if (binding_handle == NULL) {
DEBUG(0,("%s: Failed to forward request to %s task\n",
opname, dest_task));
diff --git a/source4/rpc_server/dcerpc_server.c b/source4/rpc_server/dcerpc_server.c
index ef767d8c2f5..c45bc17db1d 100644
--- a/source4/rpc_server/dcerpc_server.c
+++ b/source4/rpc_server/dcerpc_server.c
@@ -609,7 +609,6 @@ static NTSTATUS dcesrv_endpoint_connect(struct dcesrv_context *dce_ctx,
const struct dcesrv_endpoint *ep,
struct auth_session_info *session_info,
struct tevent_context *event_ctx,
- struct imessaging_context *msg_ctx,
struct server_id server_id,
uint32_t state_flags,
struct dcesrv_connection **_p)
@@ -628,7 +627,6 @@ static NTSTATUS dcesrv_endpoint_connect(struct dcesrv_context *dce_ctx,
p->endpoint = ep;
p->packet_log_dir = lpcfg_lock_directory(dce_ctx->lp_ctx);
p->event_ctx = event_ctx;
- p->msg_ctx = msg_ctx;
p->server_id = server_id;
p->state_flags = state_flags;
p->allow_bind = true;
@@ -2043,7 +2041,6 @@ static NTSTATUS dcesrv_process_ncacn_packet(struct dcesrv_connection *dce_conn,
}
call->conn = dce_conn;
call->event_ctx = dce_conn->event_ctx;
- call->msg_ctx = dce_conn->msg_ctx;
call->state_flags = call->conn->state_flags;
call->time = timeval_current();
call->list = DCESRV_LIST_NONE;
@@ -2825,7 +2822,6 @@ static void dcesrv_sock_accept(struct stream_connection *srv_conn)
dcesrv_sock->endpoint,
srv_conn->session_info,
srv_conn->event.ctx,
- srv_conn->msg_ctx,
srv_conn->server_id,
DCESRV_CALL_STATE_FLAG_MAY_ASYNC,
&dcesrv_conn);
@@ -3389,3 +3385,12 @@ _PUBLIC_ void dcesrv_call_auth_info(struct dcesrv_call_state *dce_call,
*auth_level = auth->auth_level;
}
}
+
+_PUBLIC_ struct imessaging_context *dcesrv_imessaging_context(
+ struct dcesrv_connection *conn)
+{
+ struct stream_connection *srv_conn =
+ talloc_get_type_abort(conn->transport.private_data,
+ struct stream_connection);
+ return srv_conn->msg_ctx;
+}
diff --git a/source4/rpc_server/dcerpc_server.h b/source4/rpc_server/dcerpc_server.h
index 50b07462cfd..0baff2cb049 100644
--- a/source4/rpc_server/dcerpc_server.h
+++ b/source4/rpc_server/dcerpc_server.h
@@ -127,9 +127,6 @@ struct dcesrv_call_state {
/* the backend can use this event context for async replies */
struct tevent_context *event_ctx;
- /* the message_context that will be used for async replies */
- struct imessaging_context *msg_ctx;
-
/* this is the pointer to the allocated function struct */
void *r;
@@ -263,9 +260,6 @@ struct dcesrv_connection {
/* the event_context that will be used for this connection */
struct tevent_context *event_ctx;
- /* the message_context that will be used for this connection */
- struct imessaging_context *msg_ctx;
-
/* the server_id that will be used for this connection */
struct server_id server_id;
@@ -581,4 +575,7 @@ _PUBLIC_ void *_dcesrv_iface_state_find_conn(
_dcesrv_iface_state_find_conn((call), (magic)), \
_type)
+_PUBLIC_ struct imessaging_context *dcesrv_imessaging_context(
+ struct dcesrv_connection *conn);
+
#endif /* SAMBA_DCERPC_SERVER_H */
diff --git a/source4/rpc_server/dcesrv_auth.c b/source4/rpc_server/dcesrv_auth.c
index 7dc225d9c8c..bc78a364d7e 100644
--- a/source4/rpc_server/dcesrv_auth.c
+++ b/source4/rpc_server/dcesrv_auth.c
@@ -81,6 +81,8 @@ static bool dcesrv_auth_prepare_gensec(struct dcesrv_call_state *call)
struct cli_credentials *server_credentials = NULL;
struct dcesrv_connection *dce_conn = call->conn;
struct dcesrv_auth *auth = call->auth_state;
+ struct imessaging_context *imsg_ctx =
+ dcesrv_imessaging_context(call->conn);
NTSTATUS status;
if (auth->auth_started) {
@@ -146,7 +148,7 @@ static bool dcesrv_auth_prepare_gensec(struct dcesrv_call_state *call)
status = samba_server_gensec_start(auth,
call->event_ctx,
- call->msg_ctx,
+ imsg_ctx,
call->conn->dce_ctx->lp_ctx,
server_credentials,
NULL,
@@ -236,6 +238,8 @@ static void log_successful_dcesrv_authz_event(struct dcesrv_call_state *call)
struct dcesrv_auth *auth = call->auth_state;
enum dcerpc_transport_t transport =
dcerpc_binding_get_transport(call->conn->endpoint->ep_description);
+ struct imessaging_context *imsg_ctx =
+ dcesrv_imessaging_context(call->conn);
const char *auth_type = derpc_transport_string_by_transport(transport);
const char *transport_protection = AUTHZ_TRANSPORT_PROTECTION_NONE;
@@ -248,7 +252,7 @@ static void log_successful_dcesrv_authz_event(struct dcesrv_call_state *call)
* covered ncacn_np pass-through auth, and anonymous
* DCE/RPC (eg epmapper, netlogon etc)
*/
- log_successful_authz_event(call->conn->msg_ctx,
+ log_successful_authz_event(imsg_ctx,
call->conn->dce_ctx->lp_ctx,
call->conn->remote_address,
call->conn->local_address,
diff --git a/source4/rpc_server/drsuapi/getncchanges.c b/source4/rpc_server/drsuapi/getncchanges.c
index 47d04abd60e..e458b2a9931 100644
--- a/source4/rpc_server/drsuapi/getncchanges.c
+++ b/source4/rpc_server/drsuapi/getncchanges.c
@@ -2675,6 +2675,8 @@ WERROR dcesrv_drsuapi_DsGetNCChanges(struct dcesrv_call_state *dce_call, TALLOC_
{
struct auth_session_info *session_info =
dcesrv_call_session_info(dce_call);
+ struct imessaging_context *imsg_ctx =
+ dcesrv_imessaging_context(dce_call->conn);
struct drsuapi_DsReplicaObjectIdentifier *ncRoot;
int ret;
uint32_t i, k;
@@ -3450,9 +3452,11 @@ allowed:
to send notifies using the GC SPN */
ureq.options |= (req10->replica_flags & DRSUAPI_DRS_REF_GCSPN);
- werr = drsuapi_UpdateRefs(dce_call->msg_ctx,
- dce_call->event_ctx, b_state,
- mem_ctx, &ureq);
+ werr = drsuapi_UpdateRefs(imsg_ctx,
+ dce_call->event_ctx,
+ b_state,
+ mem_ctx,
+ &ureq);
if (!W_ERROR_IS_OK(werr)) {
DEBUG(0,(__location__ ": Failed UpdateRefs on %s for %s in DsGetNCChanges - %s\n",
drs_ObjectIdentifier_to_string(mem_ctx, ncRoot), ureq.dest_dsa_dns_name,
diff --git a/source4/rpc_server/drsuapi/updaterefs.c b/source4/rpc_server/drsuapi/updaterefs.c
index 0d3b47a9505..289dc8117ce 100644
--- a/source4/rpc_server/drsuapi/updaterefs.c
+++ b/source4/rpc_server/drsuapi/updaterefs.c
@@ -338,6 +338,8 @@ WERROR dcesrv_drsuapi_DsReplicaUpdateRefs(struct dcesrv_call_state *dce_call, TA
{
struct auth_session_info *session_info =
dcesrv_call_session_info(dce_call);
+ struct imessaging_context *imsg_ctx =
+ dcesrv_imessaging_context(dce_call->conn);
struct dcesrv_handle *h;
struct drsuapi_bind_state *b_state;
struct drsuapi_DsReplicaUpdateRefsRequest1 *req;
@@ -378,8 +380,11 @@ WERROR dcesrv_drsuapi_DsReplicaUpdateRefs(struct dcesrv_call_state *dce_call, TA
}
}
- werr = drsuapi_UpdateRefs(dce_call->msg_ctx, dce_call->event_ctx,
- b_state, mem_ctx, req);
+ werr = drsuapi_UpdateRefs(imsg_ctx,
+ dce_call->event_ctx,
+ b_state,
+ mem_ctx,
+ req);
#if 0
NDR_PRINT_FUNCTION_DEBUG(drsuapi_DsReplicaUpdateRefs, NDR_BOTH, r);
diff --git a/source4/rpc_server/lsa/dcesrv_lsa.c b/source4/rpc_server/lsa/dcesrv_lsa.c
index 831ebf42e36..8cd983c7a18 100644
--- a/source4/rpc_server/lsa/dcesrv_lsa.c
+++ b/source4/rpc_server/lsa/dcesrv_lsa.c
@@ -1105,6 +1105,8 @@ static NTSTATUS dcesrv_lsa_CreateTrustedDomain_base(struct dcesrv_call_state *dc
char *dns_encoded = NULL;
char *netbios_encoded = NULL;
char *sid_encoded = NULL;
+ struct imessaging_context *imsg_ctx =
+ dcesrv_imessaging_context(dce_call->conn);
DCESRV_PULL_HANDLE(policy_handle, r->in.policy_handle, LSA_HANDLE_POLICY);
ZERO_STRUCTP(r->out.trustdom_handle);
@@ -1364,13 +1366,16 @@ static NTSTATUS dcesrv_lsa_CreateTrustedDomain_base(struct dcesrv_call_state *dc
/*
* Notify winbindd that we have a new trust
*/
- status = irpc_servers_byname(dce_call->msg_ctx,
+ status = irpc_servers_byname(imsg_ctx,
mem_ctx,
"winbind_server",
- &num_server_ids, &server_ids);
+ &num_server_ids,
+ &server_ids);
if (NT_STATUS_IS_OK(status) && num_server_ids >= 1) {
- imessaging_send(dce_call->msg_ctx, server_ids[0],
- MSG_WINBIND_RELOAD_TRUSTED_DOMAINS, NULL);
+ imessaging_send(imsg_ctx,
+ server_ids[0],
+ MSG_WINBIND_RELOAD_TRUSTED_DOMAINS,
+ NULL);
}
TALLOC_FREE(server_ids);
@@ -4403,6 +4408,8 @@ static NTSTATUS dcesrv_lsa_lsaRSetForestTrustInformation(struct dcesrv_call_stat
enum ndr_err_code ndr_err;
int ret;
bool in_transaction = false;
+ struct imessaging_context *imsg_ctx =
+ dcesrv_imessaging_context(dce_call->conn);
DCESRV_PULL_HANDLE(h, r->in.handle, LSA_HANDLE_POLICY);
@@ -4641,17 +4648,20 @@ static NTSTATUS dcesrv_lsa_lsaRSetForestTrustInformation(struct dcesrv_call_stat
/*
* Notify winbindd that we have a acquired forest trust info
*/
- status = irpc_servers_byname(dce_call->msg_ctx,
+ status = irpc_servers_byname(imsg_ctx,
mem_ctx,
"winbind_server",
- &num_server_ids, &server_ids);
+ &num_server_ids,
+ &server_ids);
if (!NT_STATUS_IS_OK(status)) {
DBG_ERR("irpc_servers_byname failed\n");
goto done;
}
- imessaging_send(dce_call->msg_ctx, server_ids[0],
- MSG_WINBIND_RELOAD_TRUSTED_DOMAINS, NULL);
+ imessaging_send(imsg_ctx,
+ server_ids[0],
+ MSG_WINBIND_RELOAD_TRUSTED_DOMAINS,
+ NULL);
status = NT_STATUS_OK;
diff --git a/source4/rpc_server/lsa/lsa_lookup.c b/source4/rpc_server/lsa/lsa_lookup.c
index a2723dc6849..344583a9d42 100644
--- a/source4/rpc_server/lsa/lsa_lookup.c
+++ b/source4/rpc_server/lsa/lsa_lookup.c
@@ -1878,6 +1878,8 @@ static NTSTATUS dcesrv_lsa_lookup_name_winbind(
NTSTATUS status;
const char *check_domain_name = NULL;
bool expect_domain = false;
+ struct imessaging_context *imsg_ctx =
+ dcesrv_imessaging_context(state->dce_call->conn);
if (item->name == NULL) {
/*
@@ -1994,9 +1996,9 @@ static NTSTATUS dcesrv_lsa_lookup_name_winbind(
}
state->wb.irpc_handle = irpc_binding_handle_by_name(state,
- state->dce_call->msg_ctx,
- "winbind_server",
- &ndr_table_lsarpc);
+ imsg_ctx,
+ "winbind_server",
+ &ndr_table_lsarpc);
if (state->wb.irpc_handle == NULL) {
DEBUG(0,("Failed to get binding_handle for winbind_server task\n"));
state->dce_call->fault_code = DCERPC_FAULT_CANT_PERFORM;
@@ -2021,6 +2023,8 @@ static NTSTATUS dcesrv_lsa_lookup_sid_winbind(
struct dom_sid domain_sid = {0,};
NTSTATUS status;
bool match;
+ struct imessaging_context *imsg_ctx =
+ dcesrv_imessaging_context(state->dce_call->conn);
/*
* Verify the sid is not INVALID.
@@ -2111,9 +2115,9 @@ static NTSTATUS dcesrv_lsa_lookup_sid_winbind(
}
state->wb.irpc_handle = irpc_binding_handle_by_name(state,
- state->dce_call->msg_ctx,
- "winbind_server",
- &ndr_table_lsarpc);
+ imsg_ctx,
+ "winbind_server",
+ &ndr_table_lsarpc);
if (state->wb.irpc_handle == NULL) {
DEBUG(0,("Failed to get binding_handle for winbind_server task\n"));
state->dce_call->fault_code = DCERPC_FAULT_CANT_PERFORM;
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;
diff --git a/source4/rpc_server/samr/samr_password.c b/source4/rpc_server/samr/samr_password.c
index b04e37f06f3..7cb261c8c9b 100644
--- a/source4/rpc_server/samr/samr_password.c
+++ b/source4/rpc_server/samr/samr_password.c
@@ -103,6 +103,8 @@ NTSTATUS dcesrv_samr_OemChangePasswordUser2(struct dcesrv_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);
NTSTATUS status = NT_STATUS_WRONG_PASSWORD;
DATA_BLOB new_password, new_unicode_password;
char *new_pass;
@@ -289,7 +291,7 @@ NTSTATUS dcesrv_samr_OemChangePasswordUser2(struct dcesrv_call_state *dce_call,
failed:
- log_password_change_event(dce_call->conn->msg_ctx,
+ log_password_change_event(imsg_ctx,
dce_call->conn->dce_ctx->lp_ctx,
dce_call->conn->remote_address,
dce_call->conn->local_address,
@@ -323,6 +325,8 @@ NTSTATUS dcesrv_samr_ChangePasswordUser3(struct dcesrv_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);
NTSTATUS status = NT_STATUS_WRONG_PASSWORD;
DATA_BLOB new_password;
struct ldb_context *sam_ctx = NULL;
@@ -515,7 +519,7 @@ NTSTATUS dcesrv_samr_ChangePasswordUser3(struct dcesrv_call_state *dce_call,
failed:
- log_password_change_event(dce_call->conn->msg_ctx,
+ log_password_change_event(imsg_ctx,
dce_call->conn->dce_ctx->lp_ctx,
dce_call->conn->remote_address,
dce_call->conn->local_address,
diff --git a/source4/rpc_server/srvsvc/srvsvc_ntvfs.c b/source4/rpc_server/srvsvc/srvsvc_ntvfs.c
index fe97d60d999..f83fd03502a 100644
--- a/source4/rpc_server/srvsvc/srvsvc_ntvfs.c
+++ b/source4/rpc_server/srvsvc/srvsvc_ntvfs.c
@@ -41,6 +41,8 @@ NTSTATUS srvsvc_create_ntvfs_context(struct dcesrv_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);
NTSTATUS status;
struct srvsvc_ntvfs_ctx *c;
struct ntvfs_request *ntvfs_req;
@@ -92,7 +94,7 @@ NTSTATUS srvsvc_create_ntvfs_context(struct dcesrv_call_state *dce_call,
PROTOCOL_NT1,
0,/* ntvfs_client_caps */
dce_call->event_ctx,
- dce_call->conn->msg_ctx,
+ imsg_ctx,
dce_call->conn->dce_ctx->lp_ctx,
dce_call->conn->server_id,
&c->ntvfs);