From f816af781a2f109ab7a7e9ea5de4115059649821 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Sat, 22 Jul 2017 22:00:59 +1200 Subject: [PATCH] s4-drepl: Block GetNCChanges during a DsReplicaSync If we do not block these, we can get RPC faults (DCERPC_NCA_S_PROTO_ERROR) which gives WERR_WRITE_FAULT back to the DsReplicaSync call as there are two outstanding requests on the wire at the one time. We will get to the next operation as soon as this is finished when we call run_pending_ops(). BUG: https://bugzilla.samba.org/show_bug.cgi?id=12926 Signed-off-by: Andrew Bartlett --- source4/dsdb/repl/drepl_out_pull.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source4/dsdb/repl/drepl_out_pull.c b/source4/dsdb/repl/drepl_out_pull.c index 8af6412..8b8ecd9 100644 --- a/source4/dsdb/repl/drepl_out_pull.c +++ b/source4/dsdb/repl/drepl_out_pull.c @@ -198,7 +198,7 @@ void dreplsrv_run_pull_ops(struct dreplsrv_service *s) struct tevent_req *subreq; WERROR werr; - if (s->ops.current) { + if (s->ops.n_current || s->ops.current) { /* if there's still one running, we're done */ return; } -- 2.9.4