From: Samuel Cabrero Date: Mon, 1 Mar 2021 16:26:24 +0000 (+0100) Subject: librpc: Lower dcesrv_call_dispatch_local() errors from DBG_ERR to DBG_INFO X-Git-Tag: tevent-0.11.0~1681 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7d2faa2714f83998673bf2fb874ce8202a09879b;p=thirdparty%2Fsamba.git librpc: Lower dcesrv_call_dispatch_local() errors from DBG_ERR to DBG_INFO Before merging the s3 and s4 RPC servers the rpcint_dispatch function was not logging any error. This commit lowers from DBG_ERR to DBG_INFO the importance of error messages when dispatching local RPC calls. There are some situations where RPC functions return RPC faults and this is not a fatal condition. One example is _lsa_QueryInfoPolicy2. This change prevents a noisy error logged when winbindd tries to connect to its primary domain in the nt4_member and ad_member test environments: [2021/03/01 16:49:38.486111, 0, pid=12456] ../../librpc/rpc/dcesrv_core.c:2990(dcesrv_call_dispatch_local) dcesrv_call_dispatch_local: DCE/RPC fault in call lsarpc:2E - DCERPC_NCA_S_OP_RNG_ERROR Signed-off-by: Samuel Cabrero Reviewed-by: Jeremy Allison --- diff --git a/librpc/rpc/dcesrv_core.c b/librpc/rpc/dcesrv_core.c index a51467c87c0..7a20ffe71a0 100644 --- a/librpc/rpc/dcesrv_core.c +++ b/librpc/rpc/dcesrv_core.c @@ -2978,19 +2978,19 @@ _PUBLIC_ NTSTATUS dcesrv_call_dispatch_local(struct dcesrv_call_state *call) /* unravel the NDR for the packet */ status = call->context->iface->ndr_pull(call, call, pull, &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)); + DBG_INFO("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); } status = call->context->iface->local(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)); + DBG_INFO("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); } @@ -3000,10 +3000,10 @@ _PUBLIC_ NTSTATUS dcesrv_call_dispatch_local(struct dcesrv_call_state *call) /* 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)); + DBG_INFO("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); } @@ -3016,10 +3016,10 @@ _PUBLIC_ NTSTATUS dcesrv_call_dispatch_local(struct dcesrv_call_state *call) status = call->context->iface->ndr_push(call, call, push, 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)); + DBG_INFO("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); }