[SCM] Samba Shared Repository - branch master updated
Andreas Schneider
asn at samba.org
Mon May 18 16:07:05 UTC 2020
The branch, master has been updated
via f98b766d94a gitlab-ci: Add new runner for samba-admem-fips
via 242b6cf2c4c autobuild: Use sane random sleep values for samba-admem-mit
via 4fe51b27e0d autobuild: Add ad_member_fips target
via 55cbdac15e6 selftest: Run some tests against ad_member_fips
via 984dd6416cd selftest: Add ad_member_fips target
via 5dc1c312b6e selftest: Add force_fips_mode support to provision_ad_member()
via c94f6ddccae selftest: Split out a provision_ad_member() function
via 17a7618a234 selftest: Use Kerberos to join an ad_member
from dbfc197f65f s4/torture: Unlink test file at the beginning of smb2.read.position
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit f98b766d94a778fa2194f3c46a8302fe697499f0
Author: Andreas Schneider <asn at samba.org>
Date: Fri May 15 12:08:27 2020 +0200
gitlab-ci: Add new runner for samba-admem-fips
Signed-off-by: Andreas Schneider <asn at samba.org>
Reviewed-by: Alexander Bokovoy <ab at samba.org>
Autobuild-User(master): Andreas Schneider <asn at cryptomilk.org>
Autobuild-Date(master): Mon May 18 16:06:06 UTC 2020 on sn-devel-184
commit 242b6cf2c4cc216affb7fb3b0627eb082f79f080
Author: Andreas Schneider <asn at samba.org>
Date: Fri May 15 16:09:47 2020 +0200
autobuild: Use sane random sleep values for samba-admem-mit
Signed-off-by: Andreas Schneider <asn at samba.org>
Reviewed-by: Alexander Bokovoy <ab at samba.org>
commit 4fe51b27e0d474eb7ada2f4dbda5872616335462
Author: Andreas Schneider <asn at samba.org>
Date: Fri May 15 12:07:04 2020 +0200
autobuild: Add ad_member_fips target
Reviewed-by: Alexander Bokovoy <ab at samba.org>
commit 55cbdac15e62e3dadf3bb992ae0dc9b051cf7df5
Author: Andreas Schneider <asn at samba.org>
Date: Fri May 15 11:41:55 2020 +0200
selftest: Run some tests against ad_member_fips
Signed-off-by: Andreas Schneider <asn at samba.org>
Reviewed-by: Alexander Bokovoy <ab at samba.org>
commit 984dd6416cd12eeb0abf93aaf658510e4ddb1a3c
Author: Andreas Schneider <asn at samba.org>
Date: Fri May 15 11:30:35 2020 +0200
selftest: Add ad_member_fips target
Signed-off-by: Andreas Schneider <asn at samba.org>
Reviewed-by: Alexander Bokovoy <ab at samba.org>
commit 5dc1c312b6edc6d5c9f51c6427c82201816e4cf4
Author: Andreas Schneider <asn at samba.org>
Date: Fri May 15 11:30:02 2020 +0200
selftest: Add force_fips_mode support to provision_ad_member()
Signed-off-by: Andreas Schneider <asn at samba.org>
Reviewed-by: Alexander Bokovoy <ab at samba.org>
commit c94f6ddccae9093364b003287a95a43379067dd6
Author: Andreas Schneider <asn at samba.org>
Date: Wed May 13 16:54:39 2020 +0200
selftest: Split out a provision_ad_member() function
Signed-off-by: Andreas Schneider <asn at samba.org>
Reviewed-by: Alexander Bokovoy <ab at samba.org>
commit 17a7618a234091e65a560fa83d96e871ef500846
Author: Andreas Schneider <asn at samba.org>
Date: Wed May 13 16:43:06 2020 +0200
selftest: Use Kerberos to join an ad_member
Reviewed-by: Alexander Bokovoy <ab at samba.org>
-----------------------------------------------------------------------
Summary of changes:
.gitlab-ci.yml | 4 +++
script/autobuild.py | 14 +++++++-
selftest/target/Samba3.pm | 90 ++++++++++++++++++++++++++++++++++++++---------
source4/selftest/tests.py | 8 ++++-
4 files changed, 98 insertions(+), 18 deletions(-)
Changeset truncated at 500 lines:
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 4e9a5284429..489ac476784 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -185,6 +185,10 @@ samba-ad-dc-fips:
extends: .shared_template
image: $SAMBA_CI_CONTAINER_IMAGE_fedora31
+samba-admem-fips:
+ extends: .shared_template
+ image: $SAMBA_CI_CONTAINER_IMAGE_fedora31
+
.private_template:
extends: .shared_template
tags:
diff --git a/script/autobuild.py b/script/autobuild.py
index a9eb980c7aa..840ed4e9648 100755
--- a/script/autobuild.py
+++ b/script/autobuild.py
@@ -486,7 +486,7 @@ tasks = {
],
"samba-admem-mit": [
- ("random-sleep", random_sleep(300, 900)),
+ ("random-sleep", random_sleep(1, 1)),
("configure", "./configure.developer --with-selftest-prefix=./bin/ab --with-system-mitkrb5 --with-experimental-mit-ad-dc" + samba_configure_params),
("make", "make -j"),
("test", make_test(include_envs=[
@@ -499,6 +499,17 @@ tasks = {
("check-clean-tree", "script/clean-source-tree.sh"),
],
+ "samba-admem-fips": [
+ ("random-sleep", random_sleep(1, 1)),
+ ("configure", "./configure.developer --with-selftest-prefix=./bin/ab --with-system-mitkrb5 --with-experimental-mit-ad-dc" + samba_configure_params),
+ ("make", "make -j"),
+ ("test", make_test(include_envs=[
+ "ad_member_fips",
+ ])),
+ ("lcov", LCOV_CMD),
+ ("check-clean-tree", "script/clean-source-tree.sh"),
+ ],
+
"samba-ad-dc-1-mitkrb5": [
("random-sleep", random_sleep(1, 1)),
("configure", "./configure.developer --with-selftest-prefix=./bin/ab --with-system-mitkrb5 --with-experimental-mit-ad-dc" + samba_configure_params),
@@ -828,6 +839,7 @@ defaulttasks.remove("fail")
defaulttasks.remove("samba-test-only")
defaulttasks.remove("samba-fuzz")
defaulttasks.remove("samba-ad-dc-fips")
+defaulttasks.remove("samba-admem-fips")
if os.environ.get("AUTOBUILD_SKIP_SAMBA_O3", "0") == "1":
defaulttasks.remove("samba-o3")
diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm
index e988ef7210b..d99a59dca73 100755
--- a/selftest/target/Samba3.pm
+++ b/selftest/target/Samba3.pm
@@ -237,6 +237,7 @@ sub check_env($$)
ad_member_rfc2307 => ["ad_dc_ntvfs"],
ad_member_idmap_rid => ["ad_dc"],
ad_member_idmap_ad => ["fl2008r2dc"],
+ ad_member_fips => ["ad_dc_fips"],
clusteredmember_smb1 => ["nt4_dc"],
);
@@ -643,20 +644,18 @@ sub setup_clusteredmember_smb1
return $ret;
}
-sub setup_ad_member
+sub provision_ad_member
{
- my ($self, $prefix, $dcvars, $trustvars_f, $trustvars_e) = @_;
+ my ($self,
+ $prefix,
+ $dcvars,
+ $trustvars_f,
+ $trustvars_e,
+ $force_fips_mode) = @_;
my $prefix_abs = abs_path($prefix);
my @dirs = ();
- # If we didn't build with ADS, pretend this env was never available
- if (not $self->have_ads()) {
- return "UNKNOWN";
- }
-
- print "PROVISIONING S3 AD MEMBER...";
-
mkdir($prefix_abs, 0777);
my $share_dir="$prefix_abs/share";
@@ -747,6 +746,11 @@ sub setup_ad_member
$ret->{KRB5_CONFIG} = $ctx->{krb5_conf};
+ if (defined($force_fips_mode)) {
+ $ret->{GNUTLS_FORCE_FIPS_MODE} = "1";
+ $ret->{OPENSSL_FORCE_FIPS_MODE} = "1";
+ }
+
my $net = Samba::bindir_path($self, "net");
# Add hosts file for name lookups
my $cmd = "NSS_WRAPPER_HOSTS='$ret->{NSS_WRAPPER_HOSTS}' ";
@@ -756,11 +760,15 @@ sub setup_ad_member
} else {
$cmd .= "RESOLV_WRAPPER_HOSTS=\"$ret->{RESOLV_WRAPPER_HOSTS}\" ";
}
+ if (defined($force_fips_mode)) {
+ $cmd .= "GNUTLS_FORCE_FIPS_MODE=1 ";
+ $cmd .= "OPENSSL_FORCE_FIPS_MODE=1 ";
+ }
$cmd .= "RESOLV_CONF=\"$ret->{RESOLV_CONF}\" ";
$cmd .= "KRB5_CONFIG=\"$ret->{KRB5_CONFIG}\" ";
$cmd .= "SELFTEST_WINBINDD_SOCKET_DIR=\"$ret->{SELFTEST_WINBINDD_SOCKET_DIR}\" ";
$cmd .= "$net join $ret->{CONFIGURATION}";
- $cmd .= " -U$dcvars->{USERNAME}\%$dcvars->{PASSWORD}";
+ $cmd .= " -U$dcvars->{USERNAME}\%$dcvars->{PASSWORD} -k";
if (system($cmd) != 0) {
warn("Join failed\n$cmd");
@@ -811,6 +819,24 @@ sub setup_ad_member
return $ret;
}
+sub setup_ad_member
+{
+ my ($self,
+ $prefix,
+ $dcvars,
+ $trustvars_f,
+ $trustvars_e) = @_;
+
+ # If we didn't build with ADS, pretend this env was never available
+ if (not $self->have_ads()) {
+ return "UNKNOWN";
+ }
+
+ print "PROVISIONING AD MEMBER...";
+
+ return $self->provision_ad_member($prefix, $dcvars, $trustvars_f, $trustvars_e);
+}
+
sub setup_ad_member_rfc2307
{
my ($self, $prefix, $dcvars) = @_;
@@ -1112,6 +1138,28 @@ sub setup_ad_member_idmap_ad
return $ret;
}
+sub setup_ad_member_fips
+{
+ my ($self,
+ $prefix,
+ $dcvars,
+ $trustvars_f,
+ $trustvars_e) = @_;
+
+ # If we didn't build with ADS, pretend this env was never available
+ if (not $self->have_ads()) {
+ return "UNKNOWN";
+ }
+
+ print "PROVISIONING AD FIPS MEMBER...";
+
+ return $self->provision_ad_member($prefix,
+ $dcvars,
+ $trustvars_f,
+ $trustvars_e,
+ 1);
+}
+
sub setup_simpleserver
{
my ($self, $path) = @_;
@@ -3004,12 +3052,22 @@ sub wait_for_start($$$$$)
my $count = 0;
do {
- $cmd = Samba::bindir_path($self, "smbclient");
- $cmd .= " $envvars->{CONFIGURATION}";
- $cmd .= " -L $envvars->{SERVER}";
- $cmd .= " -U%";
- $cmd .= " -I $envvars->{SERVER_IP}";
- $cmd .= " -p 139";
+ if (defined($envvars->{GNUTLS_FORCE_FIPS_MODE})) {
+ # We don't have NTLM in FIPS mode, so lets use
+ # smbcontrol instead of smbclient.
+ $cmd = Samba::bindir_path($self, "smbcontrol");
+ $cmd .= " $envvars->{CONFIGURATION}";
+ $cmd .= " smbd ping";
+ } else {
+ # This uses NTLM which is not available in FIPS
+ $cmd = Samba::bindir_path($self, "smbclient");
+ $cmd .= " $envvars->{CONFIGURATION}";
+ $cmd .= " -L $envvars->{SERVER}";
+ $cmd .= " -U%";
+ $cmd .= " -I $envvars->{SERVER_IP}";
+ $cmd .= " -p 139";
+ }
+
$ret = system($cmd);
if ($ret != 0) {
sleep(1);
diff --git a/source4/selftest/tests.py b/source4/selftest/tests.py
index 480ea22987f..211a56e689a 100755
--- a/source4/selftest/tests.py
+++ b/source4/selftest/tests.py
@@ -529,9 +529,15 @@ plantestsuite("samba4.blackbox.samba-tool_ntacl(ad_member:local)", "ad_member:lo
if have_gnutls_crypto_policies:
plantestsuite("samba4.blackbox.weak_crypto.client", "ad_dc", [os.path.join(bbdir, "test_weak_crypto.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$REALM', '$DOMAIN', "$PREFIX/ad_dc"])
- plantestsuite("samba4.blackbox.weak_crypto.server", "ad_dc_fips", [os.path.join(bbdir, "test_weak_crypto_server.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$REALM', '$DOMAIN', "$PREFIX/ad_dc_fips", configuration])
+
+ 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'])
+ 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_loadlist("samba4.rpc.echo against NetBIOS alias", "ad_dc_ntvfs", [valgrindify(smbtorture4), "$LISTOPT", "$LOADLIST", 'ncacn_np:$NETBIOSALIAS', '-U$DOMAIN/$USERNAME%$PASSWORD', 'rpc.echo'])
# json tests hook into ``chgdcpass'' to make them run in contributor CI on
# gitlab
--
Samba Shared Repository
More information about the samba-cvs
mailing list