[SCM] Samba Shared Repository - branch master updated

Günther Deschner gd at samba.org
Mon Jan 27 15:56:02 UTC 2020


The branch, master has been updated
       via  0ad6a243b25 lib:util: Log mkdir error on correct debug levels
       via  f9173c18a6a selftest: Convert Samba3::provision() to named parameters
       via  26da6f562bb selftest: Factor out create_file_chmod()
      from  b2c13d9a162 krb5-wrap: deal with different krb5_trace_info struct flavors (earlier MIT krb5 releases)

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


- Log -----------------------------------------------------------------
commit 0ad6a243b259d284064c0c5abcc7d430d55be7e1
Author: Andreas Schneider <asn at samba.org>
Date:   Mon Jan 27 14:58:10 2020 +0100

    lib:util: Log mkdir error on correct debug levels
    
    For smbd we want an error and for smbclient we only want it in NOTICE
    debug level.
    The default log level of smbclient is log level 1 so we need notice to
    not spam the user.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=14253
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>
    
    Autobuild-User(master): Günther Deschner <gd at samba.org>
    Autobuild-Date(master): Mon Jan 27 15:55:24 UTC 2020 on sn-devel-184

commit f9173c18a6acee12b0a0c20bf12af8d53947f8eb
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Jan 24 10:45:52 2020 +0100

    selftest: Convert Samba3::provision() to named parameters
    
    9 positional parameters is a bit too much for easy overview
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 26da6f562bba3ceea1fe5889e969bcef59346f4e
Author: Volker Lendecke <vl at samba.org>
Date:   Thu Jan 23 16:07:59 2020 +0100

    selftest: Factor out create_file_chmod()
    
    24 lines less perl :-)
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

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

Summary of changes:
 lib/util/util.c           |   7 +-
 selftest/target/Samba3.pm | 215 ++++++++++++++++++++++++----------------------
 2 files changed, 115 insertions(+), 107 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/util/util.c b/lib/util/util.c
