summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/dsdb/repl/drepl_extended.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/source4/dsdb/repl/drepl_extended.c b/source4/dsdb/repl/drepl_extended.c
index 2c9d1f04e6..07c2328512 100644
--- a/source4/dsdb/repl/drepl_extended.c
+++ b/source4/dsdb/repl/drepl_extended.c
@@ -137,11 +137,12 @@ static WERROR drepl_create_extended_source_dsa(struct dreplsrv_service *service,
for (p=service->partitions; p; p=p->next) {
if (ldb_dn_compare(p->dn, nc_root) == 0) {
struct dreplsrv_partition_source_dsa *s;
- for (s=p->sources; s; s=s->next) {
- if (GUID_equal(&s->repsFrom1->source_dsa_obj_guid,
- &sdsa->repsFrom1->source_dsa_obj_guid)) {
- sdsa->repsFrom1->highwatermark = s->repsFrom1->highwatermark;
- }
+ werr = dreplsrv_partition_source_dsa_by_guid(p,
+ &sdsa->repsFrom1->source_dsa_obj_guid,
+ &s);
+ if (W_ERROR_IS_OK(werr)) {
+ sdsa->repsFrom1->highwatermark = s->repsFrom1->highwatermark;
+ sdsa->repsFrom1->replica_flags = s->repsFrom1->replica_flags;
}
}
}