[SCM] Samba Shared Repository - branch master updated

Andreas Schneider asn at samba.org
Thu Mar 22 12:27:03 UTC 2018


The branch, master has been updated
       via  dd1f8cd selftest: consistently produce high-res UTC time
       via  ba805dc s4:selftest: explicitly set NSS/RESOLV_WAPPER_* in wait_for_start
       via  3966342 selftest: Clear environment before provision
       via  ef35fbf s3-libnet: move rpc_join label into HAVE_ADS block with only caller
       via  0879be9 libsmb: Use the same #ifdef for is_our_primary_domain() as the only caller
       via  c32fa9b travis-ci: Use Gold linker for faster builds
       via  87dac62 travis-ci: Only un-shallow for PIDL
       via  d950556 autobuild: Move defaulttasks to one-per-line
      from  7964b36 tdb: Fix a "increases alignment" warning

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


- Log -----------------------------------------------------------------
commit dd1f8cdf6bd1fb9c881d96957d709b0f517852bb
Author: Jamie McClymont <jamiemcclymont at catalyst.net.nz>
Date:   Thu Jan 25 17:23:06 2018 +1300

    selftest: consistently produce high-res UTC time
    
    Currently some subunit reporters throughout the codebase provide low-res time,
    meaning timestamps jump back and forth in the subunit file. Also, some subunit
    reporters produce UTC timestamps while others produce local time. UTC was chosen
    as the standard for this commit since all of the timestamps end with a Z (= Zulu
    = UTC).
    
    Signed-off-by: Jamie McClymont <jamiemcclymont at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    
    Autobuild-User(master): Andreas Schneider <asn at cryptomilk.org>
    Autobuild-Date(master): Thu Mar 22 13:26:44 CET 2018 on sn-devel-144

commit ba805dcd6f95748d77e24d5de7c31af2ff5848b1
Author: Jamie McClymont <jamiemcclymont at catalyst.net.nz>
Date:   Wed Jan 10 13:28:13 2018 +1300

    s4:selftest: explicitly set NSS/RESOLV_WAPPER_* in wait_for_start
    
    These variables were previously set directly on the selftest process
    for the purpose of making this ldbsearch call, allowing them to leak
    into other environments.
    
    Signed-off-by: Jamie McClymont <jamiemcclymont at catalyst.net.nz>
    Reviewed-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Andreas Schneider <asn at samba.org>

commit 3966342a1817b84d78e0c6687b4e7dc6d71f3c41
Author: Jamie McClymont <jamiemcclymont at catalyst.net.nz>
Date:   Mon Jan 29 18:59:34 2018 +1300

    selftest: Clear environment before provision
    
    Currently, if an environment is being provisioned after a test which used
    ad_member_rfc2307, the provisioning process has all of the following in its
    environment:
    
    {
    	'DC_NETBIOSNAME'               => 'LOCALDC',
    	'DC_PASSWORD'                  => 'locDCpass1',
    	'DC_SERVER_IP'                 => '127.0.0.21',
    	'DC_SERVER_IPV6'               => 'fd00:0000:0000:0000:0000:0000:5357:5f15',
    	'DC_SERVER'                    => 'localdc',
    	'DC_USERNAME'                  => 'Administrator',
    	'DOMAIN'                       => 'SAMBADOMAIN',
    	'LOCAL_PATH'                   => '/.../st/ad_member_rfc2307/share',
    	'LOCK_DIR'                     => '/.../st/ad_member_rfc2307/lockdir',
    	'NETBIOSNAME'                  => 'RFC2307MEMBER',
    	'NMBD_SOCKET_DIR'              => '/.../st/ad_member_rfc2307/nmbd',
    	'NSS_WRAPPER_GROUP'            => '/.../st/ad_member_rfc2307/private/group',
    	'NSS_WRAPPER_HOSTNAME'         => 'rfc2307member.samba.example.com',
    	'NSS_WRAPPER_HOSTS'            => '/.../st/hosts',
    	'NSS_WRAPPER_MODULE_FN_PREFIX' => 'winbind',
    	'NSS_WRAPPER_MODULE_SO_PATH'   => '/.../bin/default/nsswitch/libnss-wrapper-winbind.so',
    	'NSS_WRAPPER_PASSWD'           => '/.../st/ad_member_rfc2307/private/passwd',
    	'PASSWORD'                     => 'loCalMemberPass',
    	'REALM'                        => 'SAMBA.EXAMPLE.COM',
    	'RESOLV_WRAPPER_HOSTS'         => '/.../st/dns_host_file',
    	'SELFTEST_WINBINDD_SOCKET_DIR' => '/.../st/ad_member_rfc2307/winbindd',
    	'SERVER_IP'                    => '127.0.0.34',
    	'SERVER_IPV6'                  => 'fd00:0000:0000:0000:0000:0000:5357:5f22',
    	'SERVER'                       => 'RFC2307MEMBER',
    	'USERID'                       => '55668',
    	'USERNAME'                     => 'jamiemcclymont',
    }
    
    Unsurprisingly, some of these can cause issues for the provisioning process, if
    a reduced subset of tests is being run which causes the provision to encounter
    never-before-seen pairs of adjacent environments.
    
    For example, a run with only
    	TESTS='--include-env=vampire_dc --include-env=ad_member_rfc2307'
    would fail to start up the vampire_dc with:
    	Could not find machine account in secrets database:
    	Failed to fetch machine account password from secrets.ldb:
    	Could not find entry to match filter:
    	'(&(flatname=SAMBADOMAIN)(objectclass=primaryDomain))' base: 'cn=Primary Domains': No such object: dsdb_search at ../source4/dsdb/common/util.c:4641
    
    Signed-off-by: Jamie McClymont <jamiemcclymont at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Andreas Schneider <asn at samba.org>

