The xcopy test is used in unusual ways (via a different uid). Ensure we can cope...
[samba.git] / selftest / target / Samba3.pm
index a5c11d9afc6a55f6bc3f469d4a1d1f352f9ccc7d..3c0fbe922095cf163ca9ac28df55f4231cd258ba 100755 (executable)
@@ -280,18 +280,39 @@ sub setup_plugin_s4_dc($$$$)
        my $plugin_s4_dc_options = "
         workgroup = $dcvars->{DOMAIN}
         realm = $dcvars->{REALM}
-        security=ads
+
+        security = ads
+        domain logons = yes
         passdb backend = samba4
         auth methods = guest samba4
-        domain logons = yes
-        rpc_server:epmapper = external
-        rpc_daemon:epmd = disabled
-        rpc_daemon:lsasd = disabled
-        rpc_server:tcpip = no
+        server signing = on
+
+        rpc_server:epmapper = disabled
+        rpc_server:rpcecho = disabled
+        rpc_server:dssetup = disabled
+        rpc_server:svctl = disabled
+        rpc_server:ntsvcs = disabled
+        rpc_server:eventlog = disabled
+        rpc_server:initshutdown = disabled
+
+        rpc_server:winreg = embedded
+        rpc_server:srvsvc = embedded
+        rpc_server:netdfs = embedded
+        rpc_server:wkssvc = embedded
+        rpc_server:spoolss = embedded
+
         rpc_server:lsarpc = external
         rpc_server:netlogon = external
         rpc_server:samr = external
-       server signing = on
+
+        rpc_daemon:epmd = disabled
+        rpc_daemon:lsasd = disabled
+        rpc_daemon:spoolssd = disabled
+
+        rpc_server:tcpip = no
+
+[IPC\$]
+       vfs objects = dfs_samba4
 ";
 
        my $ret = $self->provision($prefix,
@@ -535,7 +556,7 @@ sub read_pid($$)
        return $pid;
 }
 
-sub check_or_start($$$$) {
+sub check_or_start($$$$$) {
        my ($self, $env_vars, $nmbd, $winbindd, $smbd) = @_;
 
        unlink($env_vars->{NMBD_TEST_LOG});
@@ -555,6 +576,8 @@ sub check_or_start($$$$) {
                $ENV{NSS_WRAPPER_GROUP} = $env_vars->{NSS_WRAPPER_GROUP};
                $ENV{NSS_WRAPPER_WINBIND_SO_PATH} = $env_vars->{NSS_WRAPPER_WINBIND_SO_PATH};
 
+               $ENV{UID_WRAPPER} = "1";
+
                if ($nmbd ne "yes") {
                        $SIG{USR1} = $SIG{ALRM} = $SIG{INT} = $SIG{QUIT} = $SIG{TERM} = sub {
                                my $signame = shift;
@@ -599,6 +622,8 @@ sub check_or_start($$$$) {
                $ENV{NSS_WRAPPER_GROUP} = $env_vars->{NSS_WRAPPER_GROUP};
                $ENV{NSS_WRAPPER_WINBIND_SO_PATH} = $env_vars->{NSS_WRAPPER_WINBIND_SO_PATH};
 
+               $ENV{UID_WRAPPER} = "1";
+
                if ($winbindd ne "yes") {
                        $SIG{USR1} = $SIG{ALRM} = $SIG{INT} = $SIG{QUIT} = $SIG{TERM} = sub {
                                my $signame = shift;
@@ -621,7 +646,7 @@ sub check_or_start($$$$) {
                        @preargs = split(/ /, $ENV{WINBINDD_VALGRIND});
                }
 
-               print "Starting winbindd with config $env_vars->{SERVERCONFFILE})\n";
+               print "Starting winbindd with config $env_vars->{SERVERCONFFILE}\n";
 
                exec(@preargs, Samba::bindir_path($self, "winbindd"), "-F", "--no-process-group", "--stdout", "-s", $env_vars->{SERVERCONFFILE}, @optargs) or die("Unable to start winbindd: $!");
        }
@@ -645,6 +670,8 @@ sub check_or_start($$$$) {
                $ENV{NSS_WRAPPER_GROUP} = $env_vars->{NSS_WRAPPER_GROUP};
                $ENV{NSS_WRAPPER_WINBIND_SO_PATH} = $env_vars->{NSS_WRAPPER_WINBIND_SO_PATH};
 
+               $ENV{UID_WRAPPER} = "1";
+
                if ($smbd ne "yes") {
                        $SIG{USR1} = $SIG{ALRM} = $SIG{INT} = $SIG{QUIT} = $SIG{TERM} = sub {
                                my $signame = shift;
@@ -889,6 +916,7 @@ sub provision($$$$$$$)
        map readonly = no
        store dos attributes = yes
        create mask = 755
+       dos filemode = yes
        vfs objects = $vfs_modulesdir_abs/xattr_tdb.so $vfs_modulesdir_abs/streams_depot.so
 
        printing = vlp
@@ -975,6 +1003,11 @@ sub provision($$$$$$$)
        copy = print1
 [lp]
        copy = print1
+[xcopy_share]
+       path = $shrdir
+       comment = smb username is [%U]
+       create mask = 777
+       force create mode = 777
 [print\$]
        copy = tmp
        ";