[SCM] Samba Shared Repository - branch master updated

Pavel Filipensky pfilipensky at samba.org
Tue Oct 17 19:20:02 UTC 2023


The branch, master has been updated
       via  237b6fc3ad6 s3:tests: Plan test_smbspool_krb.sh for environment ad_member_fips
       via  0f107f2f4ca s3:tests: Add smbspool test using kerberos authentication: test_smbspool_krb.sh
       via  8a97538c19c s3:tests: The correct name of shell variable is 'samba_smbspool_krb5'
      from  310629508bf gitignore: add WAF lockfile

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 237b6fc3ad64d90d49ee67e1bf05a38e346f4936
Author: Pavel Filipenský <pfilipensky at samba.org>
Date:   Sun Sep 24 15:03:24 2023 +0200

    s3:tests: Plan test_smbspool_krb.sh for environment ad_member_fips
    
    Signed-off-by: Pavel Filipenský <pfilipensky at samba.org>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    
    Autobuild-User(master): Pavel Filipensky <pfilipensky at samba.org>
    Autobuild-Date(master): Tue Oct 17 19:19:32 UTC 2023 on atb-devel-224

commit 0f107f2f4ca4d532e3a4ff1c99cd028f403123ef
Author: Pavel Filipenský <pfilipensky at samba.org>
Date:   Sun Sep 24 15:03:35 2023 +0200

    s3:tests: Add smbspool test using kerberos authentication: test_smbspool_krb.sh
    
    Signed-off-by: Pavel Filipenský <pfilipensky at samba.org>
    Reviewed-by: Andreas Schneider <asn at samba.org>

commit 8a97538c19c4479407a2908025afa0f21cf2ea57
Author: Pavel Filipenský <pfilipensky at samba.org>
Date:   Mon Sep 25 09:11:52 2023 +0200

    s3:tests: The correct name of shell variable is 'samba_smbspool_krb5'
    
    There is no shell variable named 'smbspool_krb5'.
    
    Signed-off-by: Pavel Filipenský <pfilipensky at samba.org>
    Reviewed-by: Andreas Schneider <asn at samba.org>

-----------------------------------------------------------------------

Summary of changes:
 source3/script/tests/test_smbspool.sh     |  4 +-
 source3/script/tests/test_smbspool_krb.sh | 90 +++++++++++++++++++++++++++++++
 source3/selftest/tests.py                 |  3 ++
 3 files changed, 95 insertions(+), 2 deletions(-)
 create mode 100755 source3/script/tests/test_smbspool_krb.sh


Changeset truncated at 500 lines:

diff --git a/source3/script/tests/test_smbspool.sh b/source3/script/tests/test_smbspool.sh
index acec0f2dbef..2036d57566c 100755
--- a/source3/script/tests/test_smbspool.sh
+++ b/source3/script/tests/test_smbspool.sh
@@ -59,7 +59,7 @@ test_smbspool_authinforequired_none()
 
 	if [ $ret != 0 ]; then
 		echo "$out"
-		echo "failed to execute $smbspool_krb5"
+		echo "failed to execute $samba_smbspool_krb5"
 		return 1
 	fi
 
@@ -85,7 +85,7 @@ test_smbspool_authinforequired_unknown()
 	*)
 		echo "ret=$ret"
 		echo "$out"
-		echo "failed to test $smbspool_krb5 against unknown value of AUTH_INFO_REQUIRED"
+		echo "failed to test $samba_smbspool_krb5 against unknown value of AUTH_INFO_REQUIRED"
 		return 1
 		;;
 	esac