commit ef35fbfc8ca3f8583507c3b55cab1304290a204d
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Sun Mar 4 22:57:22 2018 +1300

    s3-libnet: move rpc_join label into HAVE_ADS block with only caller
    
    Signed-off-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Andreas Schneider <asn at samba.org>

commit 0879be975873b5972b791bcad428a68573c77b69
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Sun Mar 4 22:31:00 2018 +1300

    libsmb: Use the same #ifdef for is_our_primary_domain() as the only caller
    
    Signed-off-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Andreas Schneider <asn at samba.org>

commit c32fa9bb22190a2809eaed2cfdb12c43613c61bb
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Sat Mar 3 23:39:24 2018 +1300

    travis-ci: Use Gold linker for faster builds
    
    Signed-off-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Andreas Schneider <asn at samba.org>

commit 87dac6295c1d062148af3fc51149eac418270408
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Sat Mar 3 21:24:47 2018 +1300

    travis-ci: Only un-shallow for PIDL
    
    Signed-off-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Andreas Schneider <asn at samba.org>

commit d9505567554b13c7e5a61284b14ec90b8cb05075
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Fri Jul 21 19:54:36 2017 +1200

    autobuild: Move defaulttasks to one-per-line
    
    Signed-off-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Andreas Schneider <asn at samba.org>

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

Summary of changes:
 .travis.yml                   |  8 +++++++-
 lib/torture/subunit.c         |  4 ++--
 script/autobuild.py           | 16 +++++++++++++++-
 selftest/Subunit.pm           |  6 ++++--
 selftest/selftest.pl          | 20 +++++++++++++++++---
 selftest/target/Samba4.pm     | 24 +++++++++++++++---------
 source3/libnet/libnet_join.c  |  3 ++-
 source3/libsmb/namequery_dc.c |  2 +-
 source4/torture/rpc/witness.c |  4 ++--
 9 files changed, 65 insertions(+), 22 deletions(-)


Changeset truncated at 500 lines:

diff --git a/.travis.yml b/.travis.yml
index 645658b..5ad750d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -28,7 +28,13 @@ matrix:
 before_install:
  - sudo apt-get update -qq
  - sudo apt-get install --assume-yes acl attr autoconf bind9utils bison build-essential debhelper dnsutils docbook-xml docbook-xsl flex gdb libjansson-dev krb5-user libacl1-dev libaio-dev libarchive-dev libattr1-dev libblkid-dev libbsd-dev libcap-dev libcups2-dev libgnutls-dev libgpgme11-dev libjson-perl libldap2-dev libncurses5-dev libpam0g-dev libparse-yapp-perl libpopt-dev libreadline-dev nettle-dev perl perl-modules pkg-config python-all-dev python-crypto python-dbg python-dev python-dnspython python3-dnspython python-gpgme python3-gpgme python-markdown python3-markdown python3-dev xsltproc zlib1g-dev
+ - sudo apt-get install --assume-yes binutils-gold
+ - sudo update-alternatives --install "/usr/bin/ld" "ld" "/usr/bin/ld.gold" 20
+ - sudo update-alternatives --install "/usr/bin/ld" "ld" "/usr/bin/ld.bfd" 10
+ - sudo update-alternatives --set ld /usr/bin/ld.gold
 
 script:
- - git fetch --unshallow
+ - if [ $TASK = "pidl" ]; then
+    git fetch --unshallow;
+   fi
  - ./script/autobuild.py --tail --testbase=/tmp $TASK
