summaryrefslogtreecommitdiff
path: root/librpc
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2020-10-23 11:56:19 +0200
committerSamuel Cabrero <scabrero@sn-devel-184>2020-10-23 17:24:37 +0000
commitd08a6b4200411114c0b9a8fa46dd6acd91d47476 (patch)
tree7783f546c5102b21c2285e8f34957b9a13c1d5e9 /librpc
parent7bd321e71b7f38994236d84795e08d3818b69dc1 (diff)
downloadsamba-d08a6b4200411114c0b9a8fa46dd6acd91d47476.tar.gz
librpc/dcesrv_core: let dcesrv_call_dispatch_local() call context->iface->reply()
This is needed in order to get NDR_PRINT_FUNCTION_DEBUG(..., NDR_OUT) called. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14551 Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Samuel Cabrero <scabrero@samba.org> Autobuild-User(master): Samuel Cabrero <scabrero@samba.org> Autobuild-Date(master): Fri Oct 23 17:24:37 UTC 2020 on sn-devel-184
Diffstat (limited to 'librpc')
-rw-r--r--librpc/rpc/dcesrv_core.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/librpc/rpc/dcesrv_core.c b/librpc/rpc/dcesrv_core.c
index 35d7947f438..064ad38b8d6 100644
--- a/librpc/rpc/dcesrv_core.c
+++ b/librpc/rpc/dcesrv_core.c
@@ -3011,6 +3011,16 @@ _PUBLIC_ NTSTATUS dcesrv_call_dispatch_local(struct dcesrv_call_state *call)
/* This can never go async for now! */
SMB_ASSERT(!(call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC));
+ /* call the reply function */
+ status = call->context->iface->reply(call, call, call->r);
+ if (!NT_STATUS_IS_OK(status)) {
+ DBG_ERR("DCE/RPC fault in call %s:%02X - %s\n",
+ call->context->iface->name,
+ call->pkt.u.request.opnum,
+ dcerpc_errstr(call, call->fault_code));
+ return dcerpc_fault_to_nt_status(call->fault_code);
+ }
+
push = ndr_push_init_ctx(call);
if (push == NULL) {
return NT_STATUS_NO_MEMORY;