s4:blackbox/test_ldb: test search by <GUID=...> and <SID=...>
[kai/samba.git] / testprogs / blackbox / test_ldb.sh
index 1774dbc7a34246d6ea997ea3dc6795b19c509d46..5209abeb2c2b04a7d744df5ef2a84acc3710c0e8 100755 (executable)
@@ -180,4 +180,29 @@ if [ x"$st" != x"0" ]; then
        failed=`expr $failed + $st`
 fi
 
+echo "Getting HEX GUID/SID of $BASEDN"
+HEXDN=`bin/ldbsearch $CONFIGURATION $options -b "$BASEDN" -H $p://$SERVER -s base "(objectClass=*)" --controls=extended_dn:1:0 | grep 'dn: ' | cut -d ' ' -f2-`
+HEXGUID=`echo "$HEXDN" | cut -d ';' -f1`
+HEXSID=`echo "$HEXDN" | cut -d ';' -f2`
+echo "HEXGUID[$HEXGUID]"
+echo "HEXSID[$HEXSID]"
+
+echo "Getting STR GUID/SID of $BASEDN"
+STRDN=`bin/ldbsearch $CONFIGURATION $options -b "$BASEDN" -H $p://$SERVER -s base "(objectClass=*)" --controls=extended_dn:1:1 | grep 'dn: ' | cut -d ' ' -f2-`
+echo "STRDN: $STRDN"
+STRGUID=`echo "$STRDN" | cut -d ';' -f1`
+STRSID=`echo "$STRDN" | cut -d ';' -f2`
+echo "STRGUID[$STRGUID]"
+echo "STRSID[$STRSID]"
+
+SPECIALDNS="$HEXGUID $HEXSID $STRGUID $STRSID"
+for SPDN in $SPECIALDNS; do
+       echo "Search for $SPDN"
+       nentries=`bin/ldbsearch $options $CONFIGURATION -H $p://$SERVER -s base -b "$SPDN" '(objectClass=*)' | grep "dn: $BASEDN"  | wc -l`
+       if [ $nentries -lt 1 ]; then
+               echo "Special search returned 0 items"
+               failed=`expr $failed + 1`
+       fi
+done
+
 exit $failed