diff --git a/lib/torture/subunit.c b/lib/torture/subunit.c
index 46f1b65..deb96ff 100644
--- a/lib/torture/subunit.c
+++ b/lib/torture/subunit.c
@@ -62,9 +62,9 @@ static void torture_subunit_report_time(struct torture_context *tctx)
 		return;
 	}
 
-	tmp = localtime(&tp.tv_sec);
+	tmp = gmtime(&tp.tv_sec);
 	if (!tmp) {
-		perror("localtime");
+		perror("gmtime");
 		return;
 	}
 
diff --git a/script/autobuild.py b/script/autobuild.py
index ebe49bb..fe1a961 100755
--- a/script/autobuild.py
+++ b/script/autobuild.py
@@ -44,7 +44,21 @@ builddirs = {
     "retry"   : "."
     }
 
-defaulttasks = [ "ctdb", "samba", "samba-xc", "samba-o3", "samba-ctdb", "samba-libs", "samba-static", "samba-systemkrb5", "samba-nopython", "ldb", "tdb", "talloc", "replace", "tevent", "pidl" ]
+defaulttasks = [ "ctdb",
+                 "samba",
+                 "samba-xc",
+                 "samba-o3",
+                 "samba-ctdb",
+                 "samba-libs",
+                 "samba-static",
+                 "samba-systemkrb5",
+                 "samba-nopython",
+                 "ldb",
+                 "tdb",
+                 "talloc",
+                 "replace",
+                 "tevent",
+                 "pidl" ]
 
 if os.environ.get("AUTOBUILD_SKIP_SAMBA_O3", "0") == "1":
     defaulttasks.remove("samba-o3")
diff --git a/selftest/Subunit.pm b/selftest/Subunit.pm
index 1cc0e72..07f4b8f 100644
--- a/selftest/Subunit.pm
+++ b/selftest/Subunit.pm
@@ -16,6 +16,7 @@
 
 package Subunit;
 use POSIX;
+use Time::HiRes;
 
 require Exporter;
 @ISA = qw(Exporter);
@@ -43,10 +44,11 @@ sub end_test($$;$)
 	}
 }
 
