[PATCH 17/31] selftest: Use resolv_wrapper in the samba4 target.

Andreas Schneider asn at samba.org
Wed Dec 3 07:45:13 MST 2014


Signed-off-by: Andreas Schneider <asn at samba.org>
---
 selftest/selftest.pl      | 18 ++++++++++--------
 selftest/target/Samba4.pm | 22 +++++++++++++++++-----
 2 files changed, 27 insertions(+), 13 deletions(-)

diff --git a/selftest/selftest.pl b/selftest/selftest.pl
index 166d40a..5fdce63 100755
--- a/selftest/selftest.pl
+++ b/selftest/selftest.pl
@@ -536,7 +536,6 @@ sub write_clientconf($$$)
 	state directory = $clientdir/statedir
 	cache directory = $clientdir/cachedir
 	ncalrpc dir = $clientdir/ncalrpcdir
-	name resolve order = file bcast
 	panic action = $RealBin/gdb_backtrace \%d
 	max xmit = 32K
 	notify:inotify = false
@@ -547,7 +546,6 @@ sub write_clientconf($$$)
 	torture:basedir = $clientdir
 #We don't want to pass our self-tests if the PAC code is wrong
 	gensec:require_pac = true
-	resolv:host file = $prefix_abs/dns_host_file
 #We don't want to run 'speed' tests for very long
         torture:timelimit = 1
         winbind separator = /
@@ -769,6 +767,10 @@ my @exported_envvars = (
 	"DC_USERNAME",
 	"DC_PASSWORD",
 
+	# UID/GID for rfc2307 mapping tests
+	"UID_RFC2307TEST",
+	"GID_RFC2307TEST",
+
 	# misc stuff
 	"KRB5_CONFIG",
 	"SELFTEST_WINBINDD_SOCKET_DIR",
@@ -776,13 +778,13 @@ my @exported_envvars = (
 	"NMBD_SOCKET_DIR",
 	"LOCAL_PATH",
 
-        # nss_wrapper
-        "NSS_WRAPPER_PASSWD",
-        "NSS_WRAPPER_GROUP",
+	# nss_wrapper
+	"NSS_WRAPPER_PASSWD",
+	"NSS_WRAPPER_GROUP",
+	"NSS_WRAPPER_HOSTS",
 
-        # UID/GID for rfc2307 mapping tests
-        "UID_RFC2307TEST",
-        "GID_RFC2307TEST"
+	# resolv_wrapper
+	"RESOLV_WRAPPER_CONF",
 );
 
 sub sighandler($)
diff --git a/selftest/target/Samba4.pm b/selftest/target/Samba4.pm
index 0f32f73..26832c8 100755
--- a/selftest/target/Samba4.pm
+++ b/selftest/target/Samba4.pm
@@ -126,6 +126,8 @@ sub check_or_start($$$)
 		$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};
 
+		$ENV{RESOLV_WRAPPER_CONF} = $env_vars->{RESOLV_WRAPPER_CONF};
+
 		$ENV{UID_WRAPPER} = "1";
 
 		$ENV{MAKE_TEST_BINARY} = Samba::bindir_path($self, "samba");
@@ -486,8 +488,6 @@ sub provision_raw_prepare($$$$$$$$$$$)
 
 	$ctx->{prefix} = $prefix;
 	$ctx->{prefix_abs} = $prefix_abs;
-	
-	$ctx->{dns_host_file} = "$ENV{SELFTEST_PREFIX}/dns_host_file";
 
 	$ctx->{server_role} = $server_role;
 	$ctx->{hostname} = $hostname;
@@ -533,6 +533,7 @@ sub provision_raw_prepare($$$$$$$$$$$)
 	$ctx->{nsswrap_passwd} = "$ctx->{etcdir}/passwd";
 	$ctx->{nsswrap_group} = "$ctx->{etcdir}/group";
 	$ctx->{nsswrap_hosts} = "$ENV{SELFTEST_PREFIX}/hosts";
+	$ctx->{resolv_conf} = "$ctx->{etcdir}/resolv.conf";
 
 	$ctx->{tlsdir} = "$ctx->{privatedir}/tls";
 
