5 Usage: dbcheck.sh PREFIX RELEASE
14 .
`dirname $0`/subunit.sh
16 release_dir
=`dirname $0`/..
/..
/source4/selftest
/provisions
/$RELEASE
19 if [ -x "$BINDIR/ldbmodify" ]; then
20 ldbmodify
="$BINDIR/ldbmodify"
24 if test -x $BINDIR/tdbrestore
;
26 `dirname $0`/..
/..
/source4/selftest
/provisions
/undump.sh
$release_dir $PREFIX_ABS/$RELEASE $BINDIR/tdbrestore
28 `dirname $0`/..
/..
/source4/selftest
/provisions
/undump.sh
$release_dir $PREFIX_ABS/$RELEASE
32 add_userparameters0
() {
33 if [ x
$RELEASE = x
"release-4-1-0rc3" ]; then
34 $ldbmodify -H tdb
://$PREFIX_ABS/${RELEASE}/private
/sam.ldb
<<EOF
35 dn: cn=localdc,cn=domain controllers,dc=release-4-1-0rc3,dc=samba,dc=corp
37 replace: userParameters
38 userParameters:: IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAC
39 AAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAUAAQABoACAAB
40 AEMAdAB4AEMAZgBnAFAAcgBlAHMAZQBuAHQANTUxZTBiYjAYAAgAAQBDAHQAeABDAGYAZw
41 BGAGwAYQBnAHMAMQAwMGUwMDAxMBYACAABAEMAdAB4AEMAYQBsAGwAYgBhAGMAawAwMDAw
42 MDAwMBIACAABAEMAdAB4AFMAaABhAGQAbwB3ADAxMDAwMDAwKAAIAAEAQwB0AHgATQBhAH
43 gAQwBvAG4AbgBlAGMAdABpAG8AbgBUAGkAbQBlADAwMDAwMDAwLgAIAAEAQwB0AHgATQBh
44 AHgARABpAHMAYwBvAG4AbgBlAGMAdABpAG8AbgBUAGkAbQBlADAwMDAwMDAwHAAIAAEAQw
45 B0AHgATQBhAHgASQBkAGwAZQBUAGkAbQBlADAwMDAwMDAwIgAIAAEAQwB0AHgASwBlAHkA
46 YgBvAGEAcgBkAEwAYQB5AG8AdQB0ADAwMDAwMDAwKgACAAEAQwB0AHgATQBpAG4ARQBuAG
47 MAcgB5AHAAdABpAG8AbgBMAGUAdgBlAGwAMDAgAAIAAQBDAHQAeABXAG8AcgBrAEQAaQBy
48 AGUAYwB0AG8AcgB5ADAwIAACAAEAQwB0AHgATgBXAEwAbwBnAG8AbgBTAGUAcgB2AGUAcg
49 AwMBgAJAABAEMAdAB4AFcARgBIAG8AbQBlAEQAaQByADVjNWM3MzYxNzQ3NTcyNmU2NTVj
50 NzAyZTYyNjk2NDZmNmUwMCIABgABAEMAdAB4AFcARgBIAG8AbQBlAEQAaQByAEQAcgBpAH
51 YAZQA1MDNhMDAgADoAAQBDAHQAeABXAEYAUAByAG8AZgBpAGwAZQBQAGEAdABoADVjNWM3
52 MzYxNzQ3NTcyNmU2NTVjNzA3MjZmNjY2OTZjNjU3NDczNjU1YzcwMmU2MjY5NjQ2ZjZlMD
53 AiAAIAAQBDAHQAeABJAG4AaQB0AGkAYQBsAFAAcgBvAGcAcgBhAG0AMDAiAAIAAQBDAHQA
54 eABDAGEAbABsAGIAYQBjAGsATgB1AG0AYgBlAHIAMDA=
59 add_userparameters1
() {
60 if [ x
$RELEASE = x
"release-4-1-0rc3" ]; then
61 $ldbmodify -H tdb
://$PREFIX_ABS/${RELEASE}/private
/sam.ldb
<<EOF
62 dn: cn=administrator,cn=users,dc=release-4-1-0rc3,dc=samba,dc=corp
64 replace: userParameters
65 userParameters: IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAC
66 AAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAUAAQABoACAAB
67 AEMAdAB4AEMAZgBnAFAAcgBlAHMAZQBuAHQANTUxZTBiYjAYAAgAAQBDAHQAeABDAGYAZw
68 BGAGwAYQBnAHMAMQAwMGUwMDAxMBYACAABAEMAdAB4AEMAYQBsAGwAYgBhAGMAawAwMDAw
69 MDAwMBIACAABAEMAdAB4AFMAaABhAGQAbwB3ADAxMDAwMDAwKAAIAAEAQwB0AHgATQBhAH
70 gAQwBvAG4AbgBlAGMAdABpAG8AbgBUAGkAbQBlADAwMDAwMDAwLgAIAAEAQwB0AHgATQBh
71 AHgARABpAHMAYwBvAG4AbgBlAGMAdABpAG8AbgBUAGkAbQBlADAwMDAwMDAwHAAIAAEAQw
72 B0AHgATQBhAHgASQBkAGwAZQBUAGkAbQBlADAwMDAwMDAwIgAIAAEAQwB0AHgASwBlAHkA
73 YgBvAGEAcgBkAEwAYQB5AG8AdQB0ADAwMDAwMDAwKgACAAEAQwB0AHgATQBpAG4ARQBuAG
74 MAcgB5AHAAdABpAG8AbgBMAGUAdgBlAGwAMDAgAAIAAQBDAHQAeABXAG8AcgBrAEQAaQBy
75 AGUAYwB0AG8AcgB5ADAwIAACAAEAQwB0AHgATgBXAEwAbwBnAG8AbgBTAGUAcgB2AGUAcg
76 AwMBgAJAABAEMAdAB4AFcARgBIAG8AbQBlAEQAaQByADVjNWM3MzYxNzQ3NTcyNmU2NTVj
77 NzAyZTYyNjk2NDZmNmUwMCIABgABAEMAdAB4AFcARgBIAG8AbQBlAEQAaQByAEQAcgBpAH
78 YAZQA1MDNhMDAgADoAAQBDAHQAeABXAEYAUAByAG8AZgBpAGwAZQBQAGEAdABoADVjNWM3
79 MzYxNzQ3NTcyNmU2NTVjNzA3MjZmNjY2OTZjNjU3NDczNjU1YzcwMmU2MjY5NjQ2ZjZlMD
80 AiAAIAAQBDAHQAeABJAG4AaQB0AGkAYQBsAFAAcgBvAGcAcgBhAG0AMDAiAAIAAQBDAHQA
81 eABDAGEAbABsAGIAYQBjAGsATgB1AG0AYgBlAHIAMDA=
86 add_userparameters2
() {
87 if [ x
$RELEASE = x
"release-4-1-0rc3" ]; then
88 $ldbmodify -H tdb
://$PREFIX_ABS/${RELEASE}/private
/sam.ldb
<<EOF
89 dn: cn=krbtgt,cn=users,dc=release-4-1-0rc3,dc=samba,dc=corp
91 replace: userParameters
92 userParameters:: Q3R4Q2ZnUHJlc2VudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
93 CAgUAsaCAFDdHhDZmdQcmVzZW5045S15pSx5oiw44GiIAIBQ3R4V0ZQcm9maWxlUGF0aOOAsBgCAU
94 N0eFdGSG9tZURpcuOAsCICAUN0eFdGSG9tZURpckRyaXZl44CwEggBQ3R4U2hhZG9344Sw44Cw44C
95 w44CwLggBQ3R4TWF4RGlzY29ubmVjdGlvblRpbWXjgaXjjLnjkLDjgLAoCAFDdHhNYXhDb25uZWN0
96 aW9uVGltZeOAtOOct+aIseOAsBwIAUN0eE1heElkbGVUaW1l44Gj45yy46Sw44CwIAIBQ3R4V29ya
97 0RpcmVjdG9yeeOAsBgIAUN0eENmZ0ZsYWdzMeOAsOOBpuOYsuOAuCICAUN0eEluaXRpYWxQcm9ncm
104 add_userparameters3
() {
105 if [ x
$RELEASE = x
"release-4-1-0rc3" ]; then
106 $ldbmodify -H tdb
://$PREFIX_ABS/${RELEASE}/private
/sam.ldb
<<EOF
107 dn: cn=guest,cn=users,dc=release-4-1-0rc3,dc=samba,dc=corp
109 replace: userParameters
110 userParameters:: QwAAAHQAAAB4AAAAQwAAAGYAAABnAAAAUAAAAHIAAABlAAAAcwAAAGUAAABuA
111 AAAdAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAA
112 AgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACA
113 AAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAUAAAAAsAAAAaAAAACAAAAAEAAABDAAAAdAAA
114 AHgAAABDAAAAZgAAAGcAAABQAAAAcgAAAGUAAABzAAAAZQAAAG4AAAB0AAAANQA1ADEAZQAwAGIAY
115 gAwACAAAAACAAAAAQAAAEMAAAB0AAAAeAAAAFcAAABGAAAAUAAAAHIAAABvAAAAZgAAAGkAAABsAA
116 AAZQAAAFAAAABhAAAAdAAAAGgAAAAwADAAGAAAAAIAAAABAAAAQwAAAHQAAAB4AAAAVwAAAEYAAAB
117 IAAAAbwAAAG0AAABlAAAARAAAAGkAAAByAAAAMAAwACIAAAACAAAAAQAAAEMAAAB0AAAAeAAAAFcA
118 AABGAAAASAAAAG8AAABtAAAAZQAAAEQAAABpAAAAcgAAAEQAAAByAAAAaQAAAHYAAABlAAAAMAAwA
119 BIAAAAIAAAAAQAAAEMAAAB0AAAAeAAAAFMAAABoAAAAYQAAAGQAAABvAAAAdwAAADAAMQAwADAAMA
120 AwADAAMAAuAAAACAAAAAEAAABDAAAAdAAAAHgAAABNAAAAYQAAAHgAAABEAAAAaQAAAHMAAABjAAA
121 AbwAAAG4AAABuAAAAZQAAAGMAAAB0AAAAaQAAAG8AAABuAAAAVAAAAGkAAABtAAAAZQAAAGUAMAA5
122 ADMAMAA0ADAAMAAoAAAACAAAAAEAAABDAAAAdAAAAHgAAABNAAAAYQAAAHgAAABDAAAAbwAAAG4AA
123 ABuAAAAZQAAAGMAAAB0AAAAaQAAAG8AAABuAAAAVAAAAGkAAABtAAAAZQAAADQAMAA3ADcAMQBiAD
124 AAMAAcAAAACAAAAAEAAABDAAAAdAAAAHgAAABNAAAAYQAAAHgAAABJAAAAZAAAAGwAAABlAAAAVAA
125 AAGkAAABtAAAAZQAAAGMAMAAyADcAMAA5ADAAMAAgAAAAAgAAAAEAAABDAAAAdAAAAHgAAABXAAAA
126 bwAAAHIAAABrAAAARAAAAGkAAAByAAAAZQAAAGMAAAB0AAAAbwAAAHIAAAB5AAAAMAAwABgAAAAIA
127 AAAAQAAAEMAAAB0AAAAeAAAAEMAAABmAAAAZwAAAEYAAABsAAAAYQAAAGcAAABzAAAAMQAAADAAMA
128 BmADAAMgA2ADgAMAAiAAAAAgAAAAEAAABDAAAAdAAAAHgAAABJAAAAbgAAAGkAAAB0AAAAaQAAAGE
129 AAABsAAAAUAAAAHIAAABvAAAAZwAAAHIAAABhAAAAbQAAADAAMAA=
136 $PYTHON $BINDIR/samba-tool dbcheck
--reindex -H tdb
://$PREFIX_ABS/${RELEASE}/private
/sam.ldb $@
139 # This should 'fail', because it returns the number of modified records
141 $PYTHON $BINDIR/samba-tool dbcheck
--cross-ncs --fix --yes -H tdb
://$PREFIX_ABS/${RELEASE}/private
/sam.ldb $@
143 # But having fixed it all up, this should pass
145 $PYTHON $BINDIR/samba-tool dbcheck
--cross-ncs -H tdb
://$PREFIX_ABS/${RELEASE}/private
/sam.ldb $@
148 # This should 'fail', because it returns the number of modified records.
149 # We don't need to run this against 4.1 releases
150 dbcheck_acl_reset
() {
151 if [ x
$RELEASE = x
"release-4-0-0" -o x
$RELEASE = x
"alpha13" ]; then
152 $PYTHON $BINDIR/samba-tool dbcheck
--reset-well-known-acls --cross-ncs --fix --yes -H tdb
://$PREFIX_ABS/${RELEASE}/private
/sam.ldb $@
157 # But having fixed it all up, this should pass.
158 # We don't need to run this against 4.1.0rc3
159 dbcheck_acl_reset_clean
() {
160 if [ x
$RELEASE != x
"release-4-1-0rc3" ]; then
161 $PYTHON $BINDIR/samba-tool dbcheck
--reset-well-known-acls --cross-ncs -H tdb
://$PREFIX_ABS/${RELEASE}/private
/sam.ldb $@
165 # This should 'fail', because it returns the number of modified records
167 if [ x
$RELEASE = x
"release-4-1-0rc3" ]; then
168 $PYTHON $BINDIR/samba-tool dbcheck
--cross-ncs --fix --yes -H tdb
://$PREFIX_ABS/${RELEASE}/private
/sam.ldb $@
173 # But having fixed it all up, this should pass
175 if [ x
$RELEASE = x
"release-4-1-0rc3" ]; then
176 $PYTHON $BINDIR/samba-tool dbcheck
--cross-ncs -H tdb
://$PREFIX_ABS/${RELEASE}/private
/sam.ldb $@
180 referenceprovision
() {
181 if [ x
$RELEASE == x
"release-4-0-0" ]; then
182 $PYTHON $BINDIR/samba-tool domain provision
--server-role="dc" --domain=SAMBA
--host-name=ares
--realm=${RELEASE}.samba.corp
--targetdir=$PREFIX_ABS/${RELEASE}_reference
--use-ntvfs --host-ip=127.0.0.1 --host-ip6=::1
187 if [ x
$RELEASE == x
"release-4-0-0" ]; then
188 $PYTHON $BINDIR/samba-tool ldapcmp tdb
://$PREFIX_ABS/${RELEASE}_reference
/private
/sam.ldb tdb
://$PREFIX_ABS/${RELEASE}/private
/sam.ldb
--two --skip-missing-dn --filter=dnsRecord
193 if [ x
$RELEASE == x
"release-4-0-0" ]; then
194 $PYTHON $BINDIR/samba-tool ldapcmp tdb
://$PREFIX_ABS/${RELEASE}_reference
/private
/sam.ldb tdb
://$PREFIX_ABS/${RELEASE}/private
/sam.ldb
--two --sd --skip-missing-dn
198 if [ -d $release_dir ]; then
199 testit
$RELEASE undump
200 testit
"reindex" reindex
201 testit_expect_failure
"dbcheck" dbcheck
202 testit
"dbcheck_clean" dbcheck_clean
203 testit_expect_failure
"dbcheck_acl_reset" dbcheck_acl_reset
204 testit
"dbcheck_acl_reset_clean" dbcheck_acl_reset_clean
205 testit
"add_userparameters0" add_userparameters1
206 testit
"add_userparameters1" add_userparameters1
207 testit
"add_userparameters2" add_userparameters2
208 testit
"add_userparameters3" add_userparameters3
209 testit_expect_failure
"dbcheck2" dbcheck2
210 testit
"dbcheck_clean2" dbcheck_clean2
211 testit
"referenceprovision" referenceprovision
212 testit
"ldapcmp" ldapcmp
213 testit
"ldapcmp_sd" ldapcmp_sd
215 subunit_start_test
$RELEASE
216 subunit_skip_test
$RELEASE <<EOF
220 subunit_start_test
"reindex"
221 subunit_skip_test
"reindex" <<EOF
224 subunit_start_test
"dbcheck"
225 subunit_skip_test
"dbcheck" <<EOF
228 subunit_start_test
"dbcheck_clean"
229 subunit_skip_test
"dbcheck_clean" <<EOF
232 subunit_start_test
"dbcheck_acl_reset"
233 subunit_skip_test
"dbcheck_acl_reset" <<EOF
236 subunit_start_test
"dbcheck_clean_acl_reset"
237 subunit_skip_test
"dbcheck_clean_acl_reset" <<EOF
240 subunit_start_test add_userparameters0
241 subunit_skip_test add_userparameters0
<<EOF
245 subunit_start_test add_userparameters1
246 subunit_skip_test add_userparameters1
<<EOF
250 subunit_start_test add_userparameters2
251 subunit_skip_test add_userparameters2
<<EOF
255 subunit_start_test add_userparameters3
256 subunit_skip_test add_userparameters3
<<EOF
260 subunit_start_test
"dbcheck2"
261 subunit_skip_test
"dbcheck2" <<EOF
265 subunit_start_test
"referenceprovision"
266 subunit_skip_test
"referenceprovision" <<EOF
269 subunit_start_test
"ldapcmp"
270 subunit_skip_test
"ldapcmp" <<EOF
273 subunit_start_test
"ldapcmp_sd"
274 subunit_skip_test
"ldapcmp_sd" <<EOF
279 if [ -d $PREFIX_ABS/${RELEASE} ]; then
280 rm -fr $PREFIX_ABS/${RELEASE}
283 if [ -d $PREFIX_ABS/${RELEASE}_reference
]; then
284 rm -fr $PREFIX_ABS/${RELEASE}_reference