docs: define and include entities for the docs
[Samba.git] / testprogs / blackbox / dbcheck-oldrelease.sh
blobd59c8a826ba794685a39b54ae6dcd82f63e0b37a
1 #!/bin/sh
3 if [ $# -lt 1 ]; then
4 cat <<EOF
5 Usage: dbcheck.sh PREFIX RELEASE
6 EOF
7 exit 1;
8 fi
10 PREFIX_ABS="$1"
11 RELEASE="$2"
12 shift 2
14 . `dirname $0`/subunit.sh
16 release_dir=`dirname $0`/../../source4/selftest/provisions/$RELEASE
18 ldbmodify="ldbmodify"
19 if [ -x "$BINDIR/ldbmodify" ]; then
20 ldbmodify="$BINDIR/ldbmodify"
23 undump() {
24 if test -x $BINDIR/tdbrestore;
25 then
26 `dirname $0`/../../source4/selftest/provisions/undump.sh $release_dir $PREFIX_ABS/$RELEASE $BINDIR/tdbrestore
27 else
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
36 changetype: modify
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=
56 EOF
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
63 changetype: modify
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=
83 EOF
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
90 changetype: modify
91 replace: userParameters
92 userParameters:: Q3R4Q2ZnUHJlc2VudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
93 CAgUAsaCAFDdHhDZmdQcmVzZW5045S15pSx5oiw44GiIAIBQ3R4V0ZQcm9maWxlUGF0aOOAsBgCAU
94 N0eFdGSG9tZURpcuOAsCICAUN0eFdGSG9tZURpckRyaXZl44CwEggBQ3R4U2hhZG9344Sw44Cw44C
95 w44CwLggBQ3R4TWF4RGlzY29ubmVjdGlvblRpbWXjgaXjjLnjkLDjgLAoCAFDdHhNYXhDb25uZWN0
96 aW9uVGltZeOAtOOct+aIseOAsBwIAUN0eE1heElkbGVUaW1l44Gj45yy46Sw44CwIAIBQ3R4V29ya
97 0RpcmVjdG9yeeOAsBgIAUN0eENmZ0ZsYWdzMeOAsOOBpuOYsuOAuCICAUN0eEluaXRpYWxQcm9ncm
98 Ft44Cw
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
108 changetype: modify
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=
135 reindex() {
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
140 dbcheck() {
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
144 dbcheck_clean() {
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 $@
153 else
154 return 1
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
166 dbcheck2() {
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 $@
169 else
170 exit 1
173 # But having fixed it all up, this should pass
174 dbcheck_clean2() {
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
186 ldapcmp() {
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
192 ldapcmp_sd() {
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
214 else
215 subunit_start_test $RELEASE
216 subunit_skip_test $RELEASE <<EOF
217 no test provision
220 subunit_start_test "reindex"
221 subunit_skip_test "reindex" <<EOF
222 no test provision
224 subunit_start_test "dbcheck"
225 subunit_skip_test "dbcheck" <<EOF
226 no test provision
228 subunit_start_test "dbcheck_clean"
229 subunit_skip_test "dbcheck_clean" <<EOF
230 no test provision
232 subunit_start_test "dbcheck_acl_reset"
233 subunit_skip_test "dbcheck_acl_reset" <<EOF
234 no test provision
236 subunit_start_test "dbcheck_clean_acl_reset"
237 subunit_skip_test "dbcheck_clean_acl_reset" <<EOF
238 no test provision
240 subunit_start_test add_userparameters0
241 subunit_skip_test add_userparameters0<<EOF
242 no test provision
245 subunit_start_test add_userparameters1
246 subunit_skip_test add_userparameters1<<EOF
247 no test provision
250 subunit_start_test add_userparameters2
251 subunit_skip_test add_userparameters2<<EOF
252 no test provision
255 subunit_start_test add_userparameters3
256 subunit_skip_test add_userparameters3<<EOF
257 no test provision
260 subunit_start_test "dbcheck2"
261 subunit_skip_test "dbcheck2" <<EOF
262 no test provision
265 subunit_start_test "referenceprovision"
266 subunit_skip_test "referenceprovision" <<EOF
267 no test provision
269 subunit_start_test "ldapcmp"
270 subunit_skip_test "ldapcmp" <<EOF
271 no test provision
273 subunit_start_test "ldapcmp_sd"
274 subunit_skip_test "ldapcmp_sd" <<EOF
275 no test provision
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
287 exit $failed