diff --git a/source3/script/tests/test_smbspool_krb.sh b/source3/script/tests/test_smbspool_krb.sh
new file mode 100755
index 00000000000..a4aeeab4110
--- /dev/null
+++ b/source3/script/tests/test_smbspool_krb.sh
@@ -0,0 +1,90 @@
+#!/bin/sh
+
+if [ $# -lt 3 ]; then
+	cat <<EOF
+Usage: test_smbspool_krb.sh SERVER USERNAME PASSWORD REALM
+EOF
+	exit 1
+fi
+
+SERVER="$1"
+USERNAME="$2"
+PASSWORD="$3"
+REALM="$4"
+
+incdir=$(dirname "$0")/../../../testprogs/blackbox
+. $incdir/subunit.sh
+. $incdir/common_test_fns.inc
+
+samba_bindir="$BINDIR"
+samba_smbspool="$samba_bindir/smbspool"
+
+samba_kinit=kinit
+if test -x "${BINDIR}/samba4kinit"; then
+	samba_kinit=${BINDIR}/samba4kinit
+fi
+
+samba_kdestroy=kdestroy
+if test -x "${BINDIR}/samba4kdestroy"; then
+	samba_kdestroy=${BINDIR}/samba4kdestroy
+fi
+
+KRB5CCNAME_PATH="${PREFIX}/ccache_smbclient_kerberos"
+KRB5CCNAME="FILE:${KRB5CCNAME_PATH}"
+export KRB5CCNAME
+
+test_smbspool_authinforequired_negotiate()
+{
+	cmd='$samba_smbspool smb://$SERVER/print3 200 $USERNAME "Testprint" 1 "options" $SRCDIR/testdata/printing/example.ps 2>&1'
+
+	AUTH_INFO_REQUIRED="negotiate"
+	export AUTH_INFO_REQUIRED
+	eval echo "$cmd"
+	out=$(eval "$cmd")
+	ret=$?
+	unset AUTH_INFO_REQUIRED
+
+	if [ $ret != 0 ]; then
+		echo "$out"
+		echo "failed to execute $samba_smbspool"
+		return 1
+	fi
+
+	return 0
+}
+
+test_smbspool_authinforequired_negative()
+{
+	cmd='$samba_smbspool smb://$SERVER/print3 200 $USERNAME "Testprint" 1 "options" $SRCDIR/testdata/printing/example.ps 2>&1'
+
+	AUTH_INFO_REQUIRED="negotiate"
+	export AUTH_INFO_REQUIRED
+	eval echo "$cmd"
+	out=$(eval "$cmd")
+	ret=$?
+	unset AUTH_INFO_REQUIRED
+
+	if [ $ret = 0 ]; then
+		echo "$out"
+		echo "Unexpected success to execute $samba_smbspool"
+		return 1
+	fi
+
+	return 0
+}
+
+kerberos_kinit "$samba_kinit" "${USERNAME}@${REALM}" "${PASSWORD}"
+testit "smbspool krb5 AuthInfoRequired=negotiate" \
+	test_smbspool_authinforequired_negotiate ||
+	failed=$((failed + 1))
+
+$samba_kdestroy
+rm -rf "$KRB5CCNAME_PATH"
+
+# smbspool should fail after destroying kerberos credentials
+testit "smbspool krb5 AuthInfoRequired=negotiate negative test" \
+	test_smbspool_authinforequired_negative ||
+	failed=$((failed + 1))
+
+
+testok "$0" "$failed"
diff --git a/source3/selftest/tests.py b/source3/selftest/tests.py
index 73dba79b4d7..9d706d9b7a5 100755
--- a/source3/selftest/tests.py
+++ b/source3/selftest/tests.py
@@ -652,6 +652,9 @@ for env in ["nt4_member", "ad_member"]:
 env = "ad_dc_smb1"
 plantestsuite("samba3.blackbox.smbspool", env, [os.path.join(samba3srcdir, "script/tests/test_smbspool.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', env])
 
+env = "ad_member_fips"
+plantestsuite("samba3.blackbox.krbsmbspool", env, [os.path.join(samba3srcdir, "script/tests/test_smbspool_krb.sh"), '$SERVER', 'bob', 'Secret007', '$REALM'])
+
 plantestsuite("samba3.blackbox.printing_var_exp", "nt4_dc", [os.path.join(samba3srcdir, "script/tests/test_printing_var_exp.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD'])
 
 for env in ["ad_member:local", "nt4_dc:local"]:


-- 
Samba Shared Repository



More information about the samba-cvs mailing list