svn commit: samba r25840 - in branches/SAMBA_4_0/source/selftest/env: .

metze at samba.org metze at samba.org
Mon Nov 5 15:49:40 GMT 2007


Author: metze
Date: 2007-11-05 15:49:40 +0000 (Mon, 05 Nov 2007)
New Revision: 25840

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=25840

Log:
make test: activate nss_wrapper for make test

metze
Modified:
   branches/SAMBA_4_0/source/selftest/env/Samba4.pm


Changeset:
Modified: branches/SAMBA_4_0/source/selftest/env/Samba4.pm
===================================================================
--- branches/SAMBA_4_0/source/selftest/env/Samba4.pm	2007-11-05 15:47:34 UTC (rev 25839)
+++ branches/SAMBA_4_0/source/selftest/env/Samba4.pm	2007-11-05 15:49:40 UTC (rev 25840)
@@ -94,6 +94,9 @@
 
 		$ENV{KRB5_CONFIG} = $env_vars->{KRB5_CONFIG}; 
 
+		$ENV{NSS_WRAPPER_PASSWD} = $env_vars->{NSS_WRAPPER_PASSWD};
+		$ENV{NSS_WRAPPER_GROUP} = $env_vars->{NSS_WRAPPER_GROUP};
+
 		# Start slapd before smbd, but with the fifo on stdin
 		if (defined($self->{ldap})) {
 		    $self->slapd_start($env_vars) or 
@@ -448,6 +451,9 @@
 	my $dnsname = "samba.example.com";
 	my $basedn = "dc=samba,dc=example,dc=com";
 	my $unix_name = ($ENV{USER} or $ENV{LOGNAME} or `whoami`);
+	my $unix_uid = $>;
+	my $unix_gids_str = $);
+	my @unix_gids = split(" ", $unix_gids_str);
 	my $srcdir="$RealBin/..";
 	-d $prefix or mkdir($prefix, 0777) or die("Unable to create $prefix");
 	my $prefix_abs = abs_path($prefix);
@@ -461,6 +467,8 @@
 	my $lockdir = "$prefix_abs/lockdir";
 	my $winbindd_socket_dir = "$prefix_abs/winbind_socket";
 	my $winbindd_priv_pipe_dir = "$piddir/smbd.tmp/winbind_pipe";
+	my $nsswrap_passwd = "$etcdir/passwd";
+	my $nsswrap_group = "$etcdir/group";
 
 	my $configuration = "--configfile=$conffile";
 	my $ldapdir = "$privatedir/ldap";
@@ -577,6 +585,24 @@
 ";
 	close(KRB5CONF);
 
+	open(PWD, ">$nsswrap_passwd");
+	print PWD "
+root:x:0:0:root gecos:$prefix_abs:/bin/false
+$unix_name:x:$unix_uid:$unix_gids[0]:$unix_name gecos:$prefix_abs:/bin/false
+nobody:x:65534:65533:nobody gecos:$prefix_abs:/bin/false
+";
+	close(PWD);
+
+	open(GRP, ">$nsswrap_group");
+	print GRP "
+root:x:0:
+wheel:x:10:
+users:x:100:
+nobody:x:65533:
+nogroup:x:65534:nobody
+";
+	close(GRP);
+
 #Ensure the config file is valid before we start
 	if (system("$self->{bindir}/testparm $configuration -v --suppress-prompt >/dev/null 2>&1") != 0) {
 		system("$self->{bindir}/testparm -v --suppress-prompt $configuration >&2");
@@ -585,7 +611,11 @@
 
 	(system("($self->{bindir}/testparm $configuration -v --suppress-prompt --parameter-name=\"netbios name\" --section-name=global 2> /dev/null | grep -i \"^$netbiosname\" ) >/dev/null 2>&1") == 0) or die("Failed to create a valid smb.conf configuration!");
 
-my @provision_options = ("$self->{bindir}/smbscript", "$self->{setupdir}/provision");
+	my @provision_options = ();
+	push (@provision_options, "NSS_WRAPPER_PASSWD=\"$nsswrap_passwd\"");
+	push (@provision_options, "NSS_WRAPPER_GROUP=\"$nsswrap_group\"");
+	push (@provision_options, "$self->{bindir}/smbscript");
+	push (@provision_options, "$self->{setupdir}/provision");
 	push (@provision_options, split(' ', $configuration));
 	push (@provision_options, "--host-name=$netbiosname");
 	push (@provision_options, "--host-ip=$ifaceipv4");
@@ -598,7 +628,7 @@
 	push (@provision_options, "--root=$unix_name");
 	push (@provision_options, "--simple-bind-dn=cn=Manager,$localbasedn");
 	push (@provision_options, "--password=$password");
-	push (@provision_options, "--server-role=$server_role");
+	push (@provision_options, "--server-role=\"$server_role\"");
 
 	my $ldap_uri= "$ldapdir/ldapi";
 	$ldap_uri =~ s|/|%2F|g;
@@ -622,7 +652,9 @@
 		NCALRPCDIR => $ncalrpcdir,
 		LOCKDIR => $lockdir,
 		CONFIGURATION => $configuration,
-		SOCKET_WRAPPER_DEFAULT_IFACE => $swiface
+		SOCKET_WRAPPER_DEFAULT_IFACE => $swiface,
+		NSS_WRAPPER_PASSWD => $nsswrap_passwd,
+		NSS_WRAPPER_GROUP => $nsswrap_group,
 	};
 
 	if (defined($self->{ldap})) {
@@ -642,7 +674,8 @@
 			die("couldn't start slapd");
 	}
 
-	(system(@provision_options) == 0) or die("Unable to provision");
+	my $provision_cmd = join(" ", @provision_options);
+	(system($provision_cmd) == 0) or die("Unable to provision: \n$provision_cmd\n");
 
 	if (defined($self->{ldap})) {
 		$self->slapd_stop($ret) or 



More information about the samba-cvs mailing list