summaryrefslogtreecommitdiffstats
path: root/selftest
diff options
context:
space:
mode:
authorAndreas Schneider <asn@samba.org>2013-06-27 16:12:47 +0200
committerStefan Metzmacher <metze@samba.org>2014-04-17 14:56:06 +0200
commit354744f6e8e03b3552d19d8223c821d37b25e7fa (patch)
tree06bedc41ee7ba28e7b61f5f2f957b70868e1e214 /selftest
parent338178469010139e4d97fab0fd96d123cfdc2510 (diff)
downloadsamba-354744f6e8e03b3552d19d8223c821d37b25e7fa.tar.gz
samba-354744f6e8e03b3552d19d8223c821d37b25e7fa.tar.xz
samba-354744f6e8e03b3552d19d8223c821d37b25e7fa.zip
selftest: Write the nss_wrapper hosts file.
Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
Diffstat (limited to 'selftest')
-rwxr-xr-xselftest/selftest.pl1
-rwxr-xr-xselftest/target/Samba3.pm17
-rw-r--r--selftest/target/Samba4.pm13
3 files changed, 31 insertions, 0 deletions
diff --git a/selftest/selftest.pl b/selftest/selftest.pl
index dd964a3439e..5c35d893552 100755
--- a/selftest/selftest.pl
+++ b/selftest/selftest.pl
@@ -866,6 +866,7 @@ sub teardown_env($)
# This 'global' file needs to be empty when we start
unlink("$prefix_abs/dns_host_file");
+unlink("$prefix_abs/hosts");
if ($opt_random_order) {
require List::Util;
diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm
index 4b2fd28ec1b..ed8faf9f74c 100755
--- a/selftest/target/Samba3.pm
+++ b/selftest/target/Samba3.pm
@@ -641,6 +641,7 @@ sub check_or_start($$$$$) {
$ENV{NSS_WRAPPER_PASSWD} = $env_vars->{NSS_WRAPPER_PASSWD};
$ENV{NSS_WRAPPER_GROUP} = $env_vars->{NSS_WRAPPER_GROUP};
+ $ENV{NSS_WRAPPER_HOSTS} = $env_vars->{NSS_WRAPPER_HOSTS};
$ENV{NSS_WRAPPER_MODULE_SO_PATH} = $env_vars->{NSS_WRAPPER_MODULE_SO_PATH};
$ENV{NSS_WRAPPER_MODULE_FN_PREFIX} = $env_vars->{NSS_WRAPPER_MODULE_FN_PREFIX};
@@ -697,6 +698,7 @@ sub check_or_start($$$$$) {
$ENV{NSS_WRAPPER_PASSWD} = $env_vars->{NSS_WRAPPER_PASSWD};
$ENV{NSS_WRAPPER_GROUP} = $env_vars->{NSS_WRAPPER_GROUP};
+ $ENV{NSS_WRAPPER_HOSTS} = $env_vars->{NSS_WRAPPER_HOSTS};
$ENV{NSS_WRAPPER_MODULE_SO_PATH} = $env_vars->{NSS_WRAPPER_MODULE_SO_PATH};
$ENV{NSS_WRAPPER_MODULE_FN_PREFIX} = $env_vars->{NSS_WRAPPER_MODULE_FN_PREFIX};
@@ -753,6 +755,7 @@ sub check_or_start($$$$$) {
$ENV{NSS_WRAPPER_PASSWD} = $env_vars->{NSS_WRAPPER_PASSWD};
$ENV{NSS_WRAPPER_GROUP} = $env_vars->{NSS_WRAPPER_GROUP};
+ $ENV{NSS_WRAPPER_HOSTS} = $env_vars->{NSS_WRAPPER_HOSTS};
$ENV{NSS_WRAPPER_MODULE_SO_PATH} = $env_vars->{NSS_WRAPPER_MODULE_SO_PATH};
$ENV{NSS_WRAPPER_MODULE_FN_PREFIX} = $env_vars->{NSS_WRAPPER_MODULE_FN_PREFIX};
@@ -921,6 +924,7 @@ sub provision($$$$$$)
my $nss_wrapper_pl = "$ENV{PERL} $self->{srcdir}/lib/nss_wrapper/nss_wrapper.pl";
my $nss_wrapper_passwd = "$privatedir/passwd";
my $nss_wrapper_group = "$privatedir/group";
+ my $nss_wrapper_hosts = "$ENV{SELFTEST_PREFIX}/hosts";
my $mod_printer_pl = "$ENV{PERL} $self->{srcdir}/source3/script/tests/printing/modprinter.pl";
@@ -1200,6 +1204,17 @@ domadmins:X:$gid_domadmins:
close(GROUP);
+ ## hosts
+ my $hostname = lc($server);
+ unless (open(HOSTS, ">>$nss_wrapper_hosts")) {
+ warn("Unable to open $nss_wrapper_hosts");
+ return undef;
+ }
+ print HOSTS "${server_ip} ${hostname}.samba.example.com ${hostname}
+";
+ close(HOSTS);
+
+
foreach my $evlog (@eventlog_list) {
my $evlogtdb = "$eventlogdir/$evlog.tdb";
open(EVENTLOG, ">$evlogtdb") or die("Unable to open $evlogtdb");
@@ -1208,6 +1223,7 @@ domadmins:X:$gid_domadmins:
$ENV{NSS_WRAPPER_PASSWD} = $nss_wrapper_passwd;
$ENV{NSS_WRAPPER_GROUP} = $nss_wrapper_group;
+ $ENV{NSS_WRAPPER_HOSTS} = $nss_wrapper_hosts;
my $cmd = "UID_WRAPPER_ROOT=1 " . Samba::bindir_path($self, "smbpasswd")." -c $conffile -L -s -a $unix_name > /dev/null";
unless (open(PWD, "|$cmd")) {
@@ -1251,6 +1267,7 @@ domadmins:X:$gid_domadmins:
$ret{SOCKET_WRAPPER_DEFAULT_IFACE} = $swiface;
$ret{NSS_WRAPPER_PASSWD} = $nss_wrapper_passwd;
$ret{NSS_WRAPPER_GROUP} = $nss_wrapper_group;
+ $ret{NSS_WRAPPER_HOSTS} = $nss_wrapper_hosts;
$ret{NSS_WRAPPER_MODULE_SO_PATH} = Samba::nss_wrapper_winbind_so_path($self);
$ret{NSS_WRAPPER_MODULE_FN_PREFIX} = "winbind";
$ret{LOCAL_PATH} = "$shrdir";
diff --git a/selftest/target/Samba4.pm b/selftest/target/Samba4.pm
index 91b23a2bc53..8408b334d5b 100644
--- a/selftest/target/Samba4.pm
+++ b/selftest/target/Samba4.pm
@@ -122,6 +122,7 @@ sub check_or_start($$$)
$ENV{NSS_WRAPPER_PASSWD} = $env_vars->{NSS_WRAPPER_PASSWD};
$ENV{NSS_WRAPPER_GROUP} = $env_vars->{NSS_WRAPPER_GROUP};
+ $ENV{NSS_WRAPPER_HOSTS} = $env_vars->{NSS_WRAPPER_HOSTS};
$ENV{NSS_WRAPPER_MODULE_SO_PATH} = $env_vars->{NSS_WRAPPER_MODULE_SO_PATH};
$ENV{NSS_WRAPPER_MODULE_FN_PREFIX} = $env_vars->{NSS_WRAPPER_MODULE_FN_PREFIX};
@@ -176,6 +177,9 @@ sub wait_for_start($$)
# Ensure we have the first RID Set before we start tests. This makes the tests more reliable.
if ($testenv_vars->{SERVER_ROLE} eq "domain controller" and not ($testenv_vars->{NETBIOS_NAME} eq "rodc")) {
+ # Add hosts file for name lookups
+ $ENV{NSS_WRAPPER_HOSTS} = $testenv_vars->{NSS_WRAPPER_HOSTS};
+
print "waiting for working LDAP and a RID Set to be allocated\n";
my $ldbsearch = Samba::bindir_path($self, "ldbsearch");
my $count = 0;
@@ -525,6 +529,7 @@ sub provision_raw_prepare($$$$$$$$$$)
$ctx->{ntp_signd_socket_dir} = "$prefix_abs/ntp_signd_socket";
$ctx->{nsswrap_passwd} = "$ctx->{etcdir}/passwd";
$ctx->{nsswrap_group} = "$ctx->{etcdir}/group";
+ $ctx->{nsswrap_hosts} = "$ENV{SELFTEST_PREFIX}/hosts";
$ctx->{tlsdir} = "$ctx->{privatedir}/tls";
@@ -544,6 +549,7 @@ sub provision_raw_prepare($$$$$$$$$$)
my @provision_options = ();
push (@provision_options, "NSS_WRAPPER_PASSWD=\"$ctx->{nsswrap_passwd}\"");
push (@provision_options, "NSS_WRAPPER_GROUP=\"$ctx->{nsswrap_group}\"");
+ push (@provision_options, "NSS_WRAPPER_HOSTS=\"$ctx->{nsswrap_hosts}\"");
if (defined($ENV{GDB_PROVISION})) {
push (@provision_options, "gdb --args");
if (!defined($ENV{PYTHON})) {
@@ -686,6 +692,12 @@ nogroup:x:65534:nobody
close(GRP);
my $gid_rfc2307test = 65532;
+ my $hostname = lc($ctx->{hostname});
+ open(HOSTS, ">>$ctx->{nsswrap_hosts}");
+ print HOSTS "$ctx->{ipv4} ${hostname}.samba.example.com ${hostname}
+";
+ close(HOSTS);
+
my $configuration = "--configfile=$ctx->{smb_conf}";
#Ensure the config file is valid before we start
@@ -723,6 +735,7 @@ nogroup:x:65534:nobody
SOCKET_WRAPPER_DEFAULT_IFACE => $ctx->{swiface},
NSS_WRAPPER_PASSWD => $ctx->{nsswrap_passwd},
NSS_WRAPPER_GROUP => $ctx->{nsswrap_group},
+ NSS_WRAPPER_HOSTS => $ctx->{nsswrap_hosts},
SAMBA_TEST_FIFO => "$ctx->{prefix}/samba_test.fifo",
SAMBA_TEST_LOG => "$ctx->{prefix}/samba_test.log",
SAMBA_TEST_LOG_POS => 0,