[SCM] Samba Shared Repository - branch master updated

Andrew Bartlett abartlet at samba.org
Tue Feb 4 06:44:02 UTC 2020


The branch, master has been updated
       via  d459ca04fc4 libcli:smb: Improve check for gnutls_aead_cipher_(en|de)cryptv2
       via  4258f805f4a selftest: simplify logic in setup_env
       via  131bfc8ce2f selftest: avoid comparison against undefined value
       via  7334d575a9c selftest/target/samba: do not look for undef environment
       via  d087f74d45d selftest/target/samba: add missing methods
       via  213e237e390 selftest/s3: prefer empty string over undef to add nothing to config
       via  e50c5b80bfc selftest/s3: actually close parent copy of smbd's STDIN
       via  314b59fbeff selftest/s4: remove illegal function signature
       via  18efb47a8ff selftest/s4: don't put pcap file in / by default
       via  7a65a26a2fb selftest/s4: properly initialise an empty hash
       via  6c4ee5282e0 selftest: avoid redeclaring perl variables
       via  467abee4eed selftest/target/samba: avoid overwriting $pkinitdir
       via  8f17d481630 selftest: enable perl warnings
       via  cf4984947b3 build: Do not check if system perl modules should be bundled
      from  6be818b47b9 vfs_gpfs: Remove discard_const_p() from gpfswrap_quotactl() calls

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


- Log -----------------------------------------------------------------
commit d459ca04fc46a52276a860e73ae9ec8f813c260e
Author: Andreas Schneider <asn at samba.org>
Date:   Fri Jan 24 16:34:42 2020 +0100

    libcli:smb: Improve check for gnutls_aead_cipher_(en|de)cryptv2
    
    This is available since version 3.6.10, but 3.6.10 has a bug which got fixed
    in 3.6.11, see:
    
        https://gitlab.com/gnutls/gnutls/-/merge_requests/1085
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=14250
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    
    Autobuild-User(master): Andrew Bartlett <abartlet at samba.org>
    Autobuild-Date(master): Tue Feb  4 06:44:00 UTC 2020 on sn-devel-184

commit 4258f805f4aefaac43ca938e3a0a11dc85340512
Author: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Date:   Sat Dec 7 23:22:45 2019 +1300

    selftest: simplify logic in setup_env
    
    Signed-off-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
    Reviewed-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 131bfc8ce2f04f1888e3d9a36f3ac65b70ef0e84
Author: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Date:   Sun Feb 2 20:57:17 2020 +1300

    selftest: avoid comparison against undefined value
    
    Signed-off-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
    Reviewed-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 7334d575a9ccab7cd9a26cb0933dbd390a38a02a
Author: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Date:   Sat Dec 7 23:20:29 2019 +1300

    selftest/target/samba: do not look for undef environment
    
    Signed-off-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
    Reviewed-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit d087f74d45d024055766068e4e57fa9b92662a08
Author: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Date:   Sat Dec 7 23:17:26 2019 +1300

    selftest/target/samba: add missing methods
    
    These methods are being called but have not been provided.
    
    Signed-off-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
    Reviewed-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 213e237e390fc9a18f6f3b53663373edaa25bac8
Author: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Date:   Sat Dec 7 23:08:48 2019 +1300

    selftest/s3: prefer empty string over undef to add nothing to config
    
    To fix a warning.
    
    Signed-off-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
    Reviewed-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit e50c5b80bfcfd917be3095d8124a17c84b5d82c2
Author: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Date:   Sat Dec 7 23:05:03 2019 +1300

    selftest/s3: actually close parent copy of smbd's STDIN
    
    Signed-off-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
    Reviewed-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 314b59fbeff1fc788a8841c58defd530bd551261
Author: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Date:   Sat Dec 7 22:56:00 2019 +1300

    selftest/s4: remove illegal function signature
    
    The character ':' has no meaning in function signatures. Perhaps ';' was
    intended, which would have marked the later arguments as optional --
    which is the default with no signature. All callers always provide all
    the arguments anyway.
    
    Signed-off-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
    Reviewed-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 18efb47a8ff8b3e9251f9b2df8ef18b571ee1807
