[SCM] Samba Shared Repository - branch master updated

Andreas Schneider asn at samba.org
Wed Jul 28 07:13:02 UTC 2021


The branch, master has been updated
       via  696972c832c selftest: Remove fips env variables from client env
       via  ebd00fbdd05 selftest: Pass env variables to fips tests
       via  a324fc01b4d s4:selftests: Pass env variables to fips tests
       via  eabf9803ecf s3:selftests: Pass env variables to fips tests
       via  48289b6964d selftest: Add support for setting ENV variables in plantestsuite()
       via  3db299e586f selftest: Add support for setting ENV variables in plansmbtorture4testsuite()
       via  18976a9568b selftest: Re-format long lines in selftesthelpers.py
      from  7fb741b3b1a krb5_wrap: remove unused code

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


- Log -----------------------------------------------------------------
commit 696972c832c98fefab8df85f3d81b900ecbf9453
Author: Andreas Schneider <asn at samba.org>
Date:   Tue Jul 27 14:15:06 2021 +0200

    selftest: Remove fips env variables from client env
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    
    Autobuild-User(master): Andreas Schneider <asn at cryptomilk.org>
    Autobuild-Date(master): Wed Jul 28 07:12:55 UTC 2021 on sn-devel-184

commit ebd00fbdd058ddfe44610d179b3f0d4fd5147df4
Author: Andreas Schneider <asn at samba.org>
Date:   Tue Jul 27 16:06:07 2021 +0200

    selftest: Pass env variables to fips tests
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit a324fc01b4d19ac980b7f844a93c6456aa1c6d8f
Author: Andreas Schneider <asn at samba.org>
Date:   Tue Jul 27 14:11:39 2021 +0200

    s4:selftests: Pass env variables to fips tests
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit eabf9803ecfa078b9138484d9c9f41a4803e5a60
Author: Andreas Schneider <asn at samba.org>
Date:   Tue Jul 27 14:06:33 2021 +0200

    s3:selftests: Pass env variables to fips tests
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 48289b6964d28e153fec885aceca02c6a9b436ef
Author: Andreas Schneider <asn at samba.org>
Date:   Tue Jul 27 13:45:03 2021 +0200

    selftest: Add support for setting ENV variables in plantestsuite()
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 3db299e586fd9464b6e1b145f29b10c8ae325d3a
Author: Andreas Schneider <asn at samba.org>
Date:   Tue Jul 27 13:25:59 2021 +0200

    selftest: Add support for setting ENV variables in plansmbtorture4testsuite()
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 18976a9568b23759060377d09304e9d7badb143a
Author: Andreas Schneider <asn at samba.org>
Date:   Tue Jul 27 08:50:54 2021 +0200

    selftest: Re-format long lines in selftesthelpers.py
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

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

Summary of changes:
 selftest/selftesthelpers.py | 42 +++++++++++++++++++++++++++++---------
 selftest/target/Samba.pm    |  4 ----
 selftest/tests.py           |  7 +++++--
 source3/selftest/tests.py   | 15 ++++++++++++--
 source4/selftest/tests.py   | 49 +++++++++++++++++++++++++++++++++++++++------
 5 files changed, 93 insertions(+), 24 deletions(-)


Changeset truncated at 500 lines:

diff --git a/selftest/selftesthelpers.py b/selftest/selftesthelpers.py
index 3358374cbca..542737dbd10 100644
--- a/selftest/selftesthelpers.py
+++ b/selftest/selftesthelpers.py
@@ -1,4 +1,5 @@
-#!/usr/bin/python
+#!/usr/bin/env python3
+#
 # This script generates a list of testsuites that should be run as part of
 # the Samba 4 test suite.
 
@@ -24,7 +25,8 @@ import sys
 
 
 def srcdir():
-    return os.path.normpath(os.getenv("SRCDIR", os.path.join(os.path.dirname(os.path.abspath(__file__)), "..")))
+    alternate_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..")
+    return os.path.normpath(os.getenv("SRCDIR", alternate_path))
 
 
 def source4dir():
@@ -64,7 +66,7 @@ def valgrindify(cmdline):
     return valgrind + " " + cmdline
 
 
