return $realms_stanza;
}
+sub get_interface($)
+{
+ my ($netbiosname) = @_;
+ $netbiosname = lc($netbiosname);
+
+ my %interfaces = ();
+ $interfaces{"locals3dc2"} = 2;
+ $interfaces{"localmember3"} = 3;
+ $interfaces{"localshare4"} = 4;
+ $interfaces{"localserver5"} = 5;
+ $interfaces{"localktest6"} = 6;
+ $interfaces{"maptoguest"} = 7;
+
+ # 11-16 used by selftest.pl for client interfaces
+
+ $interfaces{"localdc"} = 21;
+ $interfaces{"localvampiredc"} = 22;
+ $interfaces{"s4member"} = 23;
+ $interfaces{"localrpcproxy"} = 24;
+ $interfaces{"dc5"} = 25;
+ $interfaces{"dc6"} = 26;
+ $interfaces{"dc7"} = 27;
+ $interfaces{"rodc"} = 28;
+ $interfaces{"localadmember"} = 29;
+ $interfaces{"plugindc"} = 30;
+ $interfaces{"localsubdc"} = 31;
+ $interfaces{"chgdcpass"} = 32;
+
+ # update lib/socket_wrapper/socket_wrapper.c
+ # #define MAX_WRAPPED_INTERFACES 32
+ # if you wish to have more than 32 interfaces
+
+ if (not defined($interfaces{$netbiosname})) {
+ die();
+ }
+
+ return $interfaces{$netbiosname};
+}
1;
my $vars = $self->provision($path,
"LOCALS3DC2",
- 2,
"locals3dc2pass",
$s3dc_options);
";
my $ret = $self->provision($prefix,
"LOCALMEMBER3",
- 3,
"localmember3pass",
$member_options);
sub setup_admember($$$$)
{
- my ($self, $prefix, $dcvars, $iface) = @_;
+ my ($self, $prefix, $dcvars) = @_;
# If we didn't build with ADS, pretend this env was never available
if (not $self->have_ads()) {
return "UNKNOWN";
}
- print "PROVISIONING S3 AD MEMBER$iface...";
+ print "PROVISIONING S3 AD MEMBER...";
my $member_options = "
security = ads
";
my $ret = $self->provision($prefix,
- "LOCALADMEMBER$iface",
- $iface,
- "loCalMember${iface}Pass",
+ "LOCALADMEMBER",
+ "loCalMemberPass",
$member_options);
$ret or return undef;
my $vars = $self->provision($path,
"LOCALSHARE4",
- 4,
"local4pass",
$secshare_options);
my $ret = $self->provision($prefix,
"LOCALSERVER5",
- 5,
"localserver5pass",
$secserver_options);
my $ret = $self->provision($prefix,
"LOCALKTEST6",
- 6,
"localktest6pass",
$ktest_options);
my $vars = $self->provision($path,
"maptoguest",
- 7,
"maptoguestpass",
$options);
return 0;
}
-sub provision($$$$$$$)
+sub provision($$$$$$)
{
- my ($self, $prefix, $server, $swiface, $password, $extra_options, $no_delete_prefix) = @_;
+ my ($self, $prefix, $server, $password, $extra_options, $no_delete_prefix) = @_;
##
## setup the various environment variables we need
##
+ my $swiface = Samba::get_interface($server);
my %ret = ();
my $server_ip = "127.0.0.$swiface";
my $domain = "SAMBA-TEST";
EOF
}
-sub provision_raw_prepare($$$$$$$$$$)
+sub provision_raw_prepare($$$$$$$$$)
{
my ($self, $prefix, $server_role, $hostname,
$domain, $realm, $functional_level,
- $swiface, $password, $kdc_ipv4) = @_;
+ $password, $kdc_ipv4) = @_;
my $ctx;
my $netbiosname = uc($hostname);
warn("Unable to clean up");
}
+
+ my $swiface = Samba::get_interface($hostname);
+
$ctx->{prefix} = $prefix;
$ctx->{prefix_abs} = $prefix_abs;
return $ret;
}
-sub provision($$$$$$$$$)
+sub provision($$$$$$$$)
{
my ($self, $prefix, $server_role, $hostname,
$domain, $realm, $functional_level,
- $swiface, $password, $kdc_ipv4, $extra_smbconf_options) = @_;
+ $password, $kdc_ipv4, $extra_smbconf_options) = @_;
my $ctx = $self->provision_raw_prepare($prefix, $server_role,
$hostname,
$domain, $realm, $functional_level,
- $swiface, $password, $kdc_ipv4);
+ $password, $kdc_ipv4);
$ctx->{tmpdir} = "$ctx->{prefix_abs}/tmp";
push(@{$ctx->{directories}}, "$ctx->{tmpdir}");
"SAMBADOMAIN",
"samba.example.com",
"2008",
- 23,
"locMEMpass3",
$dcvars->{SERVER_IP},
"");
"SAMBADOMAIN",
"samba.example.com",
"2008",
- 24,
"locRPCproxypass4",
$dcvars->{SERVER_IP},
$extra_smbconf_options);
"SAMBADOMAIN",
"samba.example.com",
"2008",
- 22, $dcvars->{PASSWORD},
+ $dcvars->{PASSWORD},
$dcvars->{SERVER_IP});
$ctx->{smb_conf_extra_options} = "
"SAMBASUBDOM",
"sub.samba.example.com",
"2008",
- 31, $dcvars->{PASSWORD},
+ $dcvars->{PASSWORD},
undef);
$ctx->{smb_conf_extra_options} = "
"SAMBADOMAIN",
"samba.example.com",
"2008",
- 21,
"locDCpass1",
undef, "netbios aliases = localDC1-a");
"SAMBA2000",
"samba2000.example.com",
"2000",
- 25,
"locDCpass5",
undef, "");
"SAMBA2003",
"samba2003.example.com",
"2003",
- 26,
"locDCpass6",
undef, "");
"SAMBA2008R2",
"samba2008R2.example.com",
"2008_R2",
- 27,
"locDCpass7",
undef, "");
"SAMBADOMAIN",
"samba.example.com",
"2008",
- 28, $dcvars->{PASSWORD},
+ $dcvars->{PASSWORD},
$dcvars->{SERVER_IP});
unless ($ctx) {
return undef;
"PLUGINDOMAIN",
"plugin.samba.example.com",
"2008",
- 30,
"locDCpass1",
undef, $extra_smbconf_options);
"CHDCDOMAIN",
"chgdcpassword.samba.example.com",
"2008",
- 31,
"chgDCpass1",
undef);