Author: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Date:   Sat Dec 7 22:48:42 2019 +1300

    selftest/s4: don't put pcap file in / by default
    
    If the SOCKET_WRAPPER_PCAP_DIR is not defined, let's assume it wasn't
    wanted rather than choosing /.
    
    Signed-off-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
    Reviewed-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 7a65a26a2fb355d34801b5559c59cd82388646a8
Author: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Date:   Sat Dec 7 22:45:47 2019 +1300

    selftest/s4: properly initialise an empty hash
    
    The '%ret = {}' construction was bad because '{}' is a hash-ref, which
    counts as a single scalar value, but a true hash like '%ret' must be
    initialised with an even number of scalar values (usually in pairs, like
    '($a => $b, $c => $d)').
    
    I think this meant %ret was initialised as something harmless like
    '(<HASH(0x55ce39781278)> => undef)'.
    
    Signed-off-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
    Reviewed-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 6c4ee5282e024b5cdeca30ffd0b29adcdeed1ab2
Author: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Date:   Sat Dec 7 22:38:30 2019 +1300

    selftest: avoid redeclaring perl variables
    
    None of these ones are doing any harm, we just want to silence these
    warnings.
    
    Signed-off-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
    Reviewed-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 467abee4eed9f7da95326e2ccd8120440378b58f
Author: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Date:   Sat Dec 7 23:15:00 2019 +1300

    selftest/target/samba: avoid overwriting $pkinitdir
    
    We were declaring the same variable twice with two different paths,
    "$cadir/Users/$pkinitprincipalname" here and
    "$ctx->{prefix_abs}/pkinit" about 5 lines down.
    
    Signed-off-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
    Reviewed-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 8f17d48163014266c191f8035c5c72fb4f8a5a01
Author: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Date:   Sat Dec 7 22:37:00 2019 +1300

    selftest: enable perl warnings
    
    After this we will see more noise with each test run, and these
    warnings will be addressed in following commits.
    
    Signed-off-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
    Reviewed-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit cf4984947b39e9f6f8afd29de8a760703bf9e092
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Feb 3 09:51:12 2020 +1300

    build: Do not check if system perl modules should be bundled
    
    We do not ship any perl modules in third_party at this time, so
    this check is pointless and breaks the build for --bundled-libraries=ALL.
    
    As reported by aaptel on https://gitlab.com/samba-team/samba/-/merge_requests/1104#note_281050331
    
    This changes our autobuild script to cover this case in the
    samba-static job.
    
    Signed-off-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Gary Lockyer <gary at catalyst.net.nz>

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

Summary of changes:
 libcli/smb/smb2_signing.c       |  7 ++-----
 pidl/wscript                    |  7 -------
 script/autobuild.py             |  2 +-
 selftest/SocketWrapper.pm       |  1 +
 selftest/Subunit.pm             |  1 +
 selftest/selftest.pl            | 21 ++++++++++++---------
 selftest/target/Samba.pm        | 26 +++++++++++++++++++++++---
 selftest/target/Samba3.pm       | 15 +++++++++------
 selftest/target/Samba4.pm       | 41 ++++++++++++++++++++++++-----------------
 wscript_configure_system_gnutls | 15 +++++++++++++--
 10 files changed, 86 insertions(+), 50 deletions(-)


Changeset truncated at 500 lines:

diff --git a/libcli/smb/smb2_signing.c b/libcli/smb/smb2_signing.c
index 7561a7a858d..7b33a42526e 100644
--- a/libcli/smb/smb2_signing.c
+++ b/libcli/smb/smb2_signing.c
@@ -478,9 +478,7 @@ NTSTATUS smb2_signing_encrypt_pdu(struct smb2_signing_key *encryption_key,
 	       0,
 	       16 - iv_size);
 
