[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