-def plantestsuite(name, env, cmdline):
+def plantestsuite(name, env, cmd, environ={}):
     """Plan a test suite.
 
     :param name: Testsuite name
@@ -78,8 +80,18 @@ def plantestsuite(name, env, cmdline):
         fullname = "%s(%s)" % (name, env)
     print(fullname)
     print(env)
-    if isinstance(cmdline, list):
-        cmdline = " ".join(cmdline)
+
+    cmdline = ""
+    if environ:
+        environ = dict(environ)
+        cmdline_env = ["%s=%s" % item for item in environ.items()]
+        cmdline = " ".join(cmdline_env) + " "
+
+    if isinstance(cmd, list):
+        cmdline += " ".join(cmd)
+    else:
+        cmdline += cmd
+
     if "$LISTOPT" in cmdline:
         raise AssertionError("test %s supports --list, but not --load-list" % name)
     print(cmdline + " 2>&1 " + " | " + add_prefix(name, env))
@@ -90,7 +102,8 @@ def add_prefix(prefix, env, support_list=False):
         listopt = "$LISTOPT "
     else:
         listopt = ""
-    return "%s %s/selftest/filter-subunit %s--fail-on-empty --prefix=\"%s.\" --suffix=\"(%s)\"" % (python, srcdir(), listopt, prefix, env)
+    return ("%s %s/selftest/filter-subunit %s--fail-on-empty --prefix=\"%s.\" --suffix=\"(%s)\"" %
+            (python, srcdir(), listopt, prefix, env))
 
 
 def plantestsuite_loadlist(name, env, cmdline):
@@ -108,7 +121,9 @@ def plantestsuite_loadlist(name, env, cmdline):
         raise AssertionError("loadlist test %s does not support not --list" % name)
     if "$LOADLIST" not in cmdline:
         raise AssertionError("loadlist test %s does not support --load-list" % name)
-    print(("%s | %s" % (cmdline.replace("$LOADLIST", ""), add_prefix(name, env, support_list))).replace("$LISTOPT", "--list "))
+    print(("%s | %s" %
+           (cmdline.replace("$LOADLIST", ""),
+            add_prefix(name, env, support_list))).replace("$LISTOPT", "--list "))
     print(cmdline.replace("$LISTOPT", "") + " 2>&1 " + " | " + add_prefix(name, env, False))
 
 
@@ -163,7 +178,10 @@ bbdir = os.path.join(srcdir(), "testprogs/blackbox")
 configuration = "--configfile=$SMB_CONF_PATH"
 
 smbtorture4 = binpath("smbtorture")
-smbtorture4_testsuite_list = subprocess.Popen([smbtorture4, "--list-suites"], stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate("")[0].decode('utf8').splitlines()
+smbtorture4_testsuite_list = subprocess.Popen(
+    [smbtorture4, "--list-suites"],
+    stdout=subprocess.PIPE,
+    stderr=subprocess.PIPE).communicate("")[0].decode('utf8').splitlines()
 
 smbtorture4_options = [
     configuration,
@@ -174,13 +192,17 @@ smbtorture4_options = [
 ] + get_env_torture_options()
 
 
-def plansmbtorture4testsuite(name, env, options, target, modname=None):
+def plansmbtorture4testsuite(name, env, options, target, modname=None, environ={}):
     if modname is None:
         modname = "samba4.%s" % name
     if isinstance(options, list):
         options = " ".join(options)
     options = " ".join(smbtorture4_options + ["--target=%s" % target]) + " " + options
-    cmdline = "%s $LISTOPT $LOADLIST %s %s" % (valgrindify(smbtorture4), options, name)
+    cmdline = ""
+    if environ:
+        environ = dict(environ)
+        cmdline = ["%s=%s" % item for item in environ.items()]
+    cmdline += " %s $LISTOPT $LOADLIST %s %s" % (valgrindify(smbtorture4), options, name)
     plantestsuite_loadlist(modname, env, cmdline)
 
 
diff --git a/selftest/target/Samba.pm b/selftest/target/Samba.pm
index 8d6ca3eb2ee..10353008b88 100644
--- a/selftest/target/Samba.pm
+++ b/selftest/target/Samba.pm
@@ -936,10 +936,6 @@ my @exported_envvars = (
 	# resolv_wrapper
 	"RESOLV_WRAPPER_CONF",
 	"RESOLV_WRAPPER_HOSTS",
-
-	# crypto libraries
-	"GNUTLS_FORCE_FIPS_MODE",
-	"OPENSSL_FORCE_FIPS_MODE",
 );
 
 sub exported_envvars_str
diff --git a/selftest/tests.py b/selftest/tests.py
index 1f9d3f37a76..46fc8a802bb 100644
--- a/selftest/tests.py
+++ b/selftest/tests.py
@@ -94,8 +94,11 @@ planpythontestsuite(
                 os.path.join(samba4srcdir, "..", "third_party", "waf")])
 planpythontestsuite("fileserver", "samba.tests.smbd_fuzztest")
 planpythontestsuite("nt4_dc_smb1", "samba.tests.dcerpc.binding")
-for env in [ 'ad_dc:local', 'ad_dc_fips:local' ]:
-    planpythontestsuite(env, "samba.tests.dcerpc.samr_change_password")
+planpythontestsuite('ad_dc:local', "samba.tests.dcerpc.samr_change_password")
+planpythontestsuite('ad_dc_fips:local',
+                    "samba.tests.dcerpc.samr_change_password",
+                    environ={'GNUTLS_FORCE_FIPS_MODE': '1',
+                             'OPENSSL_FORCE_FIPS_MODE': '1'})
 
 
 def cmdline(script, *args):
diff --git a/source3/selftest/tests.py b/source3/selftest/tests.py
index a9745740118..faa201d4b79 100755
--- a/source3/selftest/tests.py
+++ b/source3/selftest/tests.py
@@ -1157,7 +1157,16 @@ for env in ['fileserver', 'simpleserver']:
                    "$USERNAME", "$PASSWORD", "$SERVER",
                    smbclient3, env])
 
-for env in ['ad_dc', 'ad_dc_fips', 'ad_member_fips']:
+plantestsuite("samba3.blackbox.smbclient.kerberos", 'ad_dc',
+              [os.path.join(samba3srcdir,
+                            "script/tests/test_smbclient_kerberos.sh"),
+               "alice",
+               "$REALM",
+               "Secret007",
+               "$SERVER",
+               smbclient3,
+               env])
+for env in ['ad_dc_fips', 'ad_member_fips']:
     plantestsuite("samba3.blackbox.smbclient.kerberos", env,
                   [os.path.join(samba3srcdir,
                                 "script/tests/test_smbclient_kerberos.sh"),
@@ -1166,7 +1175,9 @@ for env in ['ad_dc', 'ad_dc_fips', 'ad_member_fips']:
                    "Secret007",
                    "$SERVER",
                    smbclient3,
-                   env])
+                   env],
+                  environ={'GNUTLS_FORCE_FIPS_MODE': '1',
+                           'OPENSSL_FORCE_FIPS_MODE': '1'})
 
 plantestsuite("samba3.blackbox.rpcclient_netsessenum", "ad_member",
               [os.path.join(samba3srcdir,
diff --git a/source4/selftest/tests.py b/source4/selftest/tests.py
index 8ca8649bda3..4820af85a85 100755
--- a/source4/selftest/tests.py
+++ b/source4/selftest/tests.py
@@ -594,12 +594,43 @@ if have_gnutls_fips_mode_support:
     plantestsuite("samba4.blackbox.weak_crypto.client", "ad_dc", [os.path.join(bbdir, "test_weak_crypto.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$REALM', '$DOMAIN', "$PREFIX/ad_dc"])
 
     for env in ["ad_dc_fips", "ad_member_fips"]:
-        plantestsuite("samba4.blackbox.weak_crypto.server", env, [os.path.join(bbdir, "test_weak_crypto_server.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$REALM', '$DOMAIN', "$PREFIX/ad_dc_fips", configuration])
-    plantestsuite("samba4.blackbox.net_ads_fips", "ad_dc_fips:client", [os.path.join(bbdir, "test_net_ads_fips.sh"), '$DC_SERVER', '$DC_USERNAME', '$DC_PASSWORD', '$PREFIX_ABS'])
+        plantestsuite("samba4.blackbox.weak_crypto.server",
+                      env,
+                      [os.path.join(bbdir, "test_weak_crypto_server.sh"),
+                       '$SERVER',
+                       '$USERNAME',
+                       '$PASSWORD',
+                       '$REALM',
+                       '$DOMAIN',
+                       "$PREFIX/ad_dc_fips",
+                       configuration],
+                      environ={'GNUTLS_FORCE_FIPS_MODE': '1',
+                               'OPENSSL_FORCE_FIPS_MODE': '1'})
+
+    plantestsuite("samba4.blackbox.net_ads_fips",
+                  "ad_dc_fips:client",
+                  [os.path.join(bbdir, "test_net_ads_fips.sh"),
+                   '$DC_SERVER',
+                   '$DC_USERNAME',
+                   '$DC_PASSWORD',
+                   '$PREFIX_ABS'],
+                  environ={'GNUTLS_FORCE_FIPS_MODE': '1',
+                           'OPENSSL_FORCE_FIPS_MODE': '1'})
 
     t = "--krb5auth=$DOMAIN/$DC_USERNAME%$DC_PASSWORD"
-    plantestsuite("samba3.wbinfo_simple.fips.%s" % t, "ad_member_fips:local", [os.path.join(srcdir(), "nsswitch/tests/test_wbinfo_simple.sh"), t])
-    plantestsuite("samba4.wbinfo_name_lookup.fips", "ad_member_fips", [os.path.join(srcdir(), "nsswitch/tests/test_wbinfo_name_lookup.sh"), '$DOMAIN', '$REALM', '$DC_USERNAME'])
+    plantestsuite("samba3.wbinfo_simple.fips.%s" % t,
+                  "ad_member_fips:local",
+                  [os.path.join(srcdir(), "nsswitch/tests/test_wbinfo_simple.sh"), t],
+                  environ={'GNUTLS_FORCE_FIPS_MODE': '1',
+                           'OPENSSL_FORCE_FIPS_MODE': '1'})
+    plantestsuite("samba4.wbinfo_name_lookup.fips",
+                  "ad_member_fips",
+                  [os.path.join(srcdir(), "nsswitch/tests/test_wbinfo_name_lookup.sh"),
+                   '$DOMAIN',
+                   '$REALM',
+                   '$DC_USERNAME'],
+                  environ={'GNUTLS_FORCE_FIPS_MODE': '1',
+                           'OPENSSL_FORCE_FIPS_MODE': '1'})
 
 plansmbtorture4testsuite('rpc.echo', "ad_dc_ntvfs", ['ncacn_np:$NETBIOSALIAS', '-U$DOMAIN/$USERNAME%$PASSWORD'], "samba4.rpc.echo against NetBIOS alias")
 
@@ -754,8 +785,14 @@ def planoldpythontestsuite(env, module, name=None, extra_path=[], environ={}, ex
     plantestsuite_loadlist(name, env, args)
 
 if have_gnutls_fips_mode_support:
-    planoldpythontestsuite("ad_dc", "samba.tests.dcerpc.createtrustrelax", environ={'GNUTLS_FORCE_FIPS_MODE':'1'})
-    planoldpythontestsuite("ad_dc_fips", "samba.tests.dcerpc.createtrustrelax", environ={'GNUTLS_FORCE_FIPS_MODE':'1'})
+    planoldpythontestsuite("ad_dc",
+                           "samba.tests.dcerpc.createtrustrelax",
+                           environ={'GNUTLS_FORCE_FIPS_MODE': '1',
+                                    'OPENSSL_FORCE_FIPS_MODE': '1'})
+    planoldpythontestsuite("ad_dc_fips",
+                           "samba.tests.dcerpc.createtrustrelax",
+                           environ={'GNUTLS_FORCE_FIPS_MODE': '1',
+                                    'OPENSSL_FORCE_FIPS_MODE': '1'})
 
 # Run complex search expressions test once for each database backend.
 # Right now ad_dc has mdb and ad_dc_ntvfs has tdb


-- 
Samba Shared Repository



More information about the samba-cvs mailing list