-/* gnutls_aead_cipher_encryptv2() has a bug in version 3.6.10 */
-#if defined(HAVE_GNUTLS_AEAD_CIPHER_ENCRYPTV2) && \
-    GNUTLS_VERSION_NUMBER > 0x03060a
+#if defined(HAVE_GNUTLS_AEAD_CIPHER_ENCRYPTV2)
 	{
 		uint8_t tag[tag_size];
 		giovec_t auth_iov[1];
@@ -682,8 +680,7 @@ NTSTATUS smb2_signing_decrypt_pdu(struct smb2_signing_key *decryption_key,
 	}
 
 /* gnutls_aead_cipher_encryptv2() has a bug in version 3.6.10 */
-#if defined(HAVE_GNUTLS_AEAD_CIPHER_ENCRYPTV2) && \
-    GNUTLS_VERSION_NUMBER > 0x03060a
+#if defined(HAVE_GNUTLS_AEAD_CIPHER_ENCRYPTV2)
 	{
 		giovec_t auth_iov[1];
 
diff --git a/pidl/wscript b/pidl/wscript
index 88cb9132fd6..50fe12c013d 100644
--- a/pidl/wscript
+++ b/pidl/wscript
@@ -6,23 +6,16 @@ from waflib import Logs, Errors
 
 # This function checks if a perl module is installed on the system.
 def check_system_perl_module(conf, module, version=None):
-    bundle_name = module.replace('::', '_')
     module_check = module
 
     # Create module string with version
     if version:
         module_check = module + ' ' + str(version)
 
-    # Check if we have to bundle it.
-    if conf.LIB_MUST_BE_BUNDLED(bundle_name.lower()):
-        return False
-
     # Check for system perl module
     if conf.check_perl_module(module_check) is None:
         return False
 
-    conf.define('USING_SYSTEM_%s' % bundle_name.upper(), 1)
-
     return True
 
 def options(opt):
diff --git a/script/autobuild.py b/script/autobuild.py
index 2a0b7da53e5..f5cf2a85ca0 100755
--- a/script/autobuild.py
+++ b/script/autobuild.py
@@ -623,7 +623,7 @@ tasks = {
 
         # retry with nonshared smbd and smbtorture
         ("nonshared-distclean", "make distclean"),
-        ("nonshared-configure", "./configure.developer " + samba_configure_params + " --bundled-libraries=talloc,tdb,pytdb,ldb,pyldb,tevent,pytevent --with-static-modules=ALL --nonshared-binary=smbtorture,smbd/smbd"),
+        ("nonshared-configure", "./configure.developer " + samba_configure_params + " --bundled-libraries=ALL --with-static-modules=ALL --nonshared-binary=smbtorture,smbd/smbd"),
         ("nonshared-make", "make -j")
         ],
 
diff --git a/selftest/SocketWrapper.pm b/selftest/SocketWrapper.pm
index ef8058da794..67a4ec96ca6 100644
--- a/selftest/SocketWrapper.pm
+++ b/selftest/SocketWrapper.pm
@@ -24,6 +24,7 @@ use Exporter;
 @EXPORT_OK = qw(setup_dir setup_pcap set_default_iface);
 
 use strict;
+use warnings;
 use FindBin qw($RealBin);
 
 sub setup_dir($$)
diff --git a/selftest/Subunit.pm b/selftest/Subunit.pm
index 07f4b8ff97d..07f3ac28ddf 100644
--- a/selftest/Subunit.pm
+++ b/selftest/Subunit.pm
@@ -22,6 +22,7 @@ require Exporter;
 @ISA = qw(Exporter);
 
 use strict;
+use warnings;
 
 sub start_test($)
 {
diff --git a/selftest/selftest.pl b/selftest/selftest.pl
index b6094fef3b9..087fcefc502 100755
--- a/selftest/selftest.pl
+++ b/selftest/selftest.pl
@@ -17,6 +17,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 use strict;
+use warnings;
 
 use FindBin qw($RealBin $Script);
 use File::Spec;
@@ -582,7 +583,7 @@ sub write_clientconf($$$)
 	# USER-${USER_PRINCIPAL_NAME}-private-key.pem symlink
 	# We make a copy here and make the certificated easily
 	# accessable in the client environment.
-	my $mask = umask;
+	$mask = umask;
 	umask 0077;
 	opendir USERS, "${ca_users_dir}" or die "Could not open dir '${ca_users_dir}': $!";
 	for my $d (readdir USERS) {
@@ -855,17 +856,19 @@ sub setup_env($$)
 		}
 	} else {
 		$testenv_vars = $target->setup_env($envname, $prefix);
-		if (defined($testenv_vars) and $testenv_vars eq "UNKNOWN") {
-		    return $testenv_vars;
-		} elsif (defined($testenv_vars) && not defined($testenv_vars->{target})) {
-		        $testenv_vars->{target} = $target;
-		}
 		if (not defined($testenv_vars)) {
+			my $msg = "$opt_target can't start up known environment '$envname'";
 			if ($opt_one) {
-				die("$opt_target can't start up known environment '$envname'");
-			} else {
-				warn("$opt_target can't start up known environment '$envname'");
+				die($msg);
 			}
+			warn $msg;
+			return;
+		}
+		if (ref $testenv_vars ne "HASH") {
+			return $testenv_vars;
+		}
+		if (defined($testenv_vars->{target})) {
+			$testenv_vars->{target} = $target;
 		}
 	}
 
diff --git a/selftest/target/Samba.pm b/selftest/target/Samba.pm
index a908a7ade7c..b7b46413b68 100644
--- a/selftest/target/Samba.pm
+++ b/selftest/target/Samba.pm
@@ -6,6 +6,7 @@
 package Samba;
 
 use strict;
+use warnings;
 use target::Samba3;
 use target::Samba4;
 use POSIX;
@@ -94,6 +95,9 @@ sub setup_env($$$)
 	$target->{vars}->{$envname}->{target} = $target;
 
 	foreach(@{$ENV_DEPS_POST{$envname}}) {
+		if (not defined $_) {
+			continue;
+		}
 		my $vars = $self->setup_env($_, $path);
 		if (not defined($vars)) {
 			return undef;
@@ -161,9 +165,9 @@ sub prepare_keyblobs($)
 	my $admincert = "$admindir/USER-$adminprincipalname-cert.pem";
 	my $adminkey_private = "$admindir/USER-$adminprincipalname-private-key.pem";
 	my $pkinitprincipalname = "pkinit\@$ctx->{dnsname}";
-	my $pkinitdir = "$cadir/Users/$pkinitprincipalname";
-	my $pkinitcert = "$pkinitdir/USER-$pkinitprincipalname-cert.pem";
-	my $pkinitkey_private = "$pkinitdir/USER-$pkinitprincipalname-private-key.pem";
+	my $ca_pkinitdir = "$cadir/Users/$pkinitprincipalname";
+	my $pkinitcert = "$ca_pkinitdir/USER-$pkinitprincipalname-cert.pem";
+	my $pkinitkey_private = "$ca_pkinitdir/USER-$pkinitprincipalname-private-key.pem";
 
 	my $tlsdir = "$ctx->{tlsdir}";
 	my $pkinitdir = "$ctx->{prefix_abs}/pkinit";
@@ -925,4 +929,20 @@ sub ns_exec_preargs
 	}
 }
 
+
+sub check_env {
+	my ($self, $envvars) = @_;
+	return 1;
+}
+
+sub teardown_env {
+	my ($self, $env) = @_;
+	return 1;
+}
+
+
+sub getlog_env {
+	return '';
+}
+
 1;
diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm
index 991963b6074..a3e2129b185 100755
--- a/selftest/target/Samba3.pm
+++ b/selftest/target/Samba3.pm
@@ -9,6 +9,7 @@
 package Samba3;
 
 use strict;
+use warnings;
 use Cwd qw(abs_path);
 use FindBin qw($RealBin);
 use POSIX;
@@ -49,7 +50,7 @@ sub get_fs_specific_conf($$)
 		return "vfs objects = $mods";
 	}
 
-	return undef;
+	return '';
 }
 
 sub new($$) {
@@ -303,7 +304,9 @@ sub setup_nt4_member
 	print "PROVISIONING MEMBER...";
 
 	my $require_mutexes = "dbwrap_tdb_require_mutexes:* = yes";
-	$require_mutexes = "" if ($ENV{SELFTEST_DONT_REQUIRE_TDB_MUTEX_SUPPORT} eq "1");
+	if ($ENV{SELFTEST_DONT_REQUIRE_TDB_MUTEX_SUPPORT} // '' eq "1") {
+		$require_mutexes = "";
+	}
 
 	my $member_options = "
 	security = domain
@@ -348,7 +351,7 @@ sub setup_nt4_member
 	}
 
 	# Add hosts file for name lookups
