diff options
Diffstat (limited to 'source3/script')
-rwxr-xr-x | source3/script/tests/test_smbclient_s3.sh | 58 |
1 files changed, 50 insertions, 8 deletions
diff --git a/source3/script/tests/test_smbclient_s3.sh b/source3/script/tests/test_smbclient_s3.sh index 60c3610ee8..8937c97bbe 100755 --- a/source3/script/tests/test_smbclient_s3.sh +++ b/source3/script/tests/test_smbclient_s3.sh @@ -4,22 +4,23 @@ if [ $# -lt 7 ]; then cat <<EOF -Usage: test_smbclient_s3.sh SERVER SERVER_IP USERNAME PASSWORD USERID LOCAL_PATH PREFIX SMBCLIENT +Usage: test_smbclient_s3.sh SERVER SERVER_IP DOMAIN USERNAME PASSWORD USERID LOCAL_PATH PREFIX SMBCLIENT EOF exit 1; fi SERVER="$1" SERVER_IP="$2" -USERNAME="$3" -PASSWORD="$4" -USERID="$5" -LOCAL_PATH="$6" -PREFIX="$7" -SMBCLIENT="$8" +DOMAIN="$3" +USERNAME="$4" +PASSWORD="$5" +USERID="$6" +LOCAL_PATH="$7" +PREFIX="$8" +SMBCLIENT="$9" SMBCLIENT="$VALGRIND ${SMBCLIENT}" WBINFO="$VALGRIND ${WBINFO:-$BINDIR/wbinfo}" -shift 8 +shift 9 ADDARGS="$*" incdir=`dirname $0`/../../../testprogs/blackbox @@ -433,6 +434,43 @@ test_ccache_access() $WBINFO --logoff } +# Test authenticating using the winbind ccache +test_auth_file() +{ + tmpfile=$PREFIX/smbclient.in.$$ + cat > $tmpfile <<EOF +username=${USERNAME} +password=${PASSWORD} +domain=${DOMAIN} +EOF + $SMBCLIENT //$SERVER_IP/tmp --authentication-file=$tmpfile \ + -c quit 2>&1 + ret=$? + rm $tmpfile + + if [ $ret != 0 ] ; then + echo "smbclient failed to use auth file" + false + return + fi + + cat > $tmpfile <<EOF +username=${USERNAME} +password=xxxx +domain=${DOMAIN} +EOF + $SMBCLIENT //$SERVER_IP/tmp --authentication-file=$tmpfile\ + -c quit 2>&1 + ret=$? + rm $tmpfile + + if [ $ret -eq 0 ] ; then + echo "smbclient succeeded with wrong auth file credentials" + false + return + fi +} + LOGDIR_PREFIX=test_smbclient_s3 # possibly remove old logdirs: @@ -492,6 +530,10 @@ testit "sending a message to the remote server" \ test_message || \ failed=`expr $failed + 1` +testit "using an authentication file" \ + test_auth_file || \ + failed=`expr $failed + 1` + testit "rm -rf $LOGDIR" \ rm -rf $LOGDIR || \ failed=`expr $failed + 1` |