+++ /dev/null
-# Currently Samba can't resolve a conflict for a single-valued link attribute
-samba4.drs.link_conflicts.python\(vampire_dc\).link_conflicts.DrsReplicaLinkConflictTestCase.test_conflict_existing_single_valued_link\(vampire_dc\)
-samba4.drs.link_conflicts.python\(promoted_dc\).link_conflicts.DrsReplicaLinkConflictTestCase.test_conflict_existing_single_valued_link\(promoted_dc\)
-
return ret;
}
- if (pdn == NULL && active) {
+ /*
+ * check if there's a conflict for single-valued links, i.e. an active
+ * linked attribute already exists, but it has a different target value
+ */
+ if (active) {
+ struct parsed_dn *active_pdn = NULL;
- /*
- * check if there's a conflict for single-valued links, i.e.
- * an active linked attribute already exists, but it has a
- * different target value
- */
ret = replmd_get_active_singleval_link(module, tmp_ctx, pdn_list,
old_el->num_values, attr,
- &conflict_pdn);
+ &active_pdn);
if (ret != LDB_SUCCESS) {
talloc_free(tmp_ctx);
return ret;
}
+
+ if (active_pdn != pdn) {
+ conflict_pdn = active_pdn;
+ }
}
if (!replmd_link_update_is_newer(pdn, la)) {
self.ensure_unique_timestamp()
self.add_link_attr(self.ldb_dc2, src_ou, "managedBy", target2_ou)
- # try to sync the 2 DCs (this currently fails)
- try:
- self.sync_DCs(sync_order=sync_order)
- except Exception, e:
- self.fail("Replication could not resolve link conflict: %s" % e)
+ # try to sync the 2 DCs
+ self.sync_DCs(sync_order=sync_order)
res1 = self.ldb_dc1.search(base="<GUID=%s>" % src_guid,
scope=SCOPE_BASE, attrs=["managedBy"])