1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-08 21:18:16 +03:00
samba-mirror/testprogs/blackbox/dbcheck.sh
Joseph Sutton 40e5db4aab selftest/dbcheck: Fix up RODC one-way links
Test accounts were replicated to the RODC and then deleted, causing
state links to remain in the database.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14642

Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2021-10-14 18:59:31 +00:00

64 lines
1.7 KiB
Bash
Executable File

#!/bin/sh
if [ $# -lt 1 ]; then
cat <<EOF
Usage: dbcheck.sh PREFIX
EOF
exit 1;
fi
PREFIX="$1"
shift 1
ARGS=$@
. `dirname $0`/subunit.sh
dbcheck() {
$PYTHON $BINDIR/samba-tool dbcheck --cross-ncs $ARGS
}
# This list of attributes can be freely extended
dbcheck_fix_one_way_links() {
$PYTHON $BINDIR/samba-tool dbcheck --quiet --fix --yes fix_all_old_dn_string_component_mismatch --attrs="lastKnownParent defaultObjectCategory fromServer rIDSetReferences msDS-RevealOnDemandGroup msDS-NeverRevealGroup" --cross-ncs $ARGS
}
# This list of attributes can be freely extended
dbcheck_fix_stale_links() {
$PYTHON $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
$PYTHON $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() {
$PYTHON $BINDIR/samba-tool dbcheck --cross-ncs --reset-well-known-acls $ARGS
}
reindex() {
$PYTHON $BINDIR/samba-tool dbcheck --reindex $ARGS
}
fixed_attrs() {
$PYTHON $BINDIR/samba-tool dbcheck --attrs=cn $ARGS
}
force_modules() {
$PYTHON $BINDIR/samba-tool dbcheck --force-modules $ARGS
}
dbcheck_fix_one_way_links
dbcheck_fix_stale_links
dbcheck_fix_crosspartition_backlinks
testit "dbcheck" dbcheck
testit "reindex" reindex
testit "fixed_attrs" fixed_attrs
testit "force_modules" force_modules
exit $failed