[SCM] Samba Shared Repository - branch master updated

Jeremy Allison jra at samba.org
Tue Dec 1 20:30:13 UTC 2020


The branch, master has been updated
       via  936f74daed0 vfs_zfsacl: add missing inherited flag on hidden "magic" everyone@ ACE
       via  a8457ac3c80 vfs_zfsacl: reformatting
       via  89e2d68bb4d selftest: Remove samba3.blackbox.smbclient_tar from flapping tests
       via  20e0ce50884 clitar: Use do_list()'s recursion in clitar.c
       via  16ffa17ee28 s3/script/tests: Ensure all remote test files are removed
       via  6c7dc4959fd s3/script/tests: call smbclient deltree to remove remote files
       via  363bfa4e1ca s3/script/tests: Make smb_client 'die' behaviour configurable
       via  99ffa4a9828 s3/script/tests: Remove make_path (for remote dir)
       via  6f246658cf0 selftest: make samba3.blackbox.smbclient_tar runnable (even manually)
       via  4bb3bffa4b7 s3/script/tests: Fix samba3.blackbox.smbclient_tarmode cleanup
       via  fec1f8faffd s3/script: Use smbclient deltree to clean up smbclient_tarmode subdir
       via  be8dca68f89 s3/script/tests: Use tarmode share for samba3.blackbox.smbclient_tar*
       via  6cb0a00f4ab s3/script/test: Use different testdir for samba3.blackbox.smbclient_tarmode
       via  a250f733669 selftest: Add a new tarmode shares
       via  4f5a7f11b77 s3/script/tests: Fix 'Unrecognized option(s) passed to mkpath()' error
      from  b09f0bb4d40 test: Fix the FreeBSD build

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


- Log -----------------------------------------------------------------
commit 936f74daed0d6221312f651f35c4ed357bbf1414
Author: Ralph Boehme <slow at samba.org>
Date:   Mon Nov 30 12:28:58 2020 +0100

    vfs_zfsacl: add missing inherited flag on hidden "magic" everyone@ ACE
    
    This was an omission in the fixes for bug 14470.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=14587
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    
    Autobuild-User(master): Jeremy Allison <jra at samba.org>
    Autobuild-Date(master): Tue Dec  1 20:29:34 UTC 2020 on sn-devel-184

commit a8457ac3c80e22588e33a343c2306b702734ca88
Author: Ralph Boehme <slow at samba.org>
Date:   Mon Nov 30 12:28:00 2020 +0100

    vfs_zfsacl: reformatting
    
    No change in behaviour.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=14587
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 89e2d68bb4d93dc391af97f35ff1148aec7930b0
Author: Noel Power <noel.power at suse.com>
Date:   Mon Nov 30 09:21:50 2020 +0000

    selftest: Remove samba3.blackbox.smbclient_tar from flapping tests
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=14581
    
    Signed-off-by: Noel Power <noel.power at suse.com>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 20e0ce508844fec2dd0011423b10484dc7ccfdb7
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Dec 1 08:58:14 2020 +0100

    clitar: Use do_list()'s recursion in clitar.c
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=14581
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Aurelien Aptel <aaptel at samba.org>
    Reviewed-by: Noel Power <noel.power at suse.com>

commit 16ffa17ee28edfc3bc70c66abf41b5518aeab8fe
Author: Jeremy Allison <jra at samba.org>
Date:   Mon Nov 30 17:19:29 2020 +0000

    s3/script/tests: Ensure all remote test files are removed
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=14581
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Noel Power <noel.power at suse.com>

commit 6c7dc4959fd5de4382aee413b4cc711cc6f281f4
Author: Noel Power <noel.power at suse.com>
Date:   Mon Nov 30 10:41:57 2020 +0000

    s3/script/tests: call smbclient deltree to remove remote files
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=14581
    
    Signed-off-by: Noel Power <noel.power at suse.com>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 363bfa4e1ca10e64057a6d04d6faff7c788db89d
