From 84ffa9a68900909b195265784f40220434077a17 Mon Sep 17 00:00:00 2001 From: Uri Simchoni Date: Thu, 11 Aug 2016 23:54:22 +0300 Subject: selftest: add tests for dfree with inherit owner enabled BUG: https://bugzilla.samba.org/show_bug.cgi?id=12145 Signed-off-by: Uri Simchoni Reviewed-by: Jeremy Allison (cherry picked from commit b6931d5edc381d64ba0fbcd85538cd65e90a2560) --- selftest/target/Samba3.pm | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'selftest') diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm index e8f35e36575..27036b5ac74 100755 --- a/selftest/target/Samba3.pm +++ b/selftest/target/Samba3.pm @@ -614,6 +614,7 @@ sub setup_fileserver($$) push(@dirs, $dfree_share_dir); push(@dirs, "$dfree_share_dir/subdir1"); push(@dirs, "$dfree_share_dir/subdir2"); + push(@dirs, "$dfree_share_dir/subdir3"); my $valid_users_sharedir="$share_dir/valid_users"; push(@dirs,$valid_users_sharedir); @@ -1105,7 +1106,6 @@ sub createuser($$$$) warn("Unable to set password for $username account\n$cmd"); return undef; } - print "DONE\n"; } sub provision($$$$$$$$) @@ -1335,8 +1335,10 @@ sub provision($$$$$$$$) my ($gid_nobody, $gid_nogroup, $gid_root, $gid_domusers, $gid_domadmins); my ($gid_userdup, $gid_everyone); my ($gid_force_user); + my ($uid_user1); + my ($uid_user2); - if ($unix_uid < 0xffff - 7) { + if ($unix_uid < 0xffff - 10) { $max_uid = 0xffff; } else { $max_uid = $unix_uid; @@ -1350,6 +1352,8 @@ sub provision($$$$$$$$) $uid_pdbtest_wkn = $max_uid - 6; $uid_force_user = $max_uid - 7; $uid_smbget = $max_uid - 8; + $uid_user1 = $max_uid - 9; + $uid_user2 = $max_uid - 10; if ($unix_gids[0] < 0xffff - 8) { $max_gid = 0xffff; @@ -1771,9 +1775,14 @@ sub provision($$$$$$$$) wide links = yes [dfq] path = $shrdir/dfree - vfs objects = fake_dfq + vfs objects = acl_xattr fake_acls xattr_tdb fake_dfq admin users = $unix_name include = $dfqconffile +[dfq_owner] + path = $shrdir/dfree + vfs objects = acl_xattr fake_acls xattr_tdb fake_dfq + inherit owner = yes + include = $dfqconffile "; close(CONF); @@ -1799,6 +1808,8 @@ userdup:x:$uid_userdup:$gid_userdup:userdup gecos:$prefix_abs:/bin/false pdbtest_wkn:x:$uid_pdbtest_wkn:$gid_everyone:pdbtest_wkn gecos:$prefix_abs:/bin/false force_user:x:$uid_force_user:$gid_force_user:force user gecos:$prefix_abs:/bin/false smbget_user:x:$uid_smbget:$gid_domusers:smbget_user gecos:$prefix_abs:/bin/false +user1:x:$uid_user1:$gid_nogroup:user1 gecos:$prefix_abs:/bin/false +user2:x:$uid_user2:$gid_nogroup:user2 gecos:$prefix_abs:/bin/false "; if ($unix_uid != 0) { print PASSWD "root:x:$uid_root:$gid_root:root gecos:$prefix_abs:/bin/false @@ -1873,12 +1884,16 @@ force_user:x:$gid_force_user: createuser($self, $unix_name, $password, $conffile) || die("Unable to create user"); createuser($self, "force_user", $password, $conffile) || die("Unable to create force_user"); createuser($self, "smbget_user", $password, $conffile) || die("Unable to create smbget_user"); + createuser($self, "user1", $password, $conffile) || die("Unable to create user1"); + createuser($self, "user2", $password, $conffile) || die("Unable to create user2"); open(DNS_UPDATE_LIST, ">$prefix/dns_update_list") or die("Unable to open $$prefix/dns_update_list"); print DNS_UPDATE_LIST "A $server. $server_ip\n"; print DNS_UPDATE_LIST "AAAA $server. $server_ipv6\n"; close(DNS_UPDATE_LIST); + print "DONE\n"; + $ret{SERVER_IP} = $server_ip; $ret{SERVER_IPV6} = $server_ipv6; $ret{NMBD_TEST_LOG} = "$prefix/nmbd_test.log"; -- cgit v1.2.1