-	my $cmd = "NSS_WRAPPER_HOSTS='$ret->{NSS_WRAPPER_HOSTS}' ";
+	$cmd = "NSS_WRAPPER_HOSTS='$ret->{NSS_WRAPPER_HOSTS}' ";
 	$cmd .= "SOCKET_WRAPPER_DEFAULT_IFACE=\"$ret->{SOCKET_WRAPPER_DEFAULT_IFACE}\" ";
 	$cmd .= "SELFTEST_WINBINDD_SOCKET_DIR=\"$ret->{SELFTEST_WINBINDD_SOCKET_DIR}\" ";
 	$cmd .= "$net $ret->{CONFIGURATION} primarytrust dumpinfo | grep -q 'REDACTED SECRET VALUES'";
@@ -1371,7 +1374,7 @@ sub check_or_start($$$$$) {
 	if ($winbindd ne "yes") {
 		$daemon_ctx->{SKIP_DAEMON} = 1;
 	}
-	my $pid = Samba::fork_and_exec($self, $env_vars, $daemon_ctx, $STDIN_READER);
+	$pid = Samba::fork_and_exec($self, $env_vars, $daemon_ctx, $STDIN_READER);
 
 	$env_vars->{WINBINDD_TL_PID} = $pid;
 	write_pid($env_vars, "winbindd", $pid);
@@ -1392,13 +1395,13 @@ sub check_or_start($$$$$) {
 		$daemon_ctx->{SKIP_DAEMON} = 1;
 	}
 
-	my $pid = Samba::fork_and_exec($self, $env_vars, $daemon_ctx, $STDIN_READER);
+	$pid = Samba::fork_and_exec($self, $env_vars, $daemon_ctx, $STDIN_READER);
 
 	$env_vars->{SMBD_TL_PID} = $pid;
 	write_pid($env_vars, "smbd", $pid);
 
 	# close the parent's read-end of the pipe
-	close(STDIN_READER);
+	close($STDIN_READER);
 
 	return $self->wait_for_start($env_vars, $nmbd, $winbindd, $smbd);
 }
