summaryrefslogtreecommitdiff
path: root/source4/dsdb/repl
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2010-09-29 22:08:48 -0700
committerAndrew Tridgell <tridge@samba.org>2010-09-29 22:12:57 -0700
commit1a9f5b45f80030c63dbd5616c6de1e99cbf539c5 (patch)
treeb123ca9149434ac9a02707ae437f93bda7e28c59 /source4/dsdb/repl
parent287e35f4cfe8be3663afcde50d9cc66e120c43b6 (diff)
downloadsamba-1a9f5b45f80030c63dbd5616c6de1e99cbf539c5.tar.gz
samba-1a9f5b45f80030c63dbd5616c6de1e99cbf539c5.tar.bz2
samba-1a9f5b45f80030c63dbd5616c6de1e99cbf539c5.zip
s4-drepl: don't call UpdateRefs on a RODC
we use the ADD_REF bit in getncchanges instead Pair-Programmed-With: Anatoliy Atanasov <anatoliy.atanasov@postpath.com>
Diffstat (limited to 'source4/dsdb/repl')
-rw-r--r--source4/dsdb/repl/drepl_out_helpers.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/source4/dsdb/repl/drepl_out_helpers.c b/source4/dsdb/repl/drepl_out_helpers.c
index 1477d6fb54..2a32e5ca04 100644
--- a/source4/dsdb/repl/drepl_out_helpers.c
+++ b/source4/dsdb/repl/drepl_out_helpers.c
@@ -623,16 +623,22 @@ static void dreplsrv_op_pull_source_apply_changes_trigger(struct tevent_req *req
return;
}
+ if (state->op->extended_op != DRSUAPI_EXOP_NONE ||
+ state->op->service->am_rodc) {
+ /*
+ we don't do the UpdateRefs for extended ops or if we
+ are a RODC
+ */
+ tevent_req_done(req);
+ return;
+ }
+
/* now we need to update the repsTo record for this partition
on the server. These records are initially established when
we join the domain, but they quickly expire. We do it here
so we can use the already established DRSUAPI pipe
*/
- if (state->op->extended_op == DRSUAPI_EXOP_NONE) {
- dreplsrv_update_refs_trigger(req);
- } else {
- tevent_req_done(req);
- }
+ dreplsrv_update_refs_trigger(req);
}
static void dreplsrv_update_refs_done(struct tevent_req *subreq);