ad_member_fips => ["ad_dc_fips"],
ad_member_offlogon => ["ad_dc"],
ad_member_oneway => ["fl2000dc"],
+ ad_member_no_nss_wb => ["ad_dc"],
clusteredmember => ["nt4_dc"],
);
$dcvars,
$trustvars_f,
$trustvars_e,
+ $extra_member_options,
$force_fips_mode,
- $offline_logon) = @_;
+ $offline_logon,
+ $no_nss_winbind) = @_;
+
+ if (defined($offline_logon) && defined($no_nss_winbind)) {
+ warn ("Offline logon incompatible with no nss winbind\n");
+ return undef;
+ }
my $prefix_abs = abs_path($prefix);
my @dirs = ();
$netbios_aliases = "netbios aliases = foo bar";
}
+ unless (defined($extra_member_options)) {
+ $extra_member_options = "";
+ }
+
my $member_options = "
security = ads
workgroup = $dcvars->{DOMAIN}
rpc_daemon:epmd = fork
rpc_daemon:lsasd = fork
+ # Begin extra member options
+ $extra_member_options
+ # End extra member options
+
[sub_dug]
path = $share_dir/D_%D/U_%U/G_%G
writeable = yes
$ENV{SOCKET_WRAPPER_DIR} = $swrap_env;
} else {
+ if (defined($no_nss_winbind)) {
+ $ret->{NSS_WRAPPER_MODULE_SO_PATH} = "";
+ $ret->{NSS_WRAPPER_MODULE_FN_PREFIX} = "";
+ }
+
if (not $self->check_or_start(
env_vars => $ret,
nmbd => "yes",
$dcvars,
$trustvars_f,
$trustvars_e,
+ undef,
1);
}
$trustvars_f,
$trustvars_e,
undef,
+ undef,
1);
}
+sub setup_ad_member_no_nss_wb
+{
+ my ($self,
+ $prefix,
+ $dcvars,
+ $trustvars_f,
+ $trustvars_e) = @_;
+
+ # If we didn't build with ADS, pretend this env was never available
+ if (not $self->have_ads()) {
+ return "UNKNOWN";
+ }
+
+ print "PROVISIONING AD MEMBER WITHOUT NSS WINBIND...";
+
+ my $extra_member_options = "
+ username map = $prefix/lib/username.map
+";
+
+ my $ret = $self->provision_ad_member($prefix,
+ "ADMEMNONSSWB",
+ $dcvars,
+ $trustvars_f,
+ $trustvars_e,
+ $extra_member_options,
+ undef,
+ undef,
+ 1);
+
+ open(USERMAP, ">$prefix/lib/username.map") or die("Unable to open $prefix/lib/username.map");
+ print USERMAP "
+root = $dcvars->{DOMAIN}/root
+";
+ close(USERMAP);
+
+ return $ret;
+}
+
sub setup_simpleserver
{
my ($self, $path) = @_;