summaryrefslogtreecommitdiff
path: root/testprogs/blackbox
diff options
context:
space:
mode:
authorTim Beale <timbeale@catalyst.net.nz>2017-07-24 16:20:58 +1200
committerAndrew Bartlett <abartlet@samba.org>2017-08-18 06:07:12 +0200
commitfae5df891c11f642cbede9e4e3d845c49c5f86b8 (patch)
treea11b33aecdffb468ee9c32d8c9aa1fefbc9a6110 /testprogs/blackbox
parent89cf5c3f76e214fbd06ce461470eb64b338c5144 (diff)
downloadsamba-fae5df891c11f642cbede9e4e3d845c49c5f86b8.tar.gz
replmd: Try to add forward-link for unknown cross-partition links
Previously Samba would just drop cross-partition links where the link target object is unknown. Instead, what we want to do is try to add the forward link for the GUID specified. We can't add the backlink because we don't know the target, however, dbcheck should be able to fix any missing backlinks. The new behaviour should now mean dbcheck will detect the problem and be able to fix it. It's still not ideal, but it's better than dropping the link completely. I've updated the log so that it has higher severity and tells the user what they need to do to fix it. These changes now mean that the selftests now detect an error - instead of completely dropping the serverReference, we now have a missing backlink. I've updated the selftests to fix up any missing serverReference backlinks before running dbcheck. Signed-off-by: Tim Beale <timbeale@catalyst.net.nz> Reviewed-by: Garming Sam <garming@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org> BUG: https://bugzilla.samba.org/show_bug.cgi?id=12972
Diffstat (limited to 'testprogs/blackbox')
-rwxr-xr-xtestprogs/blackbox/dbcheck.sh8
1 files changed, 8 insertions, 0 deletions
diff --git a/testprogs/blackbox/dbcheck.sh b/testprogs/blackbox/dbcheck.sh
index 0f979abc7eb..387ce70eefc 100755
--- a/testprogs/blackbox/dbcheck.sh
+++ b/testprogs/blackbox/dbcheck.sh
@@ -27,6 +27,13 @@ dbcheck_fix_stale_links() {
$BINDIR/samba-tool dbcheck --quiet --fix --yes remove_plausible_deleted_DN_links --attrs="member msDS-NC-Replica-Locations msDS-NC-RO-Replica-Locations" --cross-ncs $ARGS
}
+# This list of attributes can be freely extended
+dbcheck_fix_crosspartition_backlinks() {
+ # we may not know the target yet when we receive a cross-partition link,
+ # which can result in a missing backlink
+ $BINDIR/samba-tool dbcheck --quiet --fix --yes fix_all_missing_backlinks --attrs="serverReference" --cross-ncs $ARGS
+}
+
# This test shows that this does not do anything to a current
# provision (that would be a bug)
dbcheck_reset_well_known_acls() {
@@ -47,6 +54,7 @@ force_modules() {
dbcheck_fix_one_way_links
dbcheck_fix_stale_links
+dbcheck_fix_crosspartition_backlinks
testit "dbcheck" dbcheck
testit "reindex" reindex
testit "fixed_attrs" fixed_attrs