Author: Noel Power <noel.power at suse.com>
Date:   Mon Nov 30 10:18:32 2020 +0000

    s3/script/tests: Make smb_client 'die' behaviour configurable
    
    smb_client behaviour is to die if there is an error. This is
    a little heavy handed and make it impossible for example to
    use smb_client to run a command that might fail (where such
    a failure isn't really an error) E.G. Calling deltree and
    the directory doesn't exist
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=14581
    
    Signed-off-by: Noel Power <noel.power at suse.com>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 99ffa4a98287f125e45690e87b32616f4d4254e4
Author: Noel Power <noel.power at suse.com>
Date:   Mon Nov 30 09:59:58 2020 +0000

    s3/script/tests: Remove make_path (for remote dir)
    
    LOCALPATH is actually the local path to the share, we should
    not need to create the share path (it should already exist)
    
    Note: When we remove the tree located at LOCALPATH we keep the root
          so the share path should always be there
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=14581
    
    Signed-off-by: Noel Power <noel.power at suse.com>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 6f246658cf003f7e2f393f7b7490d9e8ae84e21c
Author: Noel Power <noel.power at suse.com>
Date:   Mon Nov 30 11:15:06 2020 +0000

    selftest: make samba3.blackbox.smbclient_tar runnable (even manually)
    
    samba3.blackbox.smbclient_tar is marked as flapping so it
    seems we have missed that it has stopped working. The local path
    passed to script/tests/test_smbclient_tarmode.pl must point to a
    valid share
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=14581
    
    Signed-off-by: Noel Power <noel.power at suse.com>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 4bb3bffa4b7a770d36138c45f717a9048ef82cff
Author: Noel Power <noel.power at suse.com>
Date:   Mon Nov 30 17:39:25 2020 +0000

    s3/script/tests: Fix samba3.blackbox.smbclient_tarmode cleanup
    
    Make sure samba3.blackbox.smbclient_tarmode removes data files
    not just before running the test but also after
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=14581
    
    Signed-off-by: Noel Power <noel.power at suse.com>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit fec1f8faffd9eb1aae77e7c515e57897be34a255
Author: Noel Power <noel.power at suse.com>
Date:   Fri Nov 27 15:52:27 2020 +0000

    s3/script: Use smbclient deltree to clean up smbclient_tarmode subdir
    
    Replace rm -rf of local dir (that is hosted remotely)
    with smbclient deltree
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=14581
    
    Signed-off-by: Noel Power <noel.power at suse.com>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit be8dca68f89f110ef5947e0c2a7258554772cf9a
Author: Noel Power <noel.power at suse.com>
Date:   Fri Nov 27 15:33:26 2020 +0000

    s3/script/tests: Use tarmode share for samba3.blackbox.smbclient_tar*
    
    After this change both samba3.blackbox.smbclient_tar &
    samba3.blackbox.smbclient_tarmode now use the same dedicated share
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=14581
    
    Signed-off-by: Noel Power <noel.power at suse.com>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 6cb0a00f4ab4bc1a8193d50cc076ec7174a5ece9
Author: Noel Power <noel.power at suse.com>
Date:   Fri Nov 27 15:25:21 2020 +0000

    s3/script/test: Use different testdir for samba3.blackbox.smbclient_tarmode
    
    The other tarmode torture test samba3.blackbox.smbclient_tar now uses a share
    'tarmode' which uses the same source path as samba3.blackbox.smbclient_tarmode
    
    Avoid conflicting paths and use a new subdir (of the test share) called
    'smbclient_tarmode'
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=14581
    
    Signed-off-by: Noel Power <noel.power at suse.com>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit a250f73366983d2a7397608a611f295f10dbb548
Author: Noel Power <noel.power at suse.com>
Date:   Thu Nov 26 17:31:50 2020 +0000

    selftest: Add a new tarmode shares
    
    samba3.blackbox.smbclient_tar & samba3.blackbox.smbclient_tar
    need separate shares with own xattr tdb(s)
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=14581
    
    Signed-off-by: Noel Power <noel.power at suse.com>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 4f5a7f11b7732c3efb511e68f6b9d434d59bb3e8
Author: Noel Power <noel.power at suse.com>
Date:   Fri Nov 27 12:01:49 2020 +0000

    s3/script/tests: Fix 'Unrecognized option(s) passed to mkpath()' error
    
    'keep_root' is an unrecognised option for make_path/mkpath
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=14581
    
    Signed-off-by: Noel Power <noel.power at suse.com>
    Reviewed-by: Jeremy Allison <jra at samba.org>

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

Summary of changes:
 selftest/flapping                              |  1 -
 selftest/target/Samba3.pm                      | 11 +++++
 source3/client/clitar.c                        | 41 ++++-------------
 source3/modules/vfs_zfsacl.c                   |  6 ++-
 source3/script/tests/test_smbclient_tarmode.pl | 62 ++++++++++++++++++++++----
 source3/script/tests/test_smbclient_tarmode.sh | 29 ++++++++----
 source3/selftest/tests.py                      | 12 ++---
 7 files changed, 102 insertions(+), 60 deletions(-)


Changeset truncated at 500 lines:

diff --git a/selftest/flapping b/selftest/flapping
index c9f0adbf1bd..8c3f9e8969a 100644
--- a/selftest/flapping
+++ b/selftest/flapping
@@ -31,6 +31,5 @@
 # This test just is not reliable in finding the max search limit
 #
 ^samba4.ldap.notification.python\(.*\).__main__.LDAPNotificationTest.test_max_search
-^samba3.blackbox.smbclient_tar.* # fails very, very often on sn-devel
 ^samba3.blackbox.smbclient_s3.*.sending a message to the remote server # flakey on sn-devel-104 and sn-devel-144
 ^samba3.blackbox.smbclient_s3.*.creating a good symlink and deleting it by path # flakey on sn-devel-104 and sn-devel-144
diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm
index 5623e2a149f..8b1d809c941 100755
--- a/selftest/target/Samba3.pm
+++ b/selftest/target/Samba3.pm
@@ -1369,6 +1369,9 @@ sub setup_fileserver
 	my $tarmode_sharedir="$share_dir/tarmode";
 	push(@dirs,$tarmode_sharedir);
 
+	my $tarmode2_sharedir="$share_dir/tarmode2";
+	push(@dirs,$tarmode2_sharedir);
+
 	my $smbcacls_sharedir="$share_dir/smbcacls";
 	push(@dirs,$smbcacls_sharedir);
 
@@ -1397,6 +1400,14 @@ sub setup_fileserver
 
 	get quota command = $prefix_abs/getset_quota.py
 	set quota command = $prefix_abs/getset_quota.py
+[tarmode]
+	path = $tarmode_sharedir
+	comment = tar test share
+	xattr_tdb:file = $prefix_abs/tarmode-xattr.tdb
+[tarmode2]
+	path = $tarmode2_sharedir
+	comment = tar test share
+	xattr_tdb:file = $prefix_abs/tarmode2-xattr.tdb
 [spotlight]
 	path = $share_dir
 	spotlight = yes
diff --git a/source3/client/clitar.c b/source3/client/clitar.c
index 3fe3622aba6..4fd1f3c47d9 100644
--- a/source3/client/clitar.c
+++ b/source3/client/clitar.c
@@ -711,7 +711,7 @@ static int tar_create(struct tar* t)
 			goto out_close;
 		}
 		DBG(5, ("tar_process do_list with mask: %s\n", mask));
