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 <a...@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 <a...@samba.org>
    Reviewed-by: Pavel Filipenský <pfilipen...@samba.org>
    
    Autobuild-User(master): Pavel Filipensky <pfilipen...@samba.org>
    Autobuild-Date(master): Thu Aug  4 10:11:30 UTC 2022 on sn-devel-184

commit ae3452244de69b8b2f31d41e3c9405d9d4e01bb1
Author: Andreas Schneider <a...@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 <a...@samba.org>
    Reviewed-by: Pavel Filipenský <pfilipen...@samba.org>

commit 9757229b2b0d80a61c86c3ac2966642b4074a30c
Author: Andreas Schneider <a...@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 <a...@samba.org>
    Reviewed-by: Pavel Filipenský <pfilipen...@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

Reply via email to