index 3bdeded5c1b..0d9ffe5cb7b 100644
--- a/lib/util/util.c
+++ b/lib/util/util.c
@@ -353,9 +353,12 @@ _PUBLIC_ bool directory_create_or_exist(const char *dname,
 	old_umask = umask(0);
 	ret = mkdir(dname, dir_perms);
 	if (ret == -1 && errno != EEXIST) {
-		DBG_WARNING("mkdir failed on directory %s: %s\n",
+		int dbg_level = geteuid() == 0 ? DBGLVL_ERR : DBGLVL_NOTICE;
+
+		DBG_PREFIX(dbg_level,
+			   ("mkdir failed on directory %s: %s\n",
 			    dname,
-			    strerror(errno));
+			    strerror(errno)));
 		umask(old_umask);
 		return false;
 	}
diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm
index cdbbbdcef3d..991963b6074 100755
--- a/selftest/target/Samba3.pm
+++ b/selftest/target/Samba3.pm
@@ -219,10 +219,12 @@ sub setup_nt4_dc
 	check parent directory delete on close = yes
 ";
 
-	my $vars = $self->provision($path, "SAMBA-TEST",
-				    "LOCALNT4DC2",
-				    "localntdc2pass",
-				    $nt4_dc_options);
+	my $vars = $self->provision(
+	    prefix => $path,
+	    domain => "SAMBA-TEST",
+	    server => "LOCALNT4DC2",
+	    password => "localntdc2pass",
+	    extra_options => $nt4_dc_options);
 
 	$vars or return undef;
 
@@ -268,10 +270,12 @@ sub setup_nt4_dc_schannel
 	server max protocol = SMB2_02
 ";
 
-	my $vars = $self->provision($path, "NT4SCHANNEL",
-				    "LOCALNT4DC9",
-				    "localntdc9pass",
-				    $pdc_options);
+	my $vars = $self->provision(
+	    prefix => $path,
+	    domain => "NT4SCHANNEL",
+	    server => "LOCALNT4DC9",
+	    password => "localntdc9pass",
+	    extra_options => $pdc_options);
 
 	$vars or return undef;
 
@@ -306,10 +310,12 @@ sub setup_nt4_member
 	dbwrap_tdb_mutexes:* = yes
 	${require_mutexes}
 ";
-	my $ret = $self->provision($prefix, $nt4_dc_vars->{DOMAIN},
-				   "LOCALNT4MEMBER3",
-				   "localnt4member3pass",
-				   $member_options);
+	my $ret = $self->provision(
+	    prefix => $prefix,
+	    domain => $nt4_dc_vars->{DOMAIN},
+	    server => "LOCALNT4MEMBER3",
+	    password => "localnt4member3pass",
+	    extra_options => $member_options);
 
 	$ret or return undef;
 
@@ -429,12 +435,14 @@ sub setup_ad_member
 
 ";
 
-	my $ret = $self->provision($prefix, $dcvars->{DOMAIN},
-				   "LOCALADMEMBER",
-				   "loCalMemberPass",
-				   $member_options,
-				   $dcvars->{SERVER_IP},
-				   $dcvars->{SERVER_IPV6});
+	my $ret = $self->provision(
+	    prefix => $prefix,
+	    domain => $dcvars->{DOMAIN},
+	    server => "LOCALADMEMBER",
+	    password => "loCalMemberPass",
+	    extra_options => $member_options,
+	    dc_server_ip => $dcvars->{SERVER_IP},
+	    dc_server_ipv6 => $dcvars->{SERVER_IPV6});
 
 	$ret or return undef;
 
@@ -547,12 +555,14 @@ sub setup_ad_member_rfc2307
         password server = $dcvars->{SERVER}
 ";
 
-	my $ret = $self->provision($prefix, $dcvars->{DOMAIN},
-				   "RFC2307MEMBER",
-				   "loCalMemberPass",
-				   $member_options,
-				   $dcvars->{SERVER_IP},
-				   $dcvars->{SERVER_IPV6});
+	my $ret = $self->provision(
+	    prefix => $prefix,
+	    domain => $dcvars->{DOMAIN},
+	    server => "RFC2307MEMBER",
+	    password => "loCalMemberPass",
+	    extra_options => $member_options,
+	    dc_server_ip => $dcvars->{SERVER_IP},
+	    dc_server_ipv6 => $dcvars->{SERVER_IPV6});
 
 	$ret or return undef;
 
@@ -639,12 +649,14 @@ sub setup_ad_member_idmap_rid
         map to guest = bad user
 ";
 
-	my $ret = $self->provision($prefix, $dcvars->{DOMAIN},
-				   "IDMAPRIDMEMBER",
-				   "loCalMemberPass",
-				   $member_options,
-				   $dcvars->{SERVER_IP},
-				   $dcvars->{SERVER_IPV6});
+	my $ret = $self->provision(
+	    prefix => $prefix,
+	    domain => $dcvars->{DOMAIN},
+	    server => "IDMAPRIDMEMBER",
+	    password => "loCalMemberPass",
+	    extra_options => $member_options,
+	    dc_server_ip => $dcvars->{SERVER_IP},
+	    dc_server_ipv6 => $dcvars->{SERVER_IPV6});
 
 	$ret or return undef;
 
@@ -730,12 +742,14 @@ sub setup_ad_member_idmap_ad
 	idmap config $dcvars->{TRUST_DOMAIN} : range = 2000000-2999999
 ";
 
-	my $ret = $self->provision($prefix, $dcvars->{DOMAIN},
-				   "IDMAPADMEMBER",
-				   "loCalMemberPass",
-				   $member_options,
-				   $dcvars->{SERVER_IP},
-				   $dcvars->{SERVER_IPV6});
+	my $ret = $self->provision(
+	    prefix => $prefix,
+	    domain => $dcvars->{DOMAIN},
+	    server => "IDMAPADMEMBER",
+	    password => "loCalMemberPass",
+	    extra_options => $member_options,
+	    dc_server_ip => $dcvars->{SERVER_IP},
+	    dc_server_ipv6 => $dcvars->{SERVER_IPV6});
 
 	$ret or return undef;
 
@@ -891,10 +905,12 @@ sub setup_simpleserver
 	hide new files timeout = 5
 ";
 
-	my $vars = $self->provision($path, "WORKGROUP",
-				    "LOCALSHARE4",
-				    "local4pass",
-				    $simpleserver_options);
+	my $vars = $self->provision(
+	    prefix => $path,
+	    domain => "WORKGROUP",
+	    server => "LOCALSHARE4",
+	    password => "local4pass",
+	    extra_options => $simpleserver_options);
 
 	$vars or return undef;
 
@@ -905,6 +921,18 @@ sub setup_simpleserver
 	return $vars;
 }
 
