blob: 0869a2b115eb5a65fcfdb549d538877bffa3b3a0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
#!/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" --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 msDS-RevealOnDemandGroup msDS-NeverRevealGroup msDS-RevealedUsers" --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 || failed=$(expr $failed + 1)
testit "reindex" reindex || failed=$(expr $failed + 1)
testit "fixed_attrs" fixed_attrs || failed=$(expr $failed + 1)
testit "force_modules" force_modules || failed=$(expr $failed + 1)
testit "reset_well_known_acls" dbcheck_reset_well_known_acls || failed=$(expr $failed + 1)
exit $failed
|