# sets the environment variables ready for running a given process
sub set_env_for_process
{
- my ($proc_name, $env_vars, $skip_resolv_wrapper) = @_;
+ my ($proc_name, $env_vars, $proc_envs) = @_;
- $proc_envs = get_env_for_process($proc_name, $env_vars, $skip_resolv_wrapper);
+ if (not defined($proc_envs)) {
+ $proc_envs = get_env_for_process($proc_name, $env_vars);
+ }
foreach my $key (keys %{ $proc_envs }) {
$ENV{$key} = $proc_envs->{$key};
sub get_env_for_process
{
- my ($proc_name, $env_vars, $skip_resolv_wrapper) = @_;
+ my ($proc_name, $env_vars) = @_;
my $proc_envs = {
KRB5_CONFIG => $env_vars->{KRB5_CONFIG},
KRB5CCNAME => "$env_vars->{KRB5_CCACHE}.$proc_name",
ENVNAME => "$ENV{ENVNAME}.$proc_name",
};
- if (not defined($skip_resolv_wrapper)) {
- if (defined($env_vars->{RESOLV_WRAPPER_CONF})) {
- $proc_envs->{RESOLV_WRAPPER_CONF} = $env_vars->{RESOLV_WRAPPER_CONF};
- } else {
- $proc_envs->{RESOLV_WRAPPER_HOSTS} = $env_vars->{RESOLV_WRAPPER_HOSTS};
- }
+ if (defined($env_vars->{RESOLV_WRAPPER_CONF})) {
+ $proc_envs->{RESOLV_WRAPPER_CONF} = $env_vars->{RESOLV_WRAPPER_CONF};
+ } else {
+ $proc_envs->{RESOLV_WRAPPER_HOSTS} = $env_vars->{RESOLV_WRAPPER_HOSTS};
}
return $proc_envs;
}
my @full_cmd = $self->make_bin_cmd($binary, $env_vars,
$ENV{NMBD_OPTIONS}, $ENV{NMBD_VALGRIND},
$ENV{NMBD_DONT_LOG_STDOUT});
+ my $nmbd_envs = Samba::get_env_for_process("nmbd", $env_vars);
+ delete $nmbd_envs->{RESOLV_WRAPPER_CONF};
+ delete $nmbd_envs->{RESOLV_WRAPPER_HOSTS};
my %daemon_ctx = (
NAME => "nmbd",
BINARY_PATH => $binary,
FULL_CMD => [ @full_cmd ],
LOG_FILE => $env_vars->{NMBD_TEST_LOG},
- NO_RESOLV => 1,
+ ENV_VARS => $nmbd_envs,
);
if ($nmbd ne "yes") {
$daemon_ctx{SKIP_DAEMON} = 1;
SocketWrapper::set_default_iface($env_vars->{SOCKET_WRAPPER_DEFAULT_IFACE});
- Samba::set_env_for_process($daemon_ctx{NAME}, $env_vars, $daemon_ctx{NO_RESOLV});
+ Samba::set_env_for_process($daemon_ctx{NAME}, $env_vars, $daemon_ctx{ENV_VARS});
if (defined($daemon_ctx{SKIP_DAEMON})) {
$SIG{USR1} = $SIG{ALRM} = $SIG{INT} = $SIG{QUIT} = $SIG{TERM} = sub {