selftest: run smbcacls test against a share with a DFS link
[samba.git] / selftest / target / Samba3.pm
index 1f2f28714f45d0a35ac8debb5ba309e2547a6655..2e2f74efb79764d787b5558b8ba88eee734b30a9 100755 (executable)
@@ -237,6 +237,7 @@ sub check_env($$)
        ad_member_rfc2307   => ["ad_dc_ntvfs"],
        ad_member_idmap_rid => ["ad_dc"],
        ad_member_idmap_ad  => ["fl2008r2dc"],
+       ad_member_fips      => ["ad_dc_fips"],
 
        clusteredmember_smb1 => ["nt4_dc"],
 );
@@ -1137,6 +1138,28 @@ sub setup_ad_member_idmap_ad
        return $ret;
 }
 
+sub setup_ad_member_fips
+{
+       my ($self,
+           $prefix,
+           $dcvars,
+           $trustvars_f,
+           $trustvars_e) = @_;
+
+       # If we didn't build with ADS, pretend this env was never available
+       if (not $self->have_ads()) {
+               return "UNKNOWN";
+       }
+
+       print "PROVISIONING AD FIPS MEMBER...";
+
+       return $self->provision_ad_member($prefix,
+                                         $dcvars,
+                                         $trustvars_f,
+                                         $trustvars_e,
+                                         1);
+}
+
 sub setup_simpleserver
 {
        my ($self, $path) = @_;
@@ -1306,6 +1329,9 @@ sub setup_fileserver
        my $tarmode_sharedir="$share_dir/tarmode";
        push(@dirs,$tarmode_sharedir);
 
+       my $smbcacls_sharedir="$share_dir/smbcacls";
+       push(@dirs,$smbcacls_sharedir);
+
        my $usershare_sharedir="$share_dir/usershares";
        push(@dirs,$usershare_sharedir);
 
@@ -1965,6 +1991,9 @@ sub provision($$)
        my $msdfs_deeppath="$msdfs_shrdir/deeppath";
        push(@dirs,$msdfs_deeppath);
 
+       my $smbcacls_sharedir_dfs="$shrdir/smbcacls_sharedir_dfs";
+       push(@dirs,$smbcacls_sharedir_dfs);
+
        my $badnames_shrdir="$shrdir/badnames";
        push(@dirs,$badnames_shrdir);
 
@@ -2046,6 +2075,8 @@ sub provision($$)
        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";
+       symlink "msdfs:$server_ip\\smbcacls_sharedir_dfs,$server_ipv6\\smbcacls_sharedir_dfs",
+               "$msdfs_shrdir/smbcacls_sharedir_dfs";
 
        ##
        ## create bad names in $badnames_shrdir
@@ -2290,6 +2321,9 @@ sub provision($$)
        }
 
        print CONF "
+[smbcacls_sharedir_dfs]
+       path = $smbcacls_sharedir_dfs
+        comment = smb username is [%U]
 [tmp]
        path = $shrdir
         comment = smb username is [%U]
@@ -2444,7 +2478,7 @@ sub provision($$)
        force directory mode = 0
        vfs objects = xattr_tdb streams_depot
 [aio]
-       copy = tmp
+       copy = durable
        aio read size = 1
        aio write size = 1