+sub create_file_chmod($$)
+{
+    my ($name, $mode) = @_;
+    my $fh;
+
+    unless (open($fh, '>', $name)) {
+	warn("Unable to open $name");
+	return undef;
+    }
+    chmod($mode, $fh);
+}
+
 sub setup_fileserver
 {
 	my ($self, $path) = @_;
@@ -1045,13 +1073,13 @@ sub setup_fileserver
 	read only = No
 ";
 
-	my $vars = $self->provision($path, "WORKGROUP",
-				    "FILESERVER",
-				    "fileserver",
-				    $fileserver_options,
-				    undef,
-				    undef,
-				    1);
+	my $vars = $self->provision(
+	    prefix => $path,
+	    domain => "WORKGROUP",
+	    server => "FILESERVER",
+	    password => "fileserver",
+	    extra_options => $fileserver_options,
+	    no_delete_prefix => 1);
 
 	$vars or return undef;
 
@@ -1099,13 +1127,7 @@ sub setup_fileserver
 	##
 	## create a listable file in valid_users_share
 	##
-        my $valid_users_target = "$valid_users_sharedir/foo";
-        unless (open(VALID_USERS_TARGET, ">$valid_users_target")) {
-                warn("Unable to open $valid_users_target");
-                return undef;
-        }
-        close(VALID_USERS_TARGET);
-        chmod 0644, $valid_users_target;
+	create_file_chmod("$valid_users_sharedir/foo", 0644) or return undef;
 
 	return $vars;
 }
@@ -1135,10 +1157,12 @@ sub setup_ktest
         ntlm auth = disabled
 ";
 
-	my $ret = $self->provision($prefix, "KTEST",
-				   "LOCALKTEST6",
-				   "localktest6pass",
-				   $ktest_options);
+	my $ret = $self->provision(
+	    prefix => $prefix,
+	    domain => "KTEST",
+	    server => "LOCALKTEST6",
+	    password => "localktest6pass",
+	    extra_options => $ktest_options);
 
 	$ret or return undef;
 
@@ -1227,10 +1251,12 @@ map to guest = bad user
 ntlm auth = yes
 ";
 
-	my $vars = $self->provision($path, "WORKGROUP",
-				    "maptoguest",
-				    "maptoguestpass",
-				    $options);
+	my $vars = $self->provision(
+	    prefix => $path,
+	    domain => "WORKGROUP",
+	    server => "maptoguest",
+	    password => "maptoguestpass",
+	    extra_options => $options);
 
 	$vars or return undef;
 
@@ -1398,9 +1424,18 @@ sub createuser($$$$$)
 	}
 }
 