diff --git a/selftest/target/Samba4.pm b/selftest/target/Samba4.pm
index da9f0a00e91..e181289b66b 100755
--- a/selftest/target/Samba4.pm
+++ b/selftest/target/Samba4.pm
@@ -9,6 +9,7 @@
 package Samba4;
 
 use strict;
+use warnings;
 use Cwd qw(abs_path);
 use FindBin qw($RealBin);
 use POSIX;
@@ -322,10 +323,14 @@ sub setup_dns_hub_internal($$$)
 		FULL_CMD => [ @full_cmd ],
 		LOG_FILE => $env->{DNS_HUB_LOG},
 		TEE_STDOUT => 1,
-		PCAP_FILE => "$ENV{SOCKET_WRAPPER_PCAP_DIR}/env-$hostname$.pcap",
 		ENV_VARS => {},
 	};
 
+	my $pcap_dir = $ENV{SOCKET_WRAPPER_PCAP_DIR};
+	if (defined $pcap_dir) {
+		$daemon_ctx->{PCAP_FILE} = "$pcap_dir/env-$hostname$.pcap",
+	}
+
 	# use a pipe for stdin in the child processes. This allows
 	# those processes to monitor the pipe for EOF to ensure they
 	# exit when the test script exits
@@ -389,7 +394,7 @@ sub get_cmd_env_vars
 # Sets up a forest trust namespace.
 # (Note this is different to kernel namespaces, setup by the
 # USE_NAMESPACES=1 option)
-sub setup_namespaces($$:$$)
+sub setup_namespaces
 {
 	my ($self, $localenv, $upn_array, $spn_array) = @_;
 
@@ -938,7 +943,7 @@ servicePrincipalName: host/testallowed
 		return undef;
 	}
 
-	my $user_dn = "cn=testdenied,cn=users,$base_dn";
+	$user_dn = "cn=testdenied,cn=users,$base_dn";
 	open(LDIF, "|$ldbmodify -H $ctx->{privatedir}/sam.ldb");
 	print LDIF "dn: $user_dn
 changetype: modify
@@ -958,7 +963,7 @@ userPrincipalName: testdenied_upn\@$ctx->{realm}.upn
 		return undef;
 	}
 
-	my $user_dn = "cn=testupnspn,cn=users,$base_dn";
+	$user_dn = "cn=testupnspn,cn=users,$base_dn";
 	open(LDIF, "|$ldbmodify -H $ctx->{privatedir}/sam.ldb");
 	print LDIF "dn: $user_dn
 changetype: modify
@@ -1012,7 +1017,7 @@ servicePrincipalName: http/testupnspn.$ctx->{dnsname}
 	}
 
 	# Add user joe to group "Samba Users"
-	my $samba_tool_cmd = "";
+	$samba_tool_cmd = "";
 	my $group = "Samba Users";
 	my $user_account = "joe";
 
@@ -1025,9 +1030,9 @@ servicePrincipalName: http/testupnspn.$ctx->{dnsname}
 		return undef;
 	}
 
-	my $samba_tool_cmd = "";
-	my $group = "Samba Users";
-	my $user_account = "joe";
+	$samba_tool_cmd = "";
+	$group = "Samba Users";
+	$user_account = "joe";
 
 	$samba_tool_cmd .= "KRB5_CONFIG=\"$ret->{KRB5_CONFIG}\" ";
 	$samba_tool_cmd .= "KRB5CCNAME=\"$ret->{KRB5_CCACHE}\" ";
@@ -1039,13 +1044,13 @@ servicePrincipalName: http/testupnspn.$ctx->{dnsname}
 	}
 
 	# Change the userPrincipalName for jane
-	my $ldbmodify = "";
+	$ldbmodify = "";
 	$ldbmodify .= "KRB5_CONFIG=\"$ret->{KRB5_CONFIG}\" ";
 	$ldbmodify .= "KRB5CCNAME=\"$ret->{KRB5_CCACHE}\" ";
 	$ldbmodify .= Samba::bindir_path($self, "ldbmodify");
 	$ldbmodify .=  " --configfile=$ctx->{smb_conf}";
-	my $base_dn = "DC=".join(",DC=", split(/\./, $ctx->{realm}));
-	my $user_dn = "cn=jane,cn=users,$base_dn";
+	$base_dn = "DC=".join(",DC=", split(/\./, $ctx->{realm}));
+	$user_dn = "cn=jane,cn=users,$base_dn";
 
 	open(LDIF, "|$ldbmodify -H $ctx->{privatedir}/sam.ldb");
 	print LDIF "dn: $user_dn
@@ -1407,8 +1412,8 @@ sub provision_promoted_dc($$$)
 		return undef;
 	}
 
-	my $samba_tool =  Samba::bindir_path($self, "samba-tool");
-	my $cmd = $self->get_cmd_env_vars($ret);
+	$samba_tool =  Samba::bindir_path($self, "samba-tool");
+	$cmd = $self->get_cmd_env_vars($ret);
 	$cmd .= "$samba_tool domain dcpromo $ret->{CONFIGURATION} $dcvars->{REALM} DC --realm=$dcvars->{REALM}";
 	$cmd .= " -U$dcvars->{DC_USERNAME}\%$dcvars->{DC_PASSWORD}";
 	$cmd .= " --machinepass=machine$ret->{PASSWORD} --dns-backend=BIND9_DLZ";