-		status = do_list(mask, TAR_DO_LIST_ATTR, get_file_callback, false, true);
+		status = do_list(mask, TAR_DO_LIST_ATTR, get_file_callback, true, true);
 		if (!NT_STATUS_IS_OK(status)) {
 			DBG(0, ("do_list fail %s\n", nt_errstr(status)));
 			err = 1;
@@ -806,7 +806,7 @@ static int tar_create_from_list(struct tar *t)
 			DBG(5, ("cd '%s' before do_list\n", base));
 			client_set_cur_dir(base);
 		}
-		status = do_list(mask, TAR_DO_LIST_ATTR, get_file_callback, false, true);
+		status = do_list(mask, TAR_DO_LIST_ATTR, get_file_callback, true, true);
 		if (base != NULL) {
 			client_set_cur_dir(start_dir);
 		}
@@ -837,7 +837,7 @@ static NTSTATUS get_file_callback(struct cli_state *cli,
 	char *remote_name;
 	char *old_dir = NULL;
 	char *new_dir = NULL;
-	const char *initial_dir = client_get_cur_dir();
+	const char *initial_dir = dir;
 	bool skip = false;
 	bool isdir;
 	int rc;
@@ -846,7 +846,7 @@ static NTSTATUS get_file_callback(struct cli_state *cli,
 		return NT_STATUS_NO_MEMORY;
 	}
 
-	remote_name = talloc_asprintf(ctx, "%s%s", initial_dir, finfo->name);
+	remote_name = talloc_asprintf(ctx, "%s\\%s", initial_dir, finfo->name);
 	if (remote_name == NULL) {
 		status = NT_STATUS_NO_MEMORY;
 		goto out;
@@ -884,35 +884,10 @@ static NTSTATUS get_file_callback(struct cli_state *cli,
 		goto out;
 	}
 
-	if (isdir) {
-		char *mask;
-		mask = talloc_asprintf(ctx, "%s*", new_dir);
-		if (mask == NULL) {
-			status = NT_STATUS_NO_MEMORY;
-			goto out;
-		}
-		mask = client_clean_name(ctx, mask);
-		if (mask == NULL) {
-			status = NT_STATUS_NO_MEMORY;
-			goto out;
-		}
-
-		rc = tar_get_file(&tar_ctx, remote_name, finfo);
-		if (rc != 0) {
-			status = NT_STATUS_UNSUCCESSFUL;
-			goto out;
-		}
-
-		client_set_cur_dir(new_dir);
-		do_list(mask, TAR_DO_LIST_ATTR, get_file_callback, false, true);
-		client_set_cur_dir(old_dir);
-		tar_ctx.numdir++;
-	} else {
-		rc = tar_get_file(&tar_ctx, remote_name, finfo);
-		if (rc != 0) {
-			status = NT_STATUS_UNSUCCESSFUL;
-			goto out;
-		}
+	rc = tar_get_file(&tar_ctx, remote_name, finfo);
+	if (rc != 0) {
+		status = NT_STATUS_UNSUCCESSFUL;
+		goto out;
 	}
 
 out:
diff --git a/source3/modules/vfs_zfsacl.c b/source3/modules/vfs_zfsacl.c
index 093eb5111e1..fba7253bbef 100644
--- a/source3/modules/vfs_zfsacl.c
+++ b/source3/modules/vfs_zfsacl.c
@@ -219,8 +219,10 @@ static bool zfs_process_smbacl(vfs_handle_struct *handle, files_struct *fsp,
 	}
 	if (must_add_empty_ace) {
 		acebuf[i].a_type = SMB_ACE4_ACCESS_ALLOWED_ACE_TYPE;
-		acebuf[i].a_flags = SMB_ACE4_DIRECTORY_INHERIT_ACE| \
-				    SMB_ACE4_FILE_INHERIT_ACE|ACE_EVERYONE;
+		acebuf[i].a_flags = SMB_ACE4_DIRECTORY_INHERIT_ACE |
+			SMB_ACE4_FILE_INHERIT_ACE |
+			ACE_EVERYONE |
+			ACE_INHERITED_ACE;
 		acebuf[i].a_access_mask = 0;
 		i++;
 	}
diff --git a/source3/script/tests/test_smbclient_tarmode.pl b/source3/script/tests/test_smbclient_tarmode.pl
index 877eec45cc8..bdbbd1a44a8 100755
--- a/source3/script/tests/test_smbclient_tarmode.pl
+++ b/source3/script/tests/test_smbclient_tarmode.pl
@@ -1,5 +1,4 @@
 #!/usr/bin/perl
-
 # Unix SMB/CIFS implementation.
 # Test suite for the tar backup mode of smbclient.
 # Copyright (C) Aurélien Aptel 2013
@@ -304,6 +303,8 @@ sub test_creation_attr {
     @inc = grep { $_->attr('a') && !$_->attr_any('h', 's') } @all;
     smb_tar('tarmode inc nohidden nosystem', '-Tc', $TAR, $DIR);
     $err += check_tar($TAR, \@inc);
+    # adjust attr so remote files can be deleted with deltree
+    File::walk(sub { $_->set_attr(qw/n r s h/) }, File::tree($DIR));
 
     $err;
 }
@@ -399,7 +400,10 @@ sub test_creation_incremental {
     } else {
         smb_tar('', '-Tcg', $TAR, $DIR);
     }
-    return check_tar($TAR, \@files);
+    my $res = check_tar($TAR, \@files);
+    # adjust attr so remote files can be deleted with deltree
+    File::walk(sub { $_->set_attr(qw/n r s h/) }, File::tree($DIR));
+    return $res
 }
 
 
@@ -917,8 +921,22 @@ Remove all files in the server C<$DIR> (not root)
 sub reset_remote {
     # remove_tree($LOCALPATH . '/'. $DIR);
     # make_path($LOCALPATH . '/'. $DIR);
-    remove_tree($LOCALPATH, {keep_root => 1});
-    make_path($LOCALPATH, {keep_root => 1});
+    my $DIR;
+    my @names;
+    my $name;
+
+    smb_client_cmd(0, '-c', "deltree ./*");
+
+    # Ensure all files are gone.
+
+    opendir(DIR,$LOCALPATH) or die "Can't open $LOCALPATH\n";
+    @names = readdir(DIR) or die "Unable to read $LOCALPATH\n";
+    closedir(DIR);
+    foreach $name (@names) {
+	next if ($name eq ".");   # skip the current directory entry
+	next if ($name eq "..");  # skip the parent  directory entry
+	die "$LOCALPATH not empty\n";
+    }
 }
 
 =head3 C<reset_tmp( )>
@@ -1120,7 +1138,9 @@ sub check_tar {
     return (@more + @less + @diff); # nb of errors
 }
 
-=head3 C<smb_client ( @args )>
+=head3 C<smb_client_cmd( $will_die, @args)>
+
+=head3 C<smb_client_cmd( 0, '-c', 'deltree', $somedir )>
 
 Run smbclient with C<@args> passed as argument and return output.
 
@@ -1131,11 +1151,12 @@ the command-line are already inserted.
 
 The output contains both the C<STDOUT> and C<STDERR>.
 
-Die if smbclient crashes or exits with an error code.
+if C<$will_die> then Die if smbclient crashes or exits with an error code.
+otherwise return output
 
 =cut
-sub smb_client {
-    my (@args) = @_;
+sub smb_client_cmd {
+    my ($will_die, @args) = @_;
 
     my $fullpath = "//$HOST/$SHARE";
     my $cmd = sprintf("%s %s %s",
@@ -1168,11 +1189,34 @@ sub smb_client {
     }
 
     if ($err) {
-        die "ERROR: $errstr";
+	if ($will_die) {
+		die "ERROR: $errstr";
+	} else {
+		say "ERROR: $errstr";
+	}
     }
     return $out;
 }
 
+=head3 C<smb_client ( @args )>
+
+Run smbclient with C<@args> passed as argument and return output.
+
+Each element of C<@args> becomes one escaped argument of smbclient.
+
+Host, share, user, password and the additionnal arguments provided on
+the command-line are already inserted.
+
+The output contains both the C<STDOUT> and C<STDERR>.
+
+Die if smbclient crashes or exits with an error code.
+
+=cut
+sub smb_client {
+    my (@args) = @_;
+    return smb_client_cmd(1, @args)
+}
+
 sub smb_cmd {
     return smb_client('-c', join(' ', @_));
 }
diff --git a/source3/script/tests/test_smbclient_tarmode.sh b/source3/script/tests/test_smbclient_tarmode.sh
index 3779c38a5ca..8bc5b9947cf 100755
--- a/source3/script/tests/test_smbclient_tarmode.sh
+++ b/source3/script/tests/test_smbclient_tarmode.sh
@@ -94,7 +94,7 @@ test_tarmode_creation() {
 	# Clear temp data
 	rm -rf -- "$PREFIX"/tarmode > /dev/null 2>&1
 	rm -f "$PREFIX"/tarmode.tar > /dev/null 2>&1
-	rm -rf "$LOCAL_PATH" > /dev/null 2>&1
+	$SMBCLIENT //$SERVER/tarmode $CONFIGURATION -U$USERNAME%$PASSWORD -c "deltree smbclient_tar"
 
 	# Build the test data
 	if ! create_test_data "$LOCAL_PATH"; then
@@ -104,14 +104,15 @@ test_tarmode_creation() {
 	fi
 
 	# Create tarfile with smbclient
-	if ! $SMBCLIENT //$SERVER/tmp $CONFIGURATION -U$USERNAME%$PASSWORD -I $SERVER_IP -p 139 \
-			$ADDARGS -c "tarmode full" -Tc "$PREFIX/tarmode.tar" "/tarmode"; then
+	if ! $SMBCLIENT //$SERVER/tarmode $CONFIGURATION -U$USERNAME%$PASSWORD -I $SERVER_IP -p 139 \
+			$ADDARGS -c "tarmode full" -Tc "$PREFIX/tarmode.tar" "/smbclient_tar"; then
 		echo "Couldn't create tar file with tarmode -Tc"
 		false
 		return
 	fi
 
-	# Extract data to verify
+	# Extract data to verify - this puts it into $PREFIX/smbclient_tar/
+	# but we must leave it there as it's used to verify in test_tarmode_extraction()
 	if ! tar -xf "$PREFIX/tarmode.tar" -C "$PREFIX"; then
 		echo "Couldn't extract data from created tarfile"
 		false
@@ -119,12 +120,16 @@ test_tarmode_creation() {
 	fi
 
 	# Verify data
-	if ! validate_data "$PREFIX/tarmode" "$LOCAL_PATH"; then
+	if ! validate_data "$PREFIX/smbclient_tar" "$LOCAL_PATH"; then
 		echo "Data not equivalent"
 		false
 		return
 	fi
 
+	# Clear temp data
+	rm -rf -- "$PREFIX"/tarmode > /dev/null 2>&1
+	rm -f "$PREFIX"/tarmode.tar > /dev/null 2>&1
+	$SMBCLIENT //$SERVER/tarmode $CONFIGURATION -U$USERNAME%$PASSWORD -c "deltree smbclient_tar"
 	true
 	return
 
@@ -136,7 +141,7 @@ test_tarmode_extraction() {
 	# Clear temp data
 	rm -rf -- "$PREFIX"/tarmode > /dev/null 2>&1
 	rm -f "$PREFIX"/tarmode.tar > /dev/null 2>&1
-	rm -rf "$LOCAL_PATH" > /dev/null 2>&1
+	$SMBCLIENT //$SERVER/tarmode $CONFIGURATION -U$USERNAME%$PASSWORD -c "deltree smbclient_tar"
 
 	# Build the test data
 	if ! create_test_data "$PREFIX/tarmode"; then
@@ -146,14 +151,14 @@ test_tarmode_extraction() {
 	fi
 
 	# Create tarfile to extract on client
-	if ! tar -cf "$PREFIX/tarmode.tar" -C "$PREFIX" tarmode; then
+	if ! tar -cf "$PREFIX/tarmode.tar" -C "$PREFIX" smbclient_tar; then
 		echo "Couldn't create tar archive"
 		false
 		return
 	fi
 
 	# Extract tarfile with smbclient
-	if ! $SMBCLIENT //$SERVER/tmp $CONFIGURATION -U$USERNAME%$PASSWORD -I $SERVER_IP -p 139 \
+	if ! $SMBCLIENT //$SERVER/tarmode $CONFIGURATION -U$USERNAME%$PASSWORD -I $SERVER_IP -p 139 \
 			$ADDARGS -c "tarmode full" -Tx "$PREFIX/tarmode.tar"; then
 		echo "Couldn't extact tar file with tarmode -Tx"
 		false
@@ -161,12 +166,18 @@ test_tarmode_extraction() {
 	fi
 
 	# Verify data
-	if ! validate_data "$PREFIX/tarmode" "$LOCAL_PATH"; then
+	if ! validate_data "$PREFIX/smbclient_tar" "$LOCAL_PATH"; then
 		echo "Data not equivalent"
 		false
 		return
 	fi
 
+	# Clear temp data
+	rm -rf -- "$PREFIX"/tarmode > /dev/null 2>&1
+	rm -f "$PREFIX"/tarmode.tar > /dev/null 2>&1
+	$SMBCLIENT //$SERVER/tarmode $CONFIGURATION -U$USERNAME%$PASSWORD -c "deltree smbclient_tar"
+	# Cleanup the verification data created by test_tarmode_creation().
+	rm -rf "$PREFIX"/smbclient_tar > /dev/null 2>&1
 	true
 	return
 
diff --git a/source3/selftest/tests.py b/source3/selftest/tests.py
index 349be8cd7da..9b13ceaa4ab 100755
--- a/source3/selftest/tests.py
+++ b/source3/selftest/tests.py
@@ -484,23 +484,23 @@ for env in ["fileserver"]:
     plantestsuite("samba3.blackbox.smbclient_tarmode.NT1", env + "_smb1_done",
                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
                    '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
-                   '$LOCAL_PATH/tarmode', '$PREFIX', smbclient3, configuration, "-mNT1"])
+                   '$LOCAL_PATH/tarmode/smbclient_tar', '$PREFIX', smbclient3, configuration, "-mNT1"])
     plantestsuite("samba3.blackbox.smbclient_tarmode.SMB3", env,
                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
                    '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
-                   '$LOCAL_PATH/tarmode', '$PREFIX', smbclient3, configuration, "-mSMB3"])
+                   '$LOCAL_PATH/tarmode/smbclient_tar', '$PREFIX', smbclient3, configuration, "-mSMB3"])
 
     # Test suite for new smbclient/tar with libarchive (GSoC 13)
     plantestsuite("samba3.blackbox.smbclient_tar.NT1", env + "_smb1_done",
                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
-                   '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tmp',
-                   '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode',
+                   '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tarmode2',
+                   '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode2',
                    '-d', '$PREFIX', '-b', smbclient3,
                    '--subunit', '--', configuration, '-mNT1'])
     plantestsuite("samba3.blackbox.smbclient_tar.SMB3", env,
                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
-                   '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tmp',
-                   '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode',
+                   '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tarmode2',
+                   '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode2',
                    '-d', '$PREFIX', '-b', smbclient3,
                    '--subunit', '--', configuration, '-mSMB3'])
 


-- 
Samba Shared Repository



More information about the samba-cvs mailing list