@@ -554,6 +555,7 @@ sub provision_raw_prepare($$$$$$$$$$$)
 	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}\"");
+	push (@provision_options, "RESOLV_WRAPPER_CONF=\"$ctx->{resolv_conf}\"");
 	if (defined($ENV{GDB_PROVISION})) {
 		push (@provision_options, "gdb --args");
 		if (!defined($ENV{PYTHON})) {
@@ -627,7 +629,6 @@ sub provision_raw_step1($$)
 	winbindd privileged socket directory = $ctx->{winbindd_privileged_socket_dir}
 	ntp signd socket directory = $ctx->{ntp_signd_socket_dir}
 	winbind separator = /
-	name resolve order = file bcast
 	interfaces = $ctx->{interfaces}
 	tls dh params file = $ctx->{tlsdir}/dhparms.pem
 	panic action = $RealBin/gdb_backtrace \%d
@@ -643,9 +644,8 @@ sub provision_raw_step1($$)
 	log level = $ctx->{server_loglevel}
 	lanman auth = Yes
 	rndc command = true
-	dns update command = $ENV{SRCDIR_ABS}/source4/scripting/bin/samba_dnsupdate --all-interfaces --use-file=$ctx->{dns_host_file} -s $ctx->{smb_conf}
+	dns update command = $ENV{SRCDIR_ABS}/source4/scripting/bin/samba_dnsupdate -s $ctx->{smb_conf}
 	spn update command = $ENV{SRCDIR_ABS}/source4/scripting/bin/samba_spnupdate -s $ctx->{smb_conf}
-	resolv:host file = $ctx->{dns_host_file}
 	dreplsrv:periodic_startup_interval = 0
 	dsdb:schema update allowed = yes
 
@@ -716,6 +716,11 @@ $ctx->{unix_name}:x:$ctx->{unix_gid}:
 	}
 	close(HOSTS);
 
+	open(RESOLV_CONF, ">$ctx->{resolv_conf}");
+	print RESOLV_CONF "nameserver $ctx->{kdc_ipv4}\n";
+	print RESOLV_CONF "nameserver $ctx->{kdc_ipv6}\n";
+	close(RESOLV_CONF);
+
 	my $configuration = "--configfile=$ctx->{smb_conf}";
 
 #Ensure the config file is valid before we start
@@ -755,6 +760,7 @@ $ctx->{unix_name}:x:$ctx->{unix_gid}:
 		NSS_WRAPPER_PASSWD => $ctx->{nsswrap_passwd},
 		NSS_WRAPPER_GROUP => $ctx->{nsswrap_group},
 		NSS_WRAPPER_HOSTS => $ctx->{nsswrap_hosts},
+		RESOLV_WRAPPER_CONF => $ctx->{resolv_conf},
 		SAMBA_TEST_FIFO => "$ctx->{prefix}/samba_test.fifo",
 		SAMBA_TEST_LOG => "$ctx->{prefix}/samba_test.log",
 		SAMBA_TEST_LOG_POS => 0,
@@ -973,6 +979,7 @@ rpc_server:tcpip = no
 	my $samba_tool =  Samba::bindir_path($self, "samba-tool");
 	my $cmd = "";
 	$cmd .= "SOCKET_WRAPPER_DEFAULT_IFACE=\"$ret->{SOCKET_WRAPPER_DEFAULT_IFACE}\" ";
+	$cmd .= "RESOLV_WRAPPER_CONF=\"$ret->{RESOLV_WRAPPER_CONF}\" ";
 	$cmd .= "KRB5_CONFIG=\"$ret->{KRB5_CONFIG}\" ";
 	$cmd .= "$samba_tool domain join $ret->{CONFIGURATION} $dcvars->{REALM} member";
 	$cmd .= " -U$dcvars->{DC_USERNAME}\%$dcvars->{DC_PASSWORD}";
@@ -1046,6 +1053,7 @@ sub provision_rpc_proxy($$$)
 	# The joind runs in the context of the rpc_proxy/member for now
 	my $cmd = "";
 	$cmd .= "SOCKET_WRAPPER_DEFAULT_IFACE=\"$ret->{SOCKET_WRAPPER_DEFAULT_IFACE}\" ";
+	$cmd .= "RESOLV_WRAPPER_CONF=\"$ret->{RESOLV_WRAPPER_CONF}\" ";
 	$cmd .= "KRB5_CONFIG=\"$ret->{KRB5_CONFIG}\" ";
 	$cmd .= "$samba_tool domain join $ret->{CONFIGURATION} $dcvars->{REALM} member";
 	$cmd .= " -U$dcvars->{DC_USERNAME}\%$dcvars->{DC_PASSWORD}";
@@ -1137,6 +1145,7 @@ sub provision_promoted_dc($$$)
 	my $samba_tool =  Samba::bindir_path($self, "samba-tool");
 	my $cmd = "";
 	$cmd .= "SOCKET_WRAPPER_DEFAULT_IFACE=\"$ret->{SOCKET_WRAPPER_DEFAULT_IFACE}\" ";
+	$cmd .= "RESOLV_WRAPPER_CONF=\"$ret->{RESOLV_WRAPPER_CONF}\" ";
 	$cmd .= "KRB5_CONFIG=\"$ret->{KRB5_CONFIG}\" ";
 	$cmd .= "$samba_tool domain join $ret->{CONFIGURATION} $dcvars->{REALM} MEMBER --realm=$dcvars->{REALM}";
 	$cmd .= " -U$dcvars->{DC_USERNAME}\%$dcvars->{DC_PASSWORD}";
@@ -1214,6 +1223,7 @@ sub provision_vampire_dc($$$)
 	my $samba_tool =  Samba::bindir_path($self, "samba-tool");
 	my $cmd = "";
 	$cmd .= "SOCKET_WRAPPER_DEFAULT_IFACE=\"$ret->{SOCKET_WRAPPER_DEFAULT_IFACE}\" ";
+	$cmd .= "RESOLV_WRAPPER_CONF=\"$ret->{RESOLV_WRAPPER_CONF}\" ";
 	$cmd .= "KRB5_CONFIG=\"$ret->{KRB5_CONFIG}\" ";
 	$cmd .= "$samba_tool domain join $ret->{CONFIGURATION} $dcvars->{REALM} DC --realm=$dcvars->{REALM}";
 	$cmd .= " -U$dcvars->{DC_USERNAME}\%$dcvars->{DC_PASSWORD} --domain-critical-only";
@@ -1290,6 +1300,7 @@ sub provision_subdom_dc($$$)
 	my $samba_tool =  Samba::bindir_path($self, "samba-tool");
 	my $cmd = "";
 	$cmd .= "SOCKET_WRAPPER_DEFAULT_IFACE=\"$ret->{SOCKET_WRAPPER_DEFAULT_IFACE}\" ";
+	$cmd .= "RESOLV_WRAPPER_CONF=\"$ret->{RESOLV_WRAPPER_CONF}\" ";
 	$cmd .= "KRB5_CONFIG=\"$ret->{KRB5_CONFIG}\" ";
 	$cmd .= "$samba_tool domain join $ret->{CONFIGURATION} $ctx->{dnsname} subdomain ";
 	$cmd .= "--parent-domain=$dcvars->{REALM} -U$dcvars->{DC_USERNAME}\@$dcvars->{REALM}\%$dcvars->{DC_PASSWORD}";
@@ -1514,6 +1525,7 @@ sub provision_rodc($$$)
 	my $samba_tool =  Samba::bindir_path($self, "samba-tool");
 	my $cmd = "";
 	$cmd .= "SOCKET_WRAPPER_DEFAULT_IFACE=\"$ret->{SOCKET_WRAPPER_DEFAULT_IFACE}\" ";
+	$cmd .= "RESOLV_WRAPPER_CONF=\"$ret->{RESOLV_WRAPPER_CONF}\" ";
 	$cmd .= "KRB5_CONFIG=\"$ret->{KRB5_CONFIG}\" ";
 	$cmd .= "$samba_tool domain join $ret->{CONFIGURATION} $dcvars->{REALM} RODC";
 	$cmd .= " -U$dcvars->{DC_USERNAME}\%$dcvars->{DC_PASSWORD}";
-- 
2.1.3




More information about the samba-technical mailing list