s3-selftest Add tests for security=server
authorAndrew Bartlett <abartlet@samba.org>
Mon, 28 Mar 2011 09:42:55 +0000 (20:42 +1100)
committerJeremy Allison <jra@samba.org>
Mon, 28 Mar 2011 23:50:10 +0000 (16:50 -0700)
Andrew Bartlett
(cherry picked from commit c8bc7089f589e33a624183ae63c1cb1b3d652c7c)

selftest/target/Samba3.pm
source3/selftest/tests.py

index 6a18f27231e95d1b454374146a6d7840b4c24b8e..38148ebbeeb6f190f767346880189491dde53985 100644 (file)
@@ -102,6 +102,11 @@ sub setup_env($$$)
                return $self->setup_dc("$path/dc");
        } elsif ($envname eq "secshare") {
                return $self->setup_secshare("$path/secshare");
+       } elsif ($envname eq "secserver") {
+               if (not defined($self->{vars}->{dc})) {
+                       $self->setup_dc("$path/dc");
+               }
+               return $self->setup_secserver("$path/secserver", $self->{vars}->{dc});
        } elsif ($envname eq "member") {
                if (not defined($self->{vars}->{dc})) {
                        $self->setup_dc("$path/dc");
@@ -216,6 +221,40 @@ sub setup_secshare($$)
        return $vars;
 }
 
+sub setup_secserver($$$)
+{
+       my ($self, $prefix, $dcvars) = @_;
+
+       print "PROVISIONING server with security=server...";
+
+       my $secserver_options = "
+       security = server
+        password server = $dcvars->{SERVER_IP}
+";
+
+       my $ret = $self->provision($prefix,
+                                  "LOCALSERVER5",
+                                  5,
+                                  "localserver5pass",
+                                  $secserver_options);
+
+       $ret or die("Unable to provision");
+
+       $self->check_or_start($ret,
+                             ($ENV{SMBD_MAXTIME} or 2700),
+                              "yes", "no", "yes");
+
+       $self->wait_for_start($ret);
+
+       $ret->{DC_SERVER} = $dcvars->{SERVER};
+       $ret->{DC_SERVER_IP} = $dcvars->{SERVER_IP};
+       $ret->{DC_NETBIOSNAME} = $dcvars->{NETBIOSNAME};
+       $ret->{DC_USERNAME} = $dcvars->{USERNAME};
+       $ret->{DC_PASSWORD} = $dcvars->{PASSWORD};
+
+       return $ret;
+}
+
 sub stop_sig_term($$) {
        my ($self, $pid) = @_;
        kill("USR1", $pid) or kill("ALRM", $pid) or warn("Unable to kill $pid: $!");
index 4094a573bc50a83e5fac1871447d5bc8ac2071ca..d3749892f2e7db8d4f19df61310ef5581f8a5053 100755 (executable)
@@ -96,11 +96,14 @@ plantestsuite("samba3.ntlm_auth.(dc:local)", "dc:local", [os.path.join(samba3src
 for env in ["dc", "member"]:
     plantestsuite("samba3.blackbox.smbclient_auth.plain (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', configuration])
 
+for env in ["secserver"]:
+    plantestsuite("samba3.blackbox.smbclient_auth.plain (%s) domain creds" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN\\\\$DC_USERNAME', '$DC_PASSWORD', configuration + " --option=clientntlmv2auth=no"])
+
 for env in ["member"]:
     plantestsuite("samba3.blackbox.smbclient_auth.plain (%s) member creds" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', '$SERVER\\\\$USERNAME', '$PASSWORD', configuration])
 
-for env in ["secshare"]:
-    plantestsuite("samba3.blackbox.smbclient_auth.plain (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', configuration])
+for env in ["secshare", "secserver"]:
+    plantestsuite("samba3.blackbox.smbclient_auth.plain (%s) local creds" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', configuration])
 
 # plain
 for env in ["dc"]: