• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/router/samba-3.5.8/nsswitch/tests/
1#!/bin/sh
2# Blackbox test for wbinfo
3if [ $# -lt 4 ]; then
4cat <<EOF
5Usage: test_wbinfo.sh DOMAIN USERNAME PASSWORD TARGET
6EOF
7exit 1;
8fi
9
10DOMAIN=$1
11USERNAME=$2
12PASSWORD=$3
13TARGET=$4
14shift 4
15
16failed=0
17samba4bindir="$BUILDDIR/bin"
18wbinfo="$samba4bindir/wbinfo$EXEEXT"
19
20. `dirname $0`/../../testprogs/blackbox/subunit.sh
21
22testfail() {
23	name="$1"
24	shift
25	cmdline="$*"
26	echo "test: $name"
27	$cmdline
28	status=$?
29        if [ x$status = x0 ]; then
30                echo "failure: $name"
31        else
32                echo "success: $name"
33        fi
34        return $status
35}
36
37knownfail() {
38        name="$1"
39        shift
40        cmdline="$*"
41        echo "test: $name"
42        $cmdline
43        status=$?
44        if [ x$status = x0 ]; then
45                echo "failure: $name [unexpected success]"
46				status=1
47        else
48                echo "knownfail: $name"
49				status=0
50        fi
51        return $status
52}
53
54# List users
55testit "wbinfo -u against $TARGET" $wbinfo -u || failed=`expr $failed + 1`
56# List groups
57testit "wbinfo -g against $TARGET" $wbinfo -g || failed=`expr $failed + 1`
58# Convert netbios name to IP
59# Does not work yet
60knownfail "wbinfo -N against $TARGET" $wbinfo -N $NETBIOSNAME || failed=`expr $failed + 1`
61# Convert IP to netbios name
62# Does not work yet
63knownfail "wbinfo -I against $TARGET" $wbinfo -I $SERVER_IP || failed=`expr $failed + 1`
64
65# Convert name to SID
66testit "wbinfo -n against $TARGET" $wbinfo -n "$DOMAIN/$USERNAME" || failed=`expr $failed + 1`
67admin_sid=`$wbinfo -n "$DOMAIN/$USERNAME" | cut -d " " -f1`
68echo "$DOMAIN/$USERNAME resolved to $admin_sid"
69
70testit "wbinfo -s $admin_sid against $TARGET" $wbinfo -s $admin_sid || failed=`expr $failed + 1`
71admin_name=`$wbinfo -s $admin_sid | cut -d " " -f1| tr a-z A-Z`
72echo "$admin_sid resolved to $admin_name"
73
74tested_name=`echo $DOMAIN/$USERNAME | tr a-z A-Z`
75
76echo "test: wbinfo -s check for sane mapping"
77if test x$admin_name != x$tested_name; then
78	echo "$admin_name does not match $tested_name"
79	echo "failure: wbinfo -s check for sane mapping"
80	failed=`expr $failed + 1`
81else
82	echo "success: wbinfo -s check for sane mapping"
83fi
84
85testit "wbinfo -n on the returned name against $TARGET" $wbinfo -n $admin_name || failed=`expr $failed + 1`
86test_sid=`$wbinfo -n $tested_name | cut -d " " -f1`
87
88echo "test: wbinfo -n check for sane mapping"
89if test x$admin_sid != x$test_sid; then
90	echo "$admin_sid does not match $test_sid"
91	echo "failure: wbinfo -n check for sane mapping"
92	failed=`expr $failed + 1`
93else
94	echo "success: wbinfo -n check for sane mapping"
95fi
96
97testit "wbinfo -U against $TARGET" $wbinfo -U 30000 || failed=`expr $failed + 1`
98
99echo "test: wbinfo -U check for sane mapping"
100sid_for_30000=`$wbinfo -U 30000`
101if test x$sid_for_30000 != "xS-1-22-1-30000"; then
102	echo "uid 30000 mapped to $sid_for_30000, not S-1-22-1-30000"
103	echo "failure: wbinfo -U check for sane mapping"
104	failed=`expr $failed + 1`
105else
106	echo "success: wbinfo -U check for sane mapping"
107fi
108
109admin_uid=`$wbinfo -S $admin_sid`
110
111testit "wbinfo -G against $TARGET" $wbinfo -G 30000 || failed=`expr $failed + 1`
112
113echo "test: wbinfo -G check for sane mapping"
114sid_for_30000=`$wbinfo -G 30000`
115if test x$sid_for_30000 != "xS-1-22-2-30000"; then
116        echo "gid 30000 mapped to $sid_for_30000, not S-1-22-2-30000"
117	echo "failure: wbinfo -G check for sane mapping"
118	failed=`expr $failed + 1`
119else
120	echo "success: wbinfo -G check for sane mapping"
121fi
122
123testit "wbinfo -S against $TARGET" $wbinfo -S "S-1-22-1-30000" || failed=`expr $failed + 1`
124
125echo "test: wbinfo -S check for sane mapping"
126uid_for_sid=`$wbinfo -S S-1-22-1-30000`
127if test 0$uid_for_sid -ne 30000; then
128	echo "S-1-22-1-30000 mapped to $uid_for_sid, not 30000"
129	echo "failure: wbinfo -S check for sane mapping"
130	failed=`expr $failed + 1`
131else
132	echo "success: wbinfo -S check for sane mapping"
133fi
134
135testfail "wbinfo -S against $TARGET using invalid SID" $wbinfo -S "S-1-22-2-30000" && failed=`expr $failed + 1`
136
137testit "wbinfo -Y against $TARGET" $wbinfo -Y "S-1-22-2-30000" || failed=`expr $failed + 1`
138
139echo "test: wbinfo -Y check for sane mapping"
140gid_for_sid=`$wbinfo -Y S-1-22-2-30000`
141if test 0$gid_for_sid -ne 30000; then
142	echo "S-1-22-2-30000 mapped to $gid_for_sid, not 30000"
143	echo "failure: wbinfo -Y check for sane mapping"
144	failed=`expr $failed + 1`
145else
146	echo "success: wbinfo -Y check for sane mapping"
147fi
148
149testfail "wbinfo -Y against $TARGET using invalid SID" $wbinfo -Y "S-1-22-1-30000" && failed=`expr $failed + 1`
150
151testit "wbinfo -t against $TARGET" $wbinfo -t || failed=`expr $failed + 1`
152
153#didn't really work anyway
154knownfail "wbinfo  --trusted-domains against $TARGET" $wbinfo --trusted-domains || failed=`expr $failed + 1`
155knownfail "wbinfo --all-domains against $TARGET" $wbinfo --all-domains || failed=`expr $failed + 1`
156
157testit "wbinfo --own-domain against $TARGET" $wbinfo --own-domain || failed=`expr $failed + 1`
158
159echo "test: wbinfo --own-domain against $TARGET check output"
160own_domain=`$wbinfo --own-domain`
161if test x$own_domain = x$DOMAIN; then
162	echo "success: wbinfo --own-domain against $TARGET check output"
163else
164	echo "Own domain reported as $own_domain instead of $DOMAIN"
165	echo "failure: wbinfo --own-domain against $TARGET check output"
166fi
167
168# this does not work
169knownfail "wbinfo --sequence against $TARGET" $wbinfo --sequence
170
171# this is stubbed out now
172testit "wbinfo -D against $TARGET" $wbinfo -D $DOMAIN || failed=`expr $failed + 1`
173
174testit "wbinfo -i against $TARGET" $wbinfo -i "$DOMAIN/$USERNAME" || failed=`expr $failed + 1`
175
176testit "wbinfo --uid-info against $TARGET" $wbinfo --uid-info $admin_uid
177
178# this does not work
179knownfail "wbinfo --group-info against $TARGET" $wbinfo --group-info "S-1-22-2-0"
180knownfail "wbinfo --gid-info against $TARGET" $wbinfo --gid-info 30001
181knownfail "wbinfo -r against $TARGET" $wbinfo -r "$DOMAIN/$USERNAME"
182
183testit "wbinfo --user-domgroups against $TARGET" $wbinfo --user-domgroups $admin_sid || failed=`expr $failed + 1`
184
185testit "wbinfo --user-sids against $TARGET" $wbinfo --user-sids $admin_sid || failed=`expr $failed + 1`
186
187testit "wbinfo -a against $TARGET with domain creds" $wbinfo -a "$DOMAIN/$USERNAME"%"$PASSWORD" || failed=`expr $failed + 1`
188
189testit "wbinfo --getdcname against $TARGET" $wbinfo --getdcname=$DOMAIN
190
191testit "wbinfo -p against $TARGET" $wbinfo -p || failed=`expr $failed + 1`
192
193testit "wbinfo -K against $TARGET with domain creds" $wbinfo -K "$DOMAIN/$USERNAME"%"$PASSWORD" || failed=`expr $failed + 1`
194
195testit "wbinfo --separator against $TARGET" $wbinfo --separator || failed=`expr $failed + 1`
196
197exit $failed
198