return $self->provision_raw_step2($ctx, $ret);
}
-sub provision_s4member($$$)
+sub provision_s4member($$$$$)
{
- my ($self, $prefix, $dcvars) = @_;
+ my ($self, $prefix, $dcvars, $hostname, $more_conf) = @_;
print "PROVISIONING MEMBER...\n";
my $extra_smb_conf = "
passdb backend = samba_dsdb
rpc_daemon:spoolssd = embedded
rpc_server:tcpip = no
";
+ if ($more_conf) {
+ $extra_smb_conf = $extra_smb_conf . $more_conf . "\n";
+ }
my $ret = $self->provision($prefix,
"member server",
- "s4member",
+ $hostname,
"SAMBADOMAIN",
"samba.example.com",
"2008",
$self->setup_ad_dc_ntvfs("$path/ad_dc_ntvfs");
}
return $self->setup_subdom_dc("$path/subdom_dc", $self->{vars}->{ad_dc_ntvfs});
+ } elsif ($envname eq "s4member_dflt_domain") {
+ if (not defined($self->{vars}->{ad_dc_ntvfs})) {
+ $self->setup_ad_dc_ntvfs("$path/ad_dc_ntvfs");
+ }
+ return $self->setup_s4member_dflt_domain("$path/s4member_dflt_domain", $self->{vars}->{ad_dc_ntvfs});
} elsif ($envname eq "s4member") {
if (not defined($self->{vars}->{ad_dc_ntvfs})) {
$self->setup_ad_dc_ntvfs("$path/ad_dc_ntvfs");
{
my ($self, $path, $dc_vars) = @_;
- my $env = $self->provision_s4member($path, $dc_vars);
+ my $env = $self->provision_s4member($path, $dc_vars, "s4member");
if (defined $env) {
if (not defined($self->check_or_start($env, "standard"))) {
return $env;
}
+sub setup_s4member_dflt_domain($$$)
+{
+ my ($self, $path, $dc_vars) = @_;
+
+ my $env = $self->provision_s4member($path, $dc_vars, "s4member_dflt",
+ "winbind use default domain = yes");
+
+ if (defined $env) {
+ if (not defined($self->check_or_start($env, "standard"))) {
+ return undef;
+ }
+
+ $self->{vars}->{s4member_dflt_domain} = $env;
+ }
+
+ return $env;
+}
+
sub setup_rpc_proxy($$$)
{
my ($self, $path, $dc_vars) = @_;
plantestsuite("samba.ntlm_auth.(%s:local)" % env, "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_ntlm_auth_s3.sh"), valgrindify(python), samba3srcdir, ntlm_auth3, '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD', configuration])
+for env in ["s4member_dflt_domain", "s4member"]:
+ for cmd in ["id", "getent"]:
+ users = ["$DC_USERNAME", "$DC_USERNAME@$REALM"]
+ if env == "s4member":
+ users = ["$DOMAIN/$DC_USERNAME", "$DC_USERNAME@$REALM"]
+ for usr in users:
+ plantestsuite("samba4.winbind.dom_name_parse.cmd", env, "%s/dom_parse.sh %s %s" % (bbdir,cmd,usr))
nsstest4 = binpath("nsstest")
for env in ["ad_dc:local", "s4member:local", "nt4_dc:local", "ad_member:local", "nt4_member:local"]:
--- /dev/null
+#!/bin/sh
+# Blackbox wrapper for nsstest
+# Copyright (C) 2006-2007 Jelmer Vernooij <jelmer@samba.org>
+# Copyright (C) 2006-2008 Andrew Bartlett <abartlet@samba.org>
+
+if [ $# -lt 2 ]; then
+cat <<EOF
+Usage: dom_parse.sh [id|getent] $USER
+EOF
+exit 1;
+fi
+
+USER=$2
+CMD=$1
+EXTRA=""
+shift 2
+failed=0
+
+. `dirname $0`/subunit.sh
+
+if [ "$CMD" = "getent" ]; then
+ EXTRA="passwd"
+fi
+
+testit "samba4.winbind.dom_name_parse.cmd.$CMD" $CMD $EXTRA $USER || failed=`expr $failed + 1`
+
+exit $failed