@@ -1755,7 +1760,7 @@ sub provision_rodc($$$)
 sub read_config_h($)
 {
 	my ($name) = @_;
-	my %ret = {};
+	my %ret;
 	open(LF, "<$name") or die("unable to read $name: $!");
 	while (<LF>) {
 		chomp;
@@ -1785,7 +1790,9 @@ sub provision_ad_dc($$$$$$)
         my $conffile="$prefix_abs/etc/smb.conf";
 
 	my $require_mutexes = "dbwrap_tdb_require_mutexes:* = yes";
-	$require_mutexes = "" if ($ENV{SELFTEST_DONT_REQUIRE_TDB_MUTEX_SUPPORT} eq "1");
+	if ($ENV{SELFTEST_DONT_REQUIRE_TDB_MUTEX_SUPPORT} // '' eq "1") {
+		$require_mutexes = "";
+	}
 
 	my $config_h = {};
 
@@ -2343,13 +2350,13 @@ sub setup_generic_vampire_dc
 		}
 
 		# Pull in a full set of changes from the main DC
-		my $base_dn = "DC=".join(",DC=", split(/\./, $dc_vars->{REALM}));
+		$base_dn = "DC=".join(",DC=", split(/\./, $dc_vars->{REALM}));
 		$cmd = $self->get_cmd_env_vars($env);
 		$cmd .= " $samba_tool drs replicate $env->{SERVER} $env->{DC_SERVER}";
 		$cmd .= " $dc_vars->{CONFIGURATION}";
 		$cmd .= " -U$dc_vars->{DC_USERNAME}\%$dc_vars->{DC_PASSWORD}";
 		# replicate Configuration NC
-		my $cmd_repl = "$cmd \"CN=Configuration,$base_dn\"";
+		$cmd_repl = "$cmd \"CN=Configuration,$base_dn\"";
 		unless(system($cmd_repl) == 0) {
 			warn("Failed to replicate\n$cmd_repl");
 			return undef;
diff --git a/wscript_configure_system_gnutls b/wscript_configure_system_gnutls
index f6d9ac3c65e..b2b955f3c90 100644
--- a/wscript_configure_system_gnutls
+++ b/wscript_configure_system_gnutls
@@ -1,5 +1,8 @@
 from waflib import Options
 
+def parse_version(v):
+    return tuple(map(int, (v.split("."))))
+
 gnutls_min_required_version = "3.4.7"
 
 gnutls_required_version = gnutls_min_required_version
@@ -9,14 +12,22 @@ conf.CHECK_CFG(package='gnutls',
                      msg='Checking for GnuTLS >= %s' % gnutls_required_version,
                      mandatory=True)
 
+gnutls_version = conf.cmd_and_log(conf.env.PKGCONFIG + ['--modversion', 'gnutls']).strip()
+
 # Define gnutls as a system library
 conf.SET_TARGET_TYPE('gnutls', 'SYSLIB')
 
 # Check for gnutls_pkcs7_get_embedded_data_oid (>= 3.5.5) required by libmscat
 conf.CHECK_FUNCS_IN('gnutls_pkcs7_get_embedded_data_oid', 'gnutls')
 
-# Check for gnutls_aead_cipher_encryptv2 (>= 3.6.10)
-conf.CHECK_FUNCS_IN('gnutls_aead_cipher_encryptv2', 'gnutls')
+# Check for gnutls_aead_cipher_encryptv2
+#
+# This is available since version 3.6.10, but 3.6.10 has a bug which got fixed
+# in 3.6.11, see:
+#
+#     https://gitlab.com/gnutls/gnutls/-/merge_requests/1085
+if (parse_version('3.6.10') != parse_version(gnutls_version)):
+    conf.CHECK_FUNCS_IN('gnutls_aead_cipher_encryptv2', 'gnutls')
 
 if conf.CHECK_VALUEOF('GNUTLS_CIPHER_AES_128_CFB8', headers='gnutls/gnutls.h'):
     conf.DEFINE('HAVE_GNUTLS_AES_CFB8', 1)


-- 
Samba Shared Repository



More information about the samba-cvs mailing list