-sub report_time($)
+sub report_time()
 {
 	my ($time) = @_;
-	my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime($time);
+	$time = Time::HiRes::time() unless (defined($time));
+	my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = gmtime($time);
 	$sec = ($time - int($time) + $sec);
 	my $msg = sprintf("%f", $sec);
 	if (substr($msg, 1, 1) eq ".") {
diff --git a/selftest/selftest.pl b/selftest/selftest.pl
index 42c1e62..995abd7 100755
--- a/selftest/selftest.pl
+++ b/selftest/selftest.pl
@@ -28,6 +28,7 @@ use lib "$RealBin";
 use Subunit;
 use SocketWrapper;
 use target::Samba;
+use Time::HiRes qw(time);
 
 eval {
 require Time::HiRes;
@@ -150,9 +151,9 @@ sub run_testsuite($$$$$)
 
 	Subunit::start_testsuite($name);
 	Subunit::progress_push();
-	Subunit::report_time(time());
+	Subunit::report_time();
 	system($cmd);
-	Subunit::report_time(time());
+	Subunit::report_time();
 	Subunit::progress_pop();
 
 	if ($? == -1) {
@@ -781,7 +782,7 @@ my $suitestotal = $#todo + 1;
 
 unless ($opt_list) {
 	Subunit::progress($suitestotal);
-	Subunit::report_time(time());
+	Subunit::report_time();
 }
 
 my $i = 0;
@@ -942,6 +943,19 @@ sub setup_env($$)
 
 	$option = "client" if $option eq "";
 
+	# Initially clear out the environment for the provision, so previous envs'
+	# variables don't leak in. Provisioning steps must explicitly set their
+	# necessary variables when calling out to other executables
+	foreach (@exported_envvars) {
+		unless ($_ == "NSS_WRAPPER_HOSTS" ||
+		        $_ == "RESOLV_WRAPPER_HOSTS")
+		{
+			delete $ENV{$_};
+		}
+	}
+	delete $ENV{SOCKET_WRAPPER_DEFAULT_IFACE};
+	delete $ENV{SMB_CONF_PATH};
+
 	$ENV{KRB5CCNAME} = "FILE:${selftest_krbt_ccache_path}.${envname}/ignore";
 
 	if (defined(get_running_env($envname))) {
diff --git a/selftest/target/Samba4.pm b/selftest/target/Samba4.pm
index 842cd1e..51a175b 100755
--- a/selftest/target/Samba4.pm
+++ b/selftest/target/Samba4.pm
@@ -215,14 +215,6 @@ sub wait_for_start($$)
 
 	# Ensure we have the first RID Set before we start tests.  This makes the tests more reliable.
 	if ($testenv_vars->{SERVER_ROLE} eq "domain controller") {
-		# Add hosts file for name lookups
-		$ENV{NSS_WRAPPER_HOSTS} = $testenv_vars->{NSS_WRAPPER_HOSTS};
-		if (defined($testenv_vars->{RESOLV_WRAPPER_CONF})) {
-			$ENV{RESOLV_WRAPPER_CONF} = $testenv_vars->{RESOLV_WRAPPER_CONF};
-		} else {
-			$ENV{RESOLV_WRAPPER_HOSTS} = $testenv_vars->{RESOLV_WRAPPER_HOSTS};
-		}
-
 		print "waiting for working LDAP and a RID Set to be allocated\n";
 		my $ldbsearch = Samba::bindir_path($self, "ldbsearch");
 		my $count = 0;
@@ -234,7 +226,21 @@ sub wait_for_start($$)
 			$search_dn = "cn=RID Set,cn=$testenv_vars->{NETBIOSNAME},ou=domain controllers,$base_dn";
 		}
 		my $max_wait = 60;
-		my $cmd = "$ldbsearch $testenv_vars->{CONFIGURATION} -H ldap://$testenv_vars->{SERVER} -U$testenv_vars->{USERNAME}%$testenv_vars->{PASSWORD} -s base -b \"$search_dn\"";
+
+		# Add hosts file for name lookups
+		my $cmd = "NSS_WRAPPER_HOSTS='$testenv_vars->{NSS_WRAPPER_HOSTS}' ";
+		if (defined($testenv_vars->{RESOLV_WRAPPER_CONF})) {
+			$cmd .= "RESOLV_WRAPPER_CONF='$testenv_vars->{RESOLV_WRAPPER_CONF}' ";
+		} else {
+			$cmd .= "RESOLV_WRAPPER_HOSTS='$testenv_vars->{RESOLV_WRAPPER_HOSTS}' ";
+		}
+
+		$cmd .= "$ldbsearch ";
+		$cmd .= "$testenv_vars->{CONFIGURATION} ";
+		$cmd .= "-H ldap://$testenv_vars->{SERVER} ";
+		$cmd .= "-U$testenv_vars->{USERNAME}%$testenv_vars->{PASSWORD} ";
+		$cmd .= "-s base ";
+		$cmd .= "-b '$search_dn' ";
 		while (system("$cmd >/dev/null") != 0) {
 			$count++;
 			if ($count > $max_wait) {
diff --git a/source3/libnet/libnet_join.c b/source3/libnet/libnet_join.c
index 5db2ca0..bbe604b 100644
--- a/source3/libnet/libnet_join.c
+++ b/source3/libnet/libnet_join.c
@@ -2665,9 +2665,10 @@ static WERROR libnet_DomainJoin(TALLOC_CTX *mem_ctx,
 		DEBUG(5, ("failed to precreate account in ou %s: %s",
 			r->in.account_ou, ads_errstr(ads_status)));
 	}
+ rpc_join:
+
 #endif /* HAVE_ADS */
 
- rpc_join:
 	if ((r->in.join_flags & WKSSVC_JOIN_FLAGS_JOIN_UNSECURE) &&
 	    (r->in.join_flags & WKSSVC_JOIN_FLAGS_MACHINE_PWD_PASSED)) {
 		status = libnet_join_joindomain_rpc_unsecure(mem_ctx, r, cli);
diff --git a/source3/libsmb/namequery_dc.c b/source3/libsmb/namequery_dc.c
index eb34741..d084565 100644
--- a/source3/libsmb/namequery_dc.c
+++ b/source3/libsmb/namequery_dc.c
@@ -32,7 +32,7 @@
  Is this our primary domain ?
 **********************************************************************/
 
-#ifdef HAVE_KRB5
+#ifdef HAVE_ADS
 static bool is_our_primary_domain(const char *domain)
 {
 	int role = lp_server_role();
diff --git a/source4/torture/rpc/witness.c b/source4/torture/rpc/witness.c
index 4b44e91..4e7c682 100644
--- a/source4/torture/rpc/witness.c
+++ b/source4/torture/rpc/witness.c
@@ -790,9 +790,9 @@ static void torture_subunit_report_time(struct torture_context *tctx)
 		return;
 	}
 
-	tmp = localtime(&tp.tv_sec);
+	tmp = gmtime(&tp.tv_sec);
 	if (!tmp) {
-		torture_comment(tctx, "failed to call localtime");
+		torture_comment(tctx, "failed to call gmtime");
 		return;
 	}
 


-- 
Samba Shared Repository



More information about the samba-cvs mailing list