[SCM] Samba Shared Repository - branch master updated
Pavel Filipensky
pfilipensky at samba.org
Thu Aug 4 10:12:01 UTC 2022
The branch, master has been updated
via 0cdd204693b testprogs: Reformat dbcheck.sh
via ae3452244de testprogs: Reformat dbcheck-oldrelease.sh
via 9757229b2b0 testprogs: Reformat dbcheck-links.sh
from 61c6a00f550 mdssvc: check if the user closed the query before trying to read the HTTP response from Elasticsearch
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 0cdd204693bbf2f7dd102791a9614672fc6c2e8c
Author: Andreas Schneider <asn at samba.org>
Date: Fri Apr 22 15:46:04 2022 +0200
testprogs: Reformat dbcheck.sh
shfmt -w -p -i 0 -fn testprogs/blackbox/dbcheck.sh
Signed-off-by: Andreas Schneider <asn at samba.org>
Reviewed-by: Pavel Filipenský <pfilipensky at samba.org>
Autobuild-User(master): Pavel Filipensky <pfilipensky at samba.org>
Autobuild-Date(master): Thu Aug 4 10:11:30 UTC 2022 on sn-devel-184
commit ae3452244de69b8b2f31d41e3c9405d9d4e01bb1
Author: Andreas Schneider <asn at samba.org>
Date: Fri Apr 22 15:46:04 2022 +0200
testprogs: Reformat dbcheck-oldrelease.sh
shfmt -w -p -i 0 -fn testprogs/blackbox/dbcheck-oldrelease.sh
Signed-off-by: Andreas Schneider <asn at samba.org>
Reviewed-by: Pavel Filipenský <pfilipensky at samba.org>
commit 9757229b2b0d80a61c86c3ac2966642b4074a30c
Author: Andreas Schneider <asn at samba.org>
Date: Fri Apr 22 15:46:04 2022 +0200
testprogs: Reformat dbcheck-links.sh
shfmt -w -p -i 0 -fn testprogs/blackbox/dbcheck-links.sh
Signed-off-by: Andreas Schneider <asn at samba.org>
Reviewed-by: Pavel Filipenský <pfilipensky at samba.org>
-----------------------------------------------------------------------
Summary of changes:
testprogs/blackbox/dbcheck-links.sh | 1224 +++++++++++++++---------------
testprogs/blackbox/dbcheck-oldrelease.sh | 624 +++++++--------
testprogs/blackbox/dbcheck.sh | 30 +-
3 files changed, 973 insertions(+), 905 deletions(-)
Changeset truncated at 500 lines:
diff --git a/testprogs/blackbox/dbcheck-links.sh b/testprogs/blackbox/dbcheck-links.sh
index 8f73fb86124..29fb5b85abc 100755
--- a/testprogs/blackbox/dbcheck-links.sh
+++ b/testprogs/blackbox/dbcheck-links.sh
@@ -1,158 +1,169 @@
#!/bin/sh
if [ $# -lt 1 ]; then
-cat <<EOF
+ cat <<EOF
Usage: dbcheck-links.sh PREFIX RELEASE
EOF
-exit 1;
+ exit 1
fi
PREFIX_ABS="$1"
RELEASE="$2"
shift 2
-. `dirname $0`/subunit.sh
+. $(dirname $0)/subunit.sh
-. `dirname $0`/common-links.sh
-. `dirname $0`/common_test_fns.inc
+. $(dirname $0)/common-links.sh
+. $(dirname $0)/common_test_fns.inc
failed=0
if [ ! -x $samba_undump ] || [ ! -d $release_dir ]; then
- subunit_start_test $RELEASE
- subunit_skip_test $RELEASE <<EOF
+ subunit_start_test $RELEASE
+ subunit_skip_test $RELEASE <<EOF
no test provision
EOF
- subunit_start_test "tombstones_expunge"
- subunit_skip_test "tombstones_expunge" <<EOF
+ subunit_start_test "tombstones_expunge"
+ subunit_skip_test "tombstones_expunge" <<EOF
no test provision
EOF
- exit 0
+ exit 0
fi
-dbcheck() {
- tmpfile=$PREFIX_ABS/$RELEASE/expected-dbcheck-link-output${1}.txt.tmp
- tmpldif1=$PREFIX_ABS/$RELEASE/expected-dbcheck-output${1}2.txt.tmp1
-
- TZ=UTC $ldbsearch -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb --scope=base -b '' | grep highestCommittedUSN > $tmpldif1
-
- $PYTHON $BINDIR/samba-tool dbcheck -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb $3 --fix --yes > $tmpfile
- if [ "$?" != "$2" ]; then
- return 1
- fi
- sort $tmpfile | grep -v "^INFO:" > $tmpfile.sorted
- sort $release_dir/expected-dbcheck-link-output${1}.txt > $tmpfile.expected
- diff -u $tmpfile.sorted $tmpfile.expected
- if [ "$?" != "0" ]; then
- return 1
- fi
-
- tmpldif2=$PREFIX_ABS/$RELEASE/expected-dbcheck-output${1}2.txt.tmp2
- TZ=UTC $ldbsearch -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb --scope=base -b '' | grep highestCommittedUSN > $tmpldif2
-
- diff -u $tmpldif1 $tmpldif2
- if [ "$?" != "0" ]; then
- return 1
- fi
-}
-
-dbcheck_dangling() {
- dbcheck "" "1" "--selftest-check-expired-tombstones"
- return $?
-}
-
-dbcheck_one_way() {
- dbcheck "_one_way" "0" "CN=Configuration,DC=release-4-5-0-pre1,DC=samba,DC=corp --selftest-check-expired-tombstones"
- return $?
-}
-
-dbcheck_clean() {
- tmpldif1=$PREFIX_ABS/$RELEASE/expected-dbcheck-output2.txt.tmp1
-
- TZ=UTC $ldbsearch -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb --scope=base -b '' | grep highestCommittedUSN > $tmpldif1
-
- $PYTHON $BINDIR/samba-tool dbcheck -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb
- if [ "$?" != "0" ]; then
- return 1
- fi
- tmpldif2=$PREFIX_ABS/$RELEASE/expected-dbcheck-output2.txt.tmp2
- TZ=UTC $ldbsearch -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb --scope=base -b '' | grep highestCommittedUSN > $tmpldif2
-
- diff -u $tmpldif1 $tmpldif2
- if [ "$?" != "0" ]; then
- return 1
- fi
-}
-
-check_expected_after_links() {
- tmpldif=$PREFIX_ABS/$RELEASE/expected-links-after-link-dbcheck.ldif.tmp
- TZ=UTC $ldbsearch -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb '(|(cn=swimmers)(cn=leaders)(cn=helpers))' --scope=sub -b DC=release-4-5-0-pre1,DC=samba,DC=corp --show-deleted --sorted member > $tmpldif
- diff -u $tmpldif $release_dir/expected-links-after-link-dbcheck.ldif
- if [ "$?" != "0" ]; then
- return 1
- fi
-}
-
-check_expected_after_deleted_links() {
- tmpldif=$PREFIX_ABS/$RELEASE/expected-deleted-links-after-link-dbcheck.ldif.tmp
- TZ=UTC $ldbsearch -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb '(|(cn=swimmers)(cn=leaders)(cn=helpers))' --scope=sub -b DC=release-4-5-0-pre1,DC=samba,DC=corp --show-deleted --reveal --sorted member > $tmpldif
- diff -u $tmpldif $release_dir/expected-deleted-links-after-link-dbcheck.ldif
- if [ "$?" != "0" ]; then
- return 1
- fi
-}
-
-check_expected_after_objects() {
- tmpldif=$PREFIX_ABS/$RELEASE/expected-objects-after-link-dbcheck.ldif.tmp
- TZ=UTC $ldbsearch -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb '(|(samaccountname=fred)(samaccountname=ddg)(samaccountname=usg)(samaccountname=user1)(samaccountname=user1x)(samaccountname=user2))' --scope=sub -b DC=release-4-5-0-pre1,DC=samba,DC=corp --show-deleted --reveal --sorted samAccountName | grep sAMAccountName > $tmpldif
- diff -u $tmpldif $release_dir/expected-objects-after-link-dbcheck.ldif
- if [ "$?" != "0" ]; then
- return 1
- fi
-}
-
-duplicate_member() {
- # We use an existing group so we have a stable GUID in the
- # dbcheck output
- LDIF1=$(TZ=UTC $ldbsearch -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb -b 'CN=Enterprise Admins,CN=users,DC=release-4-5-0-pre1,DC=samba,DC=corp' --scope=base --reveal --extended-dn member)
- DN=$(echo "${LDIF1}" | grep '^dn: ')
- MSG=$(echo "${LDIF1}" | grep -v '^dn: ' | grep -v '^#' | grep -v '^$')
- ldif=$PREFIX_ABS/${RELEASE}/duplicate-member-multi.ldif
- {
- echo "${DN}"
- echo "changetype: modify"
- echo "replace: member"
- echo "${MSG}"
- echo "${MSG}" | sed -e 's!RMD_LOCAL_USN=[1-9][0-9]*!RMD_LOCAL_USN=0!'
- } > $ldif
-
- TZ=UTC $ldbmodify -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb.d/DC%3DRELEASE-4-5-0-PRE1,DC%3DSAMBA,DC%3DCORP.ldb $ldif
- if [ "$?" != "0" ]; then
- return 1
- fi
-}
-
-dbcheck_duplicate_member() {
- dbcheck "_duplicate_member" "1" "--selftest-check-expired-tombstones"
- return $?
-}
-
-check_expected_after_duplicate_links() {
- tmpldif=$PREFIX_ABS/$RELEASE/expected-duplicates-after-link-dbcheck.ldif.tmp
- TZ=UTC $ldbsearch -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb '(|(cn=administrator)(cn=enterprise admins))' --scope=sub -b DC=release-4-5-0-pre1,DC=samba,DC=corp --show-deleted --sorted memberOf member > $tmpldif
- diff -u $tmpldif $release_dir/expected-duplicates-after-link-dbcheck.ldif
- if [ "$?" != "0" ]; then
- return 1
- fi
-}
-
-missing_link_sid_corruption() {
- # Step1: add user "missingsidu1"
- #
- ldif=$PREFIX_ABS/${RELEASE}/missing_link_sid_corruption1.ldif
- cat > $ldif <<EOF
+dbcheck()
+{
+ tmpfile=$PREFIX_ABS/$RELEASE/expected-dbcheck-link-output${1}.txt.tmp
+ tmpldif1=$PREFIX_ABS/$RELEASE/expected-dbcheck-output${1}2.txt.tmp1
+
+ TZ=UTC $ldbsearch -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb --scope=base -b '' | grep highestCommittedUSN >$tmpldif1
+
+ $PYTHON $BINDIR/samba-tool dbcheck -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb $3 --fix --yes >$tmpfile
+ if [ "$?" != "$2" ]; then
+ return 1
+ fi
+ sort $tmpfile | grep -v "^INFO:" >$tmpfile.sorted
+ sort $release_dir/expected-dbcheck-link-output${1}.txt >$tmpfile.expected
+ diff -u $tmpfile.sorted $tmpfile.expected
+ if [ "$?" != "0" ]; then
+ return 1
+ fi
+
+ tmpldif2=$PREFIX_ABS/$RELEASE/expected-dbcheck-output${1}2.txt.tmp2
+ TZ=UTC $ldbsearch -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb --scope=base -b '' | grep highestCommittedUSN >$tmpldif2
+
+ diff -u $tmpldif1 $tmpldif2
+ if [ "$?" != "0" ]; then
+ return 1
+ fi
+}
+
+dbcheck_dangling()
+{
+ dbcheck "" "1" "--selftest-check-expired-tombstones"
+ return $?
+}
+
+dbcheck_one_way()
+{
+ dbcheck "_one_way" "0" "CN=Configuration,DC=release-4-5-0-pre1,DC=samba,DC=corp --selftest-check-expired-tombstones"
+ return $?
+}
+
+dbcheck_clean()
+{
+ tmpldif1=$PREFIX_ABS/$RELEASE/expected-dbcheck-output2.txt.tmp1
+
+ TZ=UTC $ldbsearch -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb --scope=base -b '' | grep highestCommittedUSN >$tmpldif1
+
+ $PYTHON $BINDIR/samba-tool dbcheck -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb
+ if [ "$?" != "0" ]; then
+ return 1
+ fi
+ tmpldif2=$PREFIX_ABS/$RELEASE/expected-dbcheck-output2.txt.tmp2
+ TZ=UTC $ldbsearch -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb --scope=base -b '' | grep highestCommittedUSN >$tmpldif2
+
+ diff -u $tmpldif1 $tmpldif2
+ if [ "$?" != "0" ]; then
+ return 1
+ fi
+}
+
+check_expected_after_links()
+{
+ tmpldif=$PREFIX_ABS/$RELEASE/expected-links-after-link-dbcheck.ldif.tmp
+ TZ=UTC $ldbsearch -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb '(|(cn=swimmers)(cn=leaders)(cn=helpers))' --scope=sub -b DC=release-4-5-0-pre1,DC=samba,DC=corp --show-deleted --sorted member >$tmpldif
+ diff -u $tmpldif $release_dir/expected-links-after-link-dbcheck.ldif
+ if [ "$?" != "0" ]; then
+ return 1
+ fi
+}
+
+check_expected_after_deleted_links()
+{
+ tmpldif=$PREFIX_ABS/$RELEASE/expected-deleted-links-after-link-dbcheck.ldif.tmp
+ TZ=UTC $ldbsearch -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb '(|(cn=swimmers)(cn=leaders)(cn=helpers))' --scope=sub -b DC=release-4-5-0-pre1,DC=samba,DC=corp --show-deleted --reveal --sorted member >$tmpldif
+ diff -u $tmpldif $release_dir/expected-deleted-links-after-link-dbcheck.ldif
+ if [ "$?" != "0" ]; then
+ return 1
+ fi
+}
+
+check_expected_after_objects()
+{
+ tmpldif=$PREFIX_ABS/$RELEASE/expected-objects-after-link-dbcheck.ldif.tmp
+ TZ=UTC $ldbsearch -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb '(|(samaccountname=fred)(samaccountname=ddg)(samaccountname=usg)(samaccountname=user1)(samaccountname=user1x)(samaccountname=user2))' --scope=sub -b DC=release-4-5-0-pre1,DC=samba,DC=corp --show-deleted --reveal --sorted samAccountName | grep sAMAccountName >$tmpldif
+ diff -u $tmpldif $release_dir/expected-objects-after-link-dbcheck.ldif
+ if [ "$?" != "0" ]; then
+ return 1
+ fi
+}
+
+duplicate_member()
+{
+ # We use an existing group so we have a stable GUID in the
+ # dbcheck output
+ LDIF1=$(TZ=UTC $ldbsearch -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb -b 'CN=Enterprise Admins,CN=users,DC=release-4-5-0-pre1,DC=samba,DC=corp' --scope=base --reveal --extended-dn member)
+ DN=$(echo "${LDIF1}" | grep '^dn: ')
+ MSG=$(echo "${LDIF1}" | grep -v '^dn: ' | grep -v '^#' | grep -v '^$')
+ ldif=$PREFIX_ABS/${RELEASE}/duplicate-member-multi.ldif
+ {
+ echo "${DN}"
+ echo "changetype: modify"
+ echo "replace: member"
+ echo "${MSG}"
+ echo "${MSG}" | sed -e 's!RMD_LOCAL_USN=[1-9][0-9]*!RMD_LOCAL_USN=0!'
+ } >$ldif
+
+ TZ=UTC $ldbmodify -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb.d/DC%3DRELEASE-4-5-0-PRE1,DC%3DSAMBA,DC%3DCORP.ldb $ldif
+ if [ "$?" != "0" ]; then
+ return 1
+ fi
+}
+
+dbcheck_duplicate_member()
+{
+ dbcheck "_duplicate_member" "1" "--selftest-check-expired-tombstones"
+ return $?
+}
+
+check_expected_after_duplicate_links()
+{
+ tmpldif=$PREFIX_ABS/$RELEASE/expected-duplicates-after-link-dbcheck.ldif.tmp
+ TZ=UTC $ldbsearch -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb '(|(cn=administrator)(cn=enterprise admins))' --scope=sub -b DC=release-4-5-0-pre1,DC=samba,DC=corp --show-deleted --sorted memberOf member >$tmpldif
+ diff -u $tmpldif $release_dir/expected-duplicates-after-link-dbcheck.ldif
+ if [ "$?" != "0" ]; then
+ return 1
+ fi
+}
+
+missing_link_sid_corruption()
+{
+ # Step1: add user "missingsidu1"
+ #
+ ldif=$PREFIX_ABS/${RELEASE}/missing_link_sid_corruption1.ldif
+ cat >$ldif <<EOF
dn: CN=missingsidu1,CN=users,DC=release-4-5-0-pre1,DC=samba,DC=corp
changetype: add
objectclass: user
@@ -161,16 +172,16 @@ objectGUID: 0da8f25e-d110-11e8-80b7-3c970ec68461
objectSid: S-1-5-21-4177067393-1453636373-93818738-771
EOF
- out=$(TZ=UTC $ldbmodify -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb --relax $ldif)
- if [ "$?" != "0" ]; then
- echo "ldbmodify returned:\n$out"
- return 1
- fi
+ out=$(TZ=UTC $ldbmodify -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb --relax $ldif)
+ if [ "$?" != "0" ]; then
+ echo "ldbmodify returned:\n$out"
+ return 1
+ fi
- # Step2: add user "missingsidu2"
- #
- ldif=$PREFIX_ABS/${RELEASE}/missing_link_sid_corruption2.ldif
- cat > $ldif <<EOF
+ # Step2: add user "missingsidu2"
+ #
+ ldif=$PREFIX_ABS/${RELEASE}/missing_link_sid_corruption2.ldif
+ cat >$ldif <<EOF
dn: CN=missingsidu2,CN=users,DC=release-4-5-0-pre1,DC=samba,DC=corp
changetype: add
objectclass: user
@@ -179,16 +190,16 @@ objectGUID: 66eb8f52-d110-11e8-ab9b-3c970ec68461
objectSid: S-1-5-21-4177067393-1453636373-93818738-772
EOF
- out=$(TZ=UTC $ldbmodify -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb --relax $ldif)
- if [ "$?" != "0" ]; then
- echo "ldbmodify returned:\n$out"
- return 1
- fi
+ out=$(TZ=UTC $ldbmodify -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb --relax $ldif)
+ if [ "$?" != "0" ]; then
+ echo "ldbmodify returned:\n$out"
+ return 1
+ fi
- # Step3: add group "missingsidg3" and add users as members
- #
- ldif=$PREFIX_ABS/${RELEASE}/missing_link_sid_corruption3.ldif
- cat > $ldif <<EOF
+ # Step3: add group "missingsidg3" and add users as members
+ #
+ ldif=$PREFIX_ABS/${RELEASE}/missing_link_sid_corruption3.ldif
+ cat >$ldif <<EOF
dn: CN=missingsidg3,CN=users,DC=release-4-5-0-pre1,DC=samba,DC=corp
changetype: add
objectclass: group
@@ -199,65 +210,67 @@ member: CN=missingsidu1,CN=users,DC=release-4-5-0-pre1,DC=samba,DC=corp
member: CN=missingsidu2,CN=users,DC=release-4-5-0-pre1,DC=samba,DC=corp
EOF
- out=$(TZ=UTC $ldbmodify -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb --relax $ldif)
- if [ "$?" != "0" ]; then
- echo "ldbmodify returned:\n$out"
- return 1
- fi
+ out=$(TZ=UTC $ldbmodify -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb --relax $ldif)
+ if [ "$?" != "0" ]; then
+ echo "ldbmodify returned:\n$out"
+ return 1
+ fi
- # Step4: remove one user again, so that we have one deleted link
- #
- ldif=$PREFIX_ABS/${RELEASE}/missing_link_sid_corruption4.ldif
- cat > $ldif <<EOF
+ # Step4: remove one user again, so that we have one deleted link
+ #
+ ldif=$PREFIX_ABS/${RELEASE}/missing_link_sid_corruption4.ldif
+ cat >$ldif <<EOF
dn: CN=missingsidg3,CN=users,DC=release-4-5-0-pre1,DC=samba,DC=corp
changetype: modify
delete: member
member: CN=missingsidu1,CN=users,DC=release-4-5-0-pre1,DC=samba,DC=corp
EOF
- out=$(TZ=UTC $ldbmodify -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb --relax $ldif)
- if [ "$?" != "0" ]; then
- echo "ldbmodify returned:\n$out"
- return 1
- fi
-
- #
- # Step5: remove the SIDS from the links
- #
- LDIF1=$(TZ=UTC $ldbsearch -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb -b 'CN=missingsidg3,CN=users,DC=release-4-5-0-pre1,DC=samba,DC=corp' --scope=base --reveal --extended-dn --show-binary member)
- DN=$(echo "${LDIF1}" | grep '^dn: ')
- MSG=$(echo "${LDIF1}" | grep -v '^dn: ' | grep -v '^#' | grep -v '^$')
- ldif=$PREFIX_ABS/${RELEASE}/missing_link_sid_corruption5.ldif
- {
- echo "${DN}"
- echo "changetype: modify"
- echo "replace: member"
- #echo "${MSG}"
- echo "${MSG}" | sed \
- -e 's!<SID=S-1-5-21-4177067393-1453636373-93818738-771>;!!g' \
- -e 's!<SID=S-1-5-21-4177067393-1453636373-93818738-772>;!!g' \
- -e 's!RMD_ADDTIME=[1-9][0-9]*!RMD_ADDTIME=123456789000000000!g' \
- -e 's!RMD_CHANGETIME=[1-9][0-9]*!RMD_CHANGETIME=123456789000000000!g' \
- | cat
- } > $ldif
-
- out=$(TZ=UTC $ldbmodify -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb.d/DC%3DRELEASE-4-5-0-PRE1,DC%3DSAMBA,DC%3DCORP.ldb $ldif)
- if [ "$?" != "0" ]; then
- echo "ldbmodify returned:\n$out"
- return 1
- fi
-
- return 0
-}
-
-dbcheck_missing_link_sid_corruption() {
- dbcheck "-missing-link-sid-corruption" "1" "--selftest-check-expired-tombstones"
- return $?
-}
-
-add_lost_deleted_user1() {
- ldif=$PREFIX_ABS/${RELEASE}/add_lost_deleted_user1.ldif
- cat > $ldif <<EOF
+ out=$(TZ=UTC $ldbmodify -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb --relax $ldif)
+ if [ "$?" != "0" ]; then
+ echo "ldbmodify returned:\n$out"
+ return 1
+ fi
+
+ #
+ # Step5: remove the SIDS from the links
+ #
+ LDIF1=$(TZ=UTC $ldbsearch -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb -b 'CN=missingsidg3,CN=users,DC=release-4-5-0-pre1,DC=samba,DC=corp' --scope=base --reveal --extended-dn --show-binary member)
+ DN=$(echo "${LDIF1}" | grep '^dn: ')
+ MSG=$(echo "${LDIF1}" | grep -v '^dn: ' | grep -v '^#' | grep -v '^$')
+ ldif=$PREFIX_ABS/${RELEASE}/missing_link_sid_corruption5.ldif
+ {
+ echo "${DN}"
+ echo "changetype: modify"
+ echo "replace: member"
+ #echo "${MSG}"
+ echo "${MSG}" | sed \
+ -e 's!<SID=S-1-5-21-4177067393-1453636373-93818738-771>;!!g' \
+ -e 's!<SID=S-1-5-21-4177067393-1453636373-93818738-772>;!!g' \
+ -e 's!RMD_ADDTIME=[1-9][0-9]*!RMD_ADDTIME=123456789000000000!g' \
+ -e 's!RMD_CHANGETIME=[1-9][0-9]*!RMD_CHANGETIME=123456789000000000!g' |
+ cat
+ } >$ldif
+
+ out=$(TZ=UTC $ldbmodify -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb.d/DC%3DRELEASE-4-5-0-PRE1,DC%3DSAMBA,DC%3DCORP.ldb $ldif)
+ if [ "$?" != "0" ]; then
+ echo "ldbmodify returned:\n$out"
+ return 1
+ fi
+
+ return 0
+}
+
+dbcheck_missing_link_sid_corruption()
+{
+ dbcheck "-missing-link-sid-corruption" "1" "--selftest-check-expired-tombstones"
+ return $?
+}
+
+add_lost_deleted_user1()
+{
+ ldif=$PREFIX_ABS/${RELEASE}/add_lost_deleted_user1.ldif
+ cat >$ldif <<EOF
dn: CN=fred\0ADEL:2301a64c-1234-5678-851e-12d4a711cfb4,OU=removed,DC=release-4-5-0-pre1,DC=samba,DC=corp
objectClass: top
objectClass: person
@@ -339,33 +352,36 @@ nTSecurityDescriptor:: AQAXjBQAAAAwAAAATAAAAMQAAAABBQAAAAAABRUAAACB/fj4FbukVnK
GAC9AQ8AAQIAAAAAAAUgAAAAIAIAAA==
EOF
- out=$(TZ=UTC $ldbadd -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb.d/DC%3DRELEASE-4-5-0-PRE1,DC%3DSAMBA,DC%3DCORP.ldb $ldif)
- if [ "$?" != "0" ]; then
- echo "ldbadd returned:\n$out"
- return 1
- fi
+ out=$(TZ=UTC $ldbadd -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb.d/DC%3DRELEASE-4-5-0-PRE1,DC%3DSAMBA,DC%3DCORP.ldb $ldif)
+ if [ "$?" != "0" ]; then
+ echo "ldbadd returned:\n$out"
+ return 1
+ fi
- return 0
+ return 0
}
-dbcheck_lost_deleted_user1() {
- dbcheck "-lost-deleted-user1" "1" "--selftest-check-expired-tombstones"
- return $?
+dbcheck_lost_deleted_user1()
--
Samba Shared Repository
More information about the samba-cvs
mailing list