-sub provision($$$$$$$$$)
+sub provision($$)
 {
-	my ($self, $prefix, $domain, $server, $password, $extra_options, $dc_server_ip, $dc_server_ipv6, $no_delete_prefix) = @_;
+        my ($self, %args) = @_;
+
+	my $prefix = $args{prefix};
+	my $domain = $args{domain};
+	my $server = $args{server};
+	my $password = $args{password};
+	my $extra_options = $args{extra_options};
+	my $dc_server_ip = $args{dc_server_ip};
+	my $dc_server_ipv6 = $args{dc_server_ipv6};
+	my $no_delete_prefix= $args{no_delete_prefix};
 
 	##
 	## setup the various environment variables we need
@@ -1546,21 +1581,10 @@ sub provision($$$$$$$$$)
 	##
 
 	chmod 0755, $ro_shrdir;
-	my $unreadable_file = "$ro_shrdir/unreadable_file";
-	unless (open(UNREADABLE_FILE, ">$unreadable_file")) {
-	        warn("Unable to open $unreadable_file");
-		return undef;
-	}
-	close(UNREADABLE_FILE);
-	chmod 0600, $unreadable_file;
 
-	my $msdfs_target = "$ro_shrdir/msdfs-target";
-	unless (open(MSDFS_TARGET, ">$msdfs_target")) {
-	        warn("Unable to open $msdfs_target");
-		return undef;
-	}
-	close(MSDFS_TARGET);
-	chmod 0666, $msdfs_target;
+	create_file_chmod("$ro_shrdir/unreadable_file", 0600) or return undef;
+
+	create_file_chmod("$ro_shrdir/msdfs-target", 0600) or return undef;
 	symlink "msdfs:$server_ip\\ro-tmp,$server_ipv6\\ro-tmp",
 		"$msdfs_shrdir/msdfs-src1";
 	symlink "msdfs:$server_ipv6\\ro-tmp", "$msdfs_shrdir/deeppath/msdfs-src2";
@@ -1569,31 +1593,16 @@ sub provision($$$$$$$$$)
 	## create bad names in $badnames_shrdir
 	##
 	## (An invalid name, would be mangled to 8.3).
-        my $badname_target = "$badnames_shrdir/\340|\231\216\377\177";
-        unless (open(BADNAME_TARGET, ">$badname_target")) {
-                warn("Unable to open $badname_target");
-                return undef;
-        }
-        close(BADNAME_TARGET);
-        chmod 0666, $badname_target;
+	create_file_chmod("$badnames_shrdir/\340|\231\216\377\177",
+			  0600) or return undef;
 
 	## (A bad name, would not be mangled to 8.3).
-        my $badname_target = "$badnames_shrdir/\240\276\346\327\377\177";
-        unless (open(BADNAME_TARGET, ">$badname_target")) {
-                warn("Unable to open $badname_target");
-                return undef;
-        }
-        close(BADNAME_TARGET);
-        chmod 0666, $badname_target;
+	create_file_chmod("$badnames_shrdir/\240\276\346\327\377\177",
+			  0666) or return undef;
 
 	## (A bad good name).
-        my $badname_target = "$badnames_shrdir/blank.txt";
-        unless (open(BADNAME_TARGET, ">$badname_target")) {
-                warn("Unable to open $badname_target");
-                return undef;
-        }
-        close(BADNAME_TARGET);
-        chmod 0666, $badname_target;
+	create_file_chmod("$badnames_shrdir/blank.txt",
+			  0666) or return undef;
 
 	##
 	## create mangleable directory names in $manglenames_shrdir
@@ -1605,12 +1614,8 @@ sub provision($$$$$$$$$)
 	## create symlinks for widelinks tests.
 	##
 	my $widelinks_target = "$widelinks_linkdir/target";
-	unless (open(WIDELINKS_TARGET, ">$widelinks_target")) {
-		warn("Unable to open $widelinks_target");
-		return undef;
-	}
-	close(WIDELINKS_TARGET);
-	chmod 0666, $widelinks_target;
+	create_file_chmod("$widelinks_target", 0666) or return undef;
+
 	##
 	## This link should get ACCESS_DENIED
 	##


-- 
Samba Shared Repository



More information about the samba-cvs mailing list