%Samba3::ENV_DEPS = (
# name => [dep_1, dep_2, ...],
nt4_dc => [],
- nt4_dc_schannel => ["nt4_dc"],
+ nt4_dc_schannel => [],
simpleserver => [],
fileserver => [],
sub setup_nt4_dc_schannel
{
- my ($self, $path, $trust_vars) = @_;
+ my ($self, $path) = @_;
print "PROVISIONING NT4 DC WITH SERVER SCHANNEL ...";
$vars or return undef;
- my $rc = 0;
- my $count = 0;
- my $nmblookup = Samba::bindir_path($self, "nmblookup");
- do {
- print "Waiting for the LOGON SERVER registration ...\n";
- my $cmd = "";
- $cmd .= "$nmblookup $vars->{CONFIGURATION} $trust_vars->{DOMAIN}\#1c";
- $rc = system("$cmd");
- if ($rc != 0) {
- sleep(1);
- }
- $count++;
- } while ($rc != 0 && $count < 10);
- if ($count == 10) {
- print "NMBD not reachable after 10 retries\n";
- teardown_env($self, $vars);
- return 0;
- }
- do {
- print "Waiting for the PDC SERVER registration ...\n";
- my $cmd = "";
- $cmd .= "$nmblookup $vars->{CONFIGURATION} $trust_vars->{DOMAIN}\#1b";
- $rc = system("$cmd");
- if ($rc != 0) {
- sleep(1);
- }
- $count++;
- } while ($rc != 0 && $count < 10);
- if ($count == 10) {
- print "NMBD not reachable after 10 retries\n";
- teardown_env($self, $vars);
- return 0;
- }
-
- my $net = Samba::bindir_path($self, "net");
-
- my $trustpw = "TrUsTpW";
- $trustpw .= "$vars->{SOCKET_WRAPPER_DEFAULT_IFACE}";
- $trustpw .= "$trust_vars->{SOCKET_WRAPPER_DEFAULT_IFACE}";
-
- #
- # First we create the trust account
- #
- my $cmd = "";
- $cmd .= "SOCKET_WRAPPER_DEFAULT_IFACE=\"$vars->{SOCKET_WRAPPER_DEFAULT_IFACE}\" ";
- $cmd .= "SELFTEST_WINBINDD_SOCKET_DIR=\"$vars->{SELFTEST_WINBINDD_SOCKET_DIR}\" ";
- $cmd .= "$net rpc trustdom add $vars->{DOMAIN} $trustpw $trust_vars->{CONFIGURATION}";
- $cmd .= " -I$trust_vars->{SERVER_IP}";
- $cmd .= " -U$trust_vars->{USERNAME}\%$trust_vars->{PASSWORD}";
-
- if (system($cmd) != 0) {
- warn("add failed\n$cmd");
- return undef;
- }
-
- #
- # Then we establish the trust
- #
- my $cmd = "";
- $cmd .= "SOCKET_WRAPPER_DEFAULT_IFACE=\"$vars->{SOCKET_WRAPPER_DEFAULT_IFACE}\" ";
- $cmd .= "SELFTEST_WINBINDD_SOCKET_DIR=\"$vars->{SELFTEST_WINBINDD_SOCKET_DIR}\" ";
- $cmd .= "$net rpc trustdom establish $trust_vars->{DOMAIN} $vars->{CONFIGURATION}";
- $cmd .= " -I$trust_vars->{SERVER_IP}";
- $cmd .= " -U%$trustpw";
-
- if (system($cmd) != 0) {
- warn("establish failed\n$cmd");
- return undef;
- }
-
if (not $self->check_or_start($vars, "yes", "yes", "yes")) {
return undef;
}
$vars->{DC_USERNAME} = $vars->{USERNAME};
$vars->{DC_PASSWORD} = $vars->{PASSWORD};
- $ret->{TRUST_E_OUT_SERVER} = $trust_vars->{SERVER};
- $ret->{TRUST_E_OUT_SERVER_IP} = $trust_vars->{SERVER_IP};
- $ret->{TRUST_E_OUT_SERVER_IPV6} = $trust_vars->{SERVER_IPV6};
- $ret->{TRUST_E_OUT_NETBIOSNAME} = $trust_vars->{NETBIOSNAME};
- $ret->{TRUST_E_OUT_DOMAIN} = $trust_vars->{DOMAIN};
- $ret->{TRUST_E_OUT_USERNAME} = $trust_vars->{USERNAME};
- $ret->{TRUST_E_OUT_PASSWORD} = $trust_vars->{PASSWORD};
-
return $vars;
}