[SCM] Samba Shared Repository - branch master updated
Andrew Bartlett
abartlet at samba.org
Wed Apr 6 23:21:01 MDT 2011
The branch, master has been updated
via e78d465 Revert "s3-test: disable ktest for now"
via 4cdbb88 s3-selftest actually wait for smbclient to connect
via 1862e90 s3-selftest Fix use of the 'fake DNS' file
via 1367e2b wintest Allow setting of the firewall to fail
via e410a1a s3-wintest Add test of 'net use' against the Samba3 member
via 9ced0df wintest Allow changing the telnet settings to fail, we might not be admin
via 36029a0 samba_dnsupdate: Don't use subprocess.check_call, it isn't in python 2.4
from 77820d5 s3-test: disable ktest for now
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit e78d4652fa7feade5fcae76fd84b60e204803b61
Author: Andrew Bartlett <abartlet at samba.org>
Date: Thu Apr 7 13:11:04 2011 +1000
Revert "s3-test: disable ktest for now"
This reverts commit 77820d59fe517168db5cb79b05214ae9fd6b4467.
I beleive this is now reliable, after the changes to wait for an
actual connection at startup and to use the fake DNS file.
Andrew Bartlett
Autobuild-User: Andrew Bartlett <abartlet at samba.org>
Autobuild-Date: Thu Apr 7 07:20:03 CEST 2011 on sn-devel-104
commit 4cdbb88c4b5319b0818a612dc7956b7ac213df19
Author: Andrew Bartlett <abartlet at samba.org>
Date: Thu Apr 7 13:07:23 2011 +1000
s3-selftest actually wait for smbclient to connect
This means that we actually have a working smbd. The previous code didn't know if it worked or not, and so created flaky tests.
Andrew Bartlett
commit 1862e904a821e2cd6132ab1d13b02da123edd94e
Author: Andrew Bartlett <abartlet at samba.org>
Date: Thu Apr 7 12:33:34 2011 +1000
s3-selftest Fix use of the 'fake DNS' file
This ensures we don't use netbios before the hosts file and that we do
fill in the fake DNS zone correctly for the way we invoke smbtorture4.
Currently this works because the realm in client.conf is "", if this
changes then this will need to change too (perhaps an additional
entry).
Andrew Bartlett
commit 1367e2b303bb11f26552ee511a823ea551e98cbd
Author: Andrew Bartlett <abartlet at samba.org>
Date: Thu Apr 7 14:06:31 2011 +1000
wintest Allow setting of the firewall to fail
This is also required to allow a telnet connection as non-admin.
Andrew Bartlett
commit e410a1af30467b2f1defd24cb17f5b53d30df7f9
Author: Andrew Bartlett <abartlet at samba.org>
Date: Thu Apr 7 08:54:52 2011 +1000
s3-wintest Add test of 'net use' against the Samba3 member
commit 9ced0df3794901b65d6329ba0d2f9d82f759cdac
Author: Andrew Bartlett <abartlet at samba.org>
Date: Thu Apr 7 12:25:30 2011 +1000
wintest Allow changing the telnet settings to fail, we might not be admin
This allows us to test logging in as non-admin users over telnet
commit 36029a0343c1c4221b84b3b1ee0e7c841f75d1d6
Author: Andrew Bartlett <abartlet at samba.org>
Date: Thu Apr 7 07:34:47 2011 +1000
samba_dnsupdate: Don't use subprocess.check_call, it isn't in python 2.4
RHEL5 and clones use python 2.5
-----------------------------------------------------------------------
Summary of changes:
selftest/selftest.pl | 2 +-
selftest/target/Samba3.pm | 18 +++++++++++++++---
source3/selftest/knownfail | 1 -
source4/scripting/bin/samba_dnsupdate | 9 ++++++++-
wintest/test-s3.py | 16 +++++++++++-----
wintest/wintest.py | 11 +++++++++--
6 files changed, 44 insertions(+), 13 deletions(-)
Changeset truncated at 500 lines:
diff --git a/selftest/selftest.pl b/selftest/selftest.pl
index 9db3f21..fbb36a2 100755
--- a/selftest/selftest.pl
+++ b/selftest/selftest.pl
@@ -596,7 +596,7 @@ sub write_clientconf($$$)
private dir = $clientdir/private
lock dir = $clientdir/lockdir
ncalrpc dir = $clientdir/ncalrpcdir
- name resolve order = bcast file
+ name resolve order = file bcast
panic action = $RealBin/gdb_backtrace \%PID\% \%PROG\%
max xmit = 32K
notify:inotify = false
diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm
index b6c851a..9a3be7d 100644
--- a/selftest/target/Samba3.pm
+++ b/selftest/target/Samba3.pm
@@ -813,7 +813,7 @@ domusers:X:$gid_domusers:
print "DONE\n";
open(HOSTS, ">>$ENV{SELFTEST_PREFIX}/dns_host_file") or die("Unable to open $ENV{SELFTEST_PREFIX}/dns_host_file");
- print HOSTS "A $server $server_ip
+ print HOSTS "A $server. $server_ip
";
close(HOSTS);
@@ -858,11 +858,23 @@ sub wait_for_start($$)
system($self->binpath("nmblookup") ." $envvars->{CONFIGURATION} -U 127.255.255.255 __SAMBA__");
system($self->binpath("nmblookup") ." $envvars->{CONFIGURATION} -U $envvars->{SERVER_IP} $envvars->{SERVER}");
system($self->binpath("nmblookup") ." $envvars->{CONFIGURATION} $envvars->{SERVER}");
+
# make sure smbd is also up set
print "wait for smbd\n";
- system($self->binpath("smbclient") ." $envvars->{CONFIGURATION} -L $envvars->{SERVER_IP} -U% -p 139 | head -2");
- system($self->binpath("smbclient") ." $envvars->{CONFIGURATION} -L $envvars->{SERVER_IP} -U% -p 139 | head -2");
+ my $count = 0;
+ my $ret;
+ do {
+ $ret = system($self->binpath("smbclient") ." $envvars->{CONFIGURATION} -L $envvars->{SERVER} -U% -p 139");
+ if ($ret != 0) {
+ sleep(2);
+ }
+ $count++
+ } while ($ret != 0 && $count < 10);
+ if ($count == 10) {
+ print "SMBD failed to start up in a reasonable time (20sec)\n";
+ exit 1;
+ }
# Ensure we have domain users mapped.
system($self->binpath("net") ." $envvars->{CONFIGURATION} groupmap add rid=513 unixgroup=domusers type=domain");
diff --git a/source3/selftest/knownfail b/source3/selftest/knownfail
index d97bed2..95f01f6 100644
--- a/source3/selftest/knownfail
+++ b/source3/selftest/knownfail
@@ -12,4 +12,3 @@ samba3.posix_s3.nbt.dgram.*netlogon2
samba3.*rap.sam.*.useradd # Not provided by Samba 3
samba3.*rap.sam.*.userdelete # Not provided by Samba 3
samba3.*rap.basic.*.netsessiongetinfo # Not provided by Samba 3
-samba3.*ktest # ktest is currently flakey due to name resolution issues
diff --git a/source4/scripting/bin/samba_dnsupdate b/source4/scripting/bin/samba_dnsupdate
index 99f898e..695bed6 100755
--- a/source4/scripting/bin/samba_dnsupdate
+++ b/source4/scripting/bin/samba_dnsupdate
@@ -263,7 +263,14 @@ def call_nsupdate(d):
try:
cmd = nsupdate_cmd[:]
cmd.append(tmpfile)
- subprocess.check_call(cmd, shell=False)
+ ret = subprocess.call(cmd, shell=False)
+ if ret != 0:
+ global error_count
+ if opts.fail_immediately:
+ sys.exit(1)
+ error_count = error_count + 1
+ if opts.verbose:
+ print("Failed nsupdate: %d" % ret)
except Exception, estr:
global error_count
if opts.fail_immediately:
diff --git a/wintest/test-s3.py b/wintest/test-s3.py
index 3002777..811e086 100755
--- a/wintest/test-s3.py
+++ b/wintest/test-s3.py
@@ -99,7 +99,6 @@ def test_smbclient(t):
child.sendline("cd ..")
child.sendline("rmdir testdir")
-
def create_shares(t):
t.info("Adding test shares")
t.chdir('${PREFIX}')
@@ -156,11 +155,9 @@ def join_as_member(t, vm):
t.cmd_contains("host -t A ${HOSTNAME}.${WIN_REALM}",
['${HOSTNAME}.${WIN_REALM} has address'])
-
-def test_join_as_member(t, vm):
- '''test the domain join'''
+def create_root_account(t, vm):
t.setwinvars(vm)
- t.info('Testing join as member')
+ t.info("Creating 'root' account for testing Samba3 member server")
t.chdir('${PREFIX}')
t.run_cmd('bin/net ads user add root -Uadministrator%${WIN_PASS}')
child = t.pexpect_spawn('bin/net ads password root -Uadministrator%${WIN_PASS}')
@@ -172,6 +169,12 @@ def test_join_as_member(t, vm):
child.expect("net rpc>")
child.sendline("user edit disabled root no")
child.expect("Set root's disabled flag")
+
+def test_join_as_member(t, vm):
+ '''test the domain join'''
+ t.setwinvars(vm)
+ t.info('Testing join as member')
+ t.chdir('${PREFIX}')
test_wbinfo(t)
test_smbclient(t)
@@ -208,6 +211,7 @@ def test_s3(t):
join_as_member(t, "W2K8R2A")
create_shares(t)
start_s3(t)
+ create_root_account(t, "W2K8R2A")
test_join_as_member(t, "W2K8R2A")
if t.have_var('WINDOWS7_VM') and t.have_var('W2K8R2A_VM') and not t.skip("join_windows7_2008r2"):
@@ -228,6 +232,7 @@ def test_s3(t):
t.test_remote_smbclient('WINDOWS7', dom_username, dom_password, args='--option=clientntlmv2auth=no')
t.test_remote_smbclient('WINDOWS7', "%s@%s" % (dom_username, dom_realm), dom_password, args="-k")
t.test_remote_smbclient('WINDOWS7', "%s@%s" % (dom_username, dom_realm), dom_password, args="-k --option=clientusespnegoprincipal=yes")
+ t.test_net_use('WINDOWS7', t.getvar("W2K8R2A_DOMAIN"), 'root', '${PASSWORD2}')
if t.have_var('WINXP_VM') and t.have_var('W2K8R2A_VM') and not t.skip("join_winxp_2008r2"):
if not dc_started:
@@ -246,6 +251,7 @@ def test_s3(t):
t.test_remote_smbclient('WINXP', dom_username, dom_password, args='--option=clientntlmv2auth=no')
t.test_remote_smbclient('WINXP', "%s@%s" % (dom_username, dom_realm), dom_password, args="-k")
t.test_remote_smbclient('WINXP', "%s@%s" % (dom_username, dom_realm), dom_password, args="-k --clientusespnegoprincipal=yes")
+ t.test_net_use('WINXP', t.getvar("W2K8R2A_DOMAIN"), 'root', '${PASSWORD2}')
t.info("S3 test: All OK")
diff --git a/wintest/wintest.py b/wintest/wintest.py
index 2a6da7d..d5728a8 100644
--- a/wintest/wintest.py
+++ b/wintest/wintest.py
@@ -571,13 +571,13 @@ options {
def run_tlntadmn(self, child):
'''remove the annoying telnet restrictions'''
child.sendline('tlntadmn config maxconn=1024')
- child.expect("The settings were successfully updated")
+ child.expect(["The settings were successfully updated", "Access is denied"])
child.expect("C:")
def disable_firewall(self, child):
'''remove the annoying firewall'''
child.sendline('netsh advfirewall set allprofiles state off')
- i = child.expect(["Ok", "The following command was not found: advfirewall set allprofiles state off"])
+ i = child.expect(["Ok", "The following command was not found: advfirewall set allprofiles state off", "The requested operation requires elevation"])
child.expect("C:")
if i == 1:
child.sendline('netsh firewall set opmode mode = DISABLE profile = ALL')
@@ -845,6 +845,13 @@ RebootOnCompletion=No
self.cmd_contains("bin/smbclient --version", ["${SAMBA_VERSION}"])
self.retry_cmd('bin/smbclient -L ${WIN_HOSTNAME} -U%s%%%s %s' % (username, password, args), ["IPC"])
+ def test_net_use(self, vm, domain, username, password):
+ self.setwinvars(vm)
+ self.info('Testing net use against Samba3 member')
+ child = self.open_telnet("${WIN_HOSTNAME}", "%s\\%s" % (domain, username), password)
+ child.sendline("net use t: \\\\${HOSTNAME}.${LCREALM}\\test")
+ child.expect("The command completed successfully")
+
def setup(self, testname, subdir):
'''setup for main tests, parsing command line'''
--
Samba Shared Repository
More information about the samba-cvs
mailing list