#!/bin/sh # Blackbox test for wbinfo and rfc2307 mappings if [ $# -lt 4 ]; then cat < name) echo "test: wbinfo -s check for sane mapping" if test x$user_name != x$tested_name; then echo "$user_name does not match $tested_name" echo "failure: wbinfo -s check for sane mapping" failed=$(expr $failed + 1) else echo "success: wbinfo -s check for sane mapping" fi testit "wbinfo -n on the returned name against $TARGET" $wbinfo -n $user_name || failed=$(expr $failed + 1) test_sid=$($wbinfo -n $tested_name | cut -d " " -f1) echo "test: wbinfo -n check for sane mapping" if test x$user_sid != x$test_sid; then echo "$user_sid does not match $test_sid" echo "failure: wbinfo -n check for sane mapping" failed=$(expr $failed + 1) else echo "success: wbinfo -n check for sane mapping" fi testit "wbinfo -n against $TARGET" $wbinfo -n "$DOMAIN/rfc2307_test_group" || failed=$(expr $failed + 1) group_sid=$($wbinfo -n "$DOMAIN/rfc2307_test_group" | cut -d " " -f1) echo "$DOMAIN/rfc2307_test_group resolved to $group_sid" # Then add a uidNumber to the group record using ldbmodify cat >$PREFIX/tmpldbmodify < changetype: modify add: uidNumber uidNumber: $UID_RFC2307TEST EOF testit "modify gidNumber on group" $VALGRIND $ldbmodify -H ldap://$SERVER \ $PREFIX/tmpldbmodify -U$DOMAIN/$USERNAME%$PASSWORD "$@" || failed=$(expr $failed + 1) # Then add a gidNumber to the group record using ldbmodify cat >$PREFIX/tmpldbmodify < changetype: modify add: gidNumber gidNumber: $GID_RFC2307TEST EOF testit "modify gidNumber on group" $VALGRIND $ldbmodify -H ldap://$SERVER \ $PREFIX/tmpldbmodify -U$DOMAIN/$USERNAME%$PASSWORD "$@" || failed=$(expr $failed + 1) rm -f $PREFIX/tmpldbmodify # Now check we get a correct SID for the UID testit "wbinfo -U against $TARGET" $wbinfo -U $UID_RFC2307TEST || failed=$(expr $failed + 1) echo "test: wbinfo -U check for sane mapping" sid_for_user=$($wbinfo -U $UID_RFC2307TEST) if test x"$sid_for_user" != x"$user_sid"; then echo "uid $UID_RFC2307TEST mapped to $sid_for_user, not $user_sid" echo "failure: wbinfo -U check for sane mapping" failed=$(expr $failed + 1) else echo "success: wbinfo -U check for sane mapping" fi testit "wbinfo -G against $TARGET" $wbinfo -G $GID_RFC2307TEST || failed=$(expr $failed + 1) echo "test: wbinfo -G check for sane mapping" sid_for_group=$($wbinfo -G $GID_RFC2307TEST) if test x$sid_for_group != "x$group_sid"; then echo "gid $GID_RFC2307TEST mapped to $sid_for_group, not $group_sid" echo "failure: wbinfo -G check for sane mapping" failed=$(expr $failed + 1) else echo "success: wbinfo -G check for sane mapping" fi # Now check we get the right UID from the SID testit "wbinfo -S against $TARGET" $wbinfo -S "$user_sid" || failed=$(expr $failed + 1) echo "test: wbinfo -S check for sane mapping" uid_for_user_sid=$($wbinfo -S $user_sid) if test 0$uid_for_user_sid -ne $UID_RFC2307TEST; then echo "$user_sid mapped to $uid_for_sid, not $UID_RFC2307TEST" echo "failure: wbinfo -S check for sane mapping" failed=$(expr $failed + 1) else echo "success: wbinfo -S check for sane mapping" fi # Now check we get the right GID from the SID testit "wbinfo -Y" $wbinfo -Y "$group_sid" || failed=$(expr $failed + 1) echo "test: wbinfo -Y check for sane mapping" gid_for_user_sid=$($wbinfo -Y $group_sid) if test 0$gid_for_user_sid -ne $GID_RFC2307TEST; then echo "$group_sid mapped to $gid_for_sid, not $GID_RFC2307TEST" echo "failure: wbinfo -Y check for sane mapping" failed=$(expr $failed + 1) else echo "success: wbinfo -Y check for sane mapping" fi testit "group delete" $PYTHON $samba_tool group delete rfc2307_test_group "$@" testit "user delete" $PYTHON $samba_tool user delete rfc2307_test_user "$@" exit $failed