The branch, master has been updated via f101349 selftest/s3-selftest.sh: knownfailure filtering for non-build-farm make test via c91bdd2 s3:torture: fix printf output, lines can't start with lower case "test" via a489fb3 s3:torture: fix run_uid_regression_test via cd8e2fd s3-errormap: map ERRSRV/ERRbaduid to NT_STATUS_USER_SESSION_DELETED via 88f9657 s4-errormap: map ERRSRV/ERRbaduid to NT_STATUS_USER_SESSION_DELETED via 0ad2890 s4:provision: remember the setup directory if it wasn't the default from bf7ca3f s3-spoolss: Fix _spoolss_GetPrinter().
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit f101349c73a2c52f887cf1e3789fd42307b45297 Author: Stefan Metzmacher <me...@samba.org> Date: Wed Sep 8 17:56:33 2010 +0200 selftest/s3-selftest.sh: knownfailure filtering for non-build-farm make test metze commit c91bdd2b0e02d31a1ea3a13a7f32a10e12c83fa8 Author: Stefan Metzmacher <me...@samba.org> Date: Wed Sep 8 17:54:29 2010 +0200 s3:torture: fix printf output, lines can't start with lower case "test" metze commit a489fb3ee252a052ed6bc6033bf021b249dbecca Author: Stefan Metzmacher <me...@samba.org> Date: Wed Sep 8 17:55:12 2010 +0200 s3:torture: fix run_uid_regression_test metze commit cd8e2fd9fa2d2b0ef8c3c7189697577d46c2f848 Author: Stefan Metzmacher <me...@samba.org> Date: Wed Sep 8 17:53:47 2010 +0200 s3-errormap: map ERRSRV/ERRbaduid to NT_STATUS_USER_SESSION_DELETED metze commit 88f96578cde4fa0b4aa18234a5c4c2f453fcc2c8 Author: Stefan Metzmacher <me...@samba.org> Date: Wed Sep 8 17:53:47 2010 +0200 s4-errormap: map ERRSRV/ERRbaduid to NT_STATUS_USER_SESSION_DELETED metze commit 0ad2890c4e5a0249d45440f66b0ceae33c832328 Author: Stefan Metzmacher <me...@samba.org> Date: Fri Sep 10 06:36:02 2010 +0200 s4:provision: remember the setup directory if it wasn't the default This fixes make test without a make install. metze ----------------------------------------------------------------------- Summary of changes: selftest/s3-selftest.sh | 3 +- source3/libsmb/errormap.c | 2 + source3/torture/torture.c | 89 +++++++++++++++------------ source4/libcli/util/errormap.c | 1 + source4/scripting/python/samba/provision.py | 8 +++ source4/setup/provision.smb.conf.dc | 1 + source4/setup/provision.smb.conf.member | 1 + source4/setup/provision.smb.conf.standalone | 1 + 8 files changed, 65 insertions(+), 41 deletions(-) Changeset truncated at 500 lines: diff --git a/selftest/s3-selftest.sh b/selftest/s3-selftest.sh index 2087b51..86e4b75 100755 --- a/selftest/s3-selftest.sh +++ b/selftest/s3-selftest.sh @@ -2,7 +2,6 @@ FILTER_XFAIL="${PYTHON} -u ${SELFTESTDIR}/filter-subunit --expected-failures=${SOURCEDIR}/selftest/knownfail" SUBUNIT_FORMATTER="${PYTHON} -u ${SELFTESTDIR}/format-subunit --prefix=${SELFTESTPREFIX} --immediate" -FORMAT_TEST_OUTPUT="${FILTER_XFAIL} | ${SUBUNIT_FORMATTER}" cleanup_and_exit() { if test "$1" = 0 -o -z "$1"; then @@ -36,7 +35,7 @@ else --exclude=${SOURCEDIR}/selftest/skip \ --socket-wrapper ${TESTS} \ && touch ${SELFTESTPREFIX}/st_done ) | \ - ${SUBUNIT_FORMATTER} + ${FILTER_XFAIL} | ${SUBUNIT_FORMATTER} EXIT_STATUS=$? st_test_done diff --git a/source3/libsmb/errormap.c b/source3/libsmb/errormap.c index 8b4ef23..babe6b9 100644 --- a/source3/libsmb/errormap.c +++ b/source3/libsmb/errormap.c @@ -182,6 +182,7 @@ static const struct { during the session setup } */ {ERRSRV, ERRbadpw, NT_STATUS_WRONG_PASSWORD}, + {ERRSRV, ERRbaduid, NT_STATUS_USER_SESSION_DELETED}, {ERRHRD, ERRgeneral, NT_STATUS_ILL_FORMED_PASSWORD}, {ERRHRD, ERRgeneral, NT_STATUS_PASSWORD_RESTRICTION}, {ERRDOS, ERRnoaccess, NT_STATUS_LOGON_FAILURE}, @@ -736,6 +737,7 @@ static const struct { {ERRDOS, 1021, NT_STATUS_CHILD_MUST_BE_VOLATILE}, {ERRDOS, 1022, NT_STATUS(0x0000010c)}, {ERRSRV, ERRbadpw, NT_STATUS_WRONG_PASSWORD}, + {ERRSRV, ERRbaduid, NT_STATUS_USER_SESSION_DELETED}, {ERRSRV, ERRbadtype, NT_STATUS_BAD_DEVICE_TYPE}, {ERRSRV, ERRaccess, NT_STATUS_NETWORK_ACCESS_DENIED}, {ERRSRV, ERRinvnid, NT_STATUS_NETWORK_NAME_DELETED}, diff --git a/source3/torture/torture.c b/source3/torture/torture.c index 8a2aec6..806455f 100644 --- a/source3/torture/torture.c +++ b/source3/torture/torture.c @@ -4160,8 +4160,7 @@ static bool run_opentest(int dummy) cli_unlink(cli1, fname, aSYSTEM | aHIDDEN); - - printf("testing ctemp\n"); + printf("Do ctemp tests\n"); if (!NT_STATUS_IS_OK(cli_ctemp(cli1, talloc_tos(), "\\", &fnum1, &tmp_path))) { printf("ctemp failed (%s)\n", cli_errstr(cli1)); return False; @@ -4189,22 +4188,22 @@ static bool run_opentest(int dummy) if (!NT_STATUS_IS_OK(cli_ntcreate(cli1, fname, 0, FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL, FILE_SHARE_NONE, FILE_OVERWRITE_IF, 0, 0, &fnum1))) { - printf("test 1 open 1 of %s failed (%s)\n", fname, cli_errstr(cli1)); + printf("TEST #1 open 1 of %s failed (%s)\n", fname, cli_errstr(cli1)); return False; } if (!NT_STATUS_IS_OK(cli_ntcreate(cli2, fname, 0, FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL, FILE_SHARE_NONE, FILE_OPEN_IF, 0, 0, &fnum2))) { - printf("test 1 open 2 of %s failed (%s)\n", fname, cli_errstr(cli2)); + printf("TEST #1 open 2 of %s failed (%s)\n", fname, cli_errstr(cli2)); return False; } if (!NT_STATUS_IS_OK(cli_close(cli1, fnum1))) { - printf("test 1 close 1 of %s failed (%s)\n", fname, cli_errstr(cli1)); + printf("TEST #1 close 1 of %s failed (%s)\n", fname, cli_errstr(cli1)); return False; } if (!NT_STATUS_IS_OK(cli_close(cli2, fnum2))) { - printf("test 1 close 2 of %s failed (%s)\n", fname, cli_errstr(cli2)); + printf("TEST #1 close 2 of %s failed (%s)\n", fname, cli_errstr(cli2)); return False; } @@ -4216,22 +4215,22 @@ static bool run_opentest(int dummy) if (!NT_STATUS_IS_OK(cli_ntcreate(cli1, fname, 0, DELETE_ACCESS|FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL, FILE_SHARE_NONE, FILE_OVERWRITE_IF, 0, 0, &fnum1))) { - printf("test 2 open 1 of %s failed (%s)\n", fname, cli_errstr(cli1)); + printf("TEST #2 open 1 of %s failed (%s)\n", fname, cli_errstr(cli1)); return False; } if (!NT_STATUS_IS_OK(cli_ntcreate(cli2, fname, 0, FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL, FILE_SHARE_NONE, FILE_OPEN_IF, 0, 0, &fnum2))) { - printf("test 2 open 2 of %s failed (%s)\n", fname, cli_errstr(cli2)); + printf("TEST #2 open 2 of %s failed (%s)\n", fname, cli_errstr(cli2)); return False; } if (!NT_STATUS_IS_OK(cli_close(cli1, fnum1))) { - printf("test 1 close 1 of %s failed (%s)\n", fname, cli_errstr(cli1)); + printf("TEST #2 close 1 of %s failed (%s)\n", fname, cli_errstr(cli1)); return False; } if (!NT_STATUS_IS_OK(cli_close(cli2, fnum2))) { - printf("test 1 close 2 of %s failed (%s)\n", fname, cli_errstr(cli1)); + printf("TEST #2 close 2 of %s failed (%s)\n", fname, cli_errstr(cli1)); return False; } @@ -4243,22 +4242,22 @@ static bool run_opentest(int dummy) if (!NT_STATUS_IS_OK(cli_ntcreate(cli1, fname, 0, FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL, FILE_SHARE_NONE, FILE_OVERWRITE_IF, 0, 0, &fnum1))) { - printf("test 3 open 1 of %s failed (%s)\n", fname, cli_errstr(cli1)); + printf("TEST #3 open 1 of %s failed (%s)\n", fname, cli_errstr(cli1)); return False; } if (!NT_STATUS_IS_OK(cli_ntcreate(cli2, fname, 0, DELETE_ACCESS|FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL, FILE_SHARE_NONE, FILE_OPEN_IF, 0, 0, &fnum2))) { - printf("test 3 open 2 of %s failed (%s)\n", fname, cli_errstr(cli2)); + printf("TEST #3 open 2 of %s failed (%s)\n", fname, cli_errstr(cli2)); return False; } if (!NT_STATUS_IS_OK(cli_close(cli1, fnum1))) { - printf("test 3 close 1 of %s failed (%s)\n", fname, cli_errstr(cli1)); + printf("TEST #3 close 1 of %s failed (%s)\n", fname, cli_errstr(cli1)); return False; } if (!NT_STATUS_IS_OK(cli_close(cli2, fnum2))) { - printf("test 3 close 2 of %s failed (%s)\n", fname, cli_errstr(cli2)); + printf("TEST #3 close 2 of %s failed (%s)\n", fname, cli_errstr(cli2)); return False; } @@ -4270,20 +4269,20 @@ static bool run_opentest(int dummy) if (!NT_STATUS_IS_OK(cli_ntcreate(cli1, fname, 0, DELETE_ACCESS|FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL, FILE_SHARE_NONE, FILE_OVERWRITE_IF, 0, 0, &fnum1))) { - printf("test 4 open 1 of %s failed (%s)\n", fname, cli_errstr(cli1)); + printf("TEST #4 open 1 of %s failed (%s)\n", fname, cli_errstr(cli1)); return False; } if (NT_STATUS_IS_OK(cli_ntcreate(cli2, fname, 0, DELETE_ACCESS|FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL, FILE_SHARE_NONE, FILE_OPEN_IF, 0, 0, &fnum2))) { - printf("test 4 open 2 of %s SUCCEEDED - should have failed (%s)\n", fname, cli_errstr(cli2)); + printf("TEST #4 open 2 of %s SUCCEEDED - should have failed (%s)\n", fname, cli_errstr(cli2)); return False; } - printf("test 3 open 2 of %s gave %s (correct error should be %s)\n", fname, cli_errstr(cli2), "sharing violation"); + printf("TEST #4 open 2 of %s gave %s (correct error should be %s)\n", fname, cli_errstr(cli2), "sharing violation"); if (!NT_STATUS_IS_OK(cli_close(cli1, fnum1))) { - printf("test 4 close 1 of %s failed (%s)\n", fname, cli_errstr(cli1)); + printf("TEST #4 close 1 of %s failed (%s)\n", fname, cli_errstr(cli1)); return False; } @@ -4295,23 +4294,23 @@ static bool run_opentest(int dummy) if (!NT_STATUS_IS_OK(cli_ntcreate(cli1, fname, 0, DELETE_ACCESS|FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL, FILE_SHARE_DELETE, FILE_OVERWRITE_IF, 0, 0, &fnum1))) { - printf("test 5 open 1 of %s failed (%s)\n", fname, cli_errstr(cli1)); + printf("TEST #5 open 1 of %s failed (%s)\n", fname, cli_errstr(cli1)); return False; } if (!NT_STATUS_IS_OK(cli_ntcreate(cli2, fname, 0, DELETE_ACCESS|FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL, FILE_SHARE_DELETE, FILE_OPEN_IF, 0, 0, &fnum2))) { - printf("test 5 open 2 of %s failed (%s)\n", fname, cli_errstr(cli2)); + printf("TEST #5 open 2 of %s failed (%s)\n", fname, cli_errstr(cli2)); return False; } if (!NT_STATUS_IS_OK(cli_close(cli1, fnum1))) { - printf("test 5 close 1 of %s failed (%s)\n", fname, cli_errstr(cli1)); + printf("TEST #5 close 1 of %s failed (%s)\n", fname, cli_errstr(cli1)); return False; } if (!NT_STATUS_IS_OK(cli_close(cli2, fnum2))) { - printf("test 5 close 2 of %s failed (%s)\n", fname, cli_errstr(cli2)); + printf("TEST #5 close 2 of %s failed (%s)\n", fname, cli_errstr(cli2)); return False; } @@ -4323,23 +4322,23 @@ static bool run_opentest(int dummy) if (!NT_STATUS_IS_OK(cli_ntcreate(cli1, fname, 0, FILE_READ_DATA, FILE_ATTRIBUTE_NORMAL, FILE_SHARE_NONE, FILE_OVERWRITE_IF, 0, 0, &fnum1))) { - printf("test 6 open 1 of %s failed (%s)\n", fname, cli_errstr(cli1)); + printf("TEST #6 open 1 of %s failed (%s)\n", fname, cli_errstr(cli1)); return False; } if (!NT_STATUS_IS_OK(cli_ntcreate(cli2, fname, 0, FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL, FILE_SHARE_READ, FILE_OPEN_IF, 0, 0, &fnum2))) { - printf("test 6 open 2 of %s failed (%s)\n", fname, cli_errstr(cli2)); + printf("TEST #6 open 2 of %s failed (%s)\n", fname, cli_errstr(cli2)); return False; } if (!NT_STATUS_IS_OK(cli_close(cli1, fnum1))) { - printf("test 6 close 1 of %s failed (%s)\n", fname, cli_errstr(cli1)); + printf("TEST #6 close 1 of %s failed (%s)\n", fname, cli_errstr(cli1)); return False; } if (!NT_STATUS_IS_OK(cli_close(cli2, fnum2))) { - printf("test 6 close 2 of %s failed (%s)\n", fname, cli_errstr(cli2)); + printf("TEST #6 close 2 of %s failed (%s)\n", fname, cli_errstr(cli2)); return False; } @@ -4351,20 +4350,20 @@ static bool run_opentest(int dummy) if (!NT_STATUS_IS_OK(cli_ntcreate(cli1, fname, 0, FILE_READ_DATA, FILE_ATTRIBUTE_NORMAL, FILE_SHARE_NONE, FILE_OVERWRITE_IF, 0, 0, &fnum1))) { - printf("test 7 open 1 of %s failed (%s)\n", fname, cli_errstr(cli1)); + printf("TEST #7 open 1 of %s failed (%s)\n", fname, cli_errstr(cli1)); return False; } if (NT_STATUS_IS_OK(cli_ntcreate(cli2, fname, 0, DELETE_ACCESS|FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL, FILE_SHARE_READ|FILE_SHARE_DELETE, FILE_OPEN_IF, 0, 0, &fnum2))) { - printf("test 7 open 2 of %s SUCCEEDED - should have failed (%s)\n", fname, cli_errstr(cli2)); + printf("TEST #7 open 2 of %s SUCCEEDED - should have failed (%s)\n", fname, cli_errstr(cli2)); return False; } - printf("test 7 open 2 of %s gave %s (correct error should be %s)\n", fname, cli_errstr(cli2), "sharing violation"); + printf("TEST #7 open 2 of %s gave %s (correct error should be %s)\n", fname, cli_errstr(cli2), "sharing violation"); if (!NT_STATUS_IS_OK(cli_close(cli1, fnum1))) { - printf("test 7 close 1 of %s failed (%s)\n", fname, cli_errstr(cli1)); + printf("TEST #7 close 1 of %s failed (%s)\n", fname, cli_errstr(cli1)); return False; } @@ -6124,11 +6123,18 @@ static bool run_uid_regression_test(int dummy) cli->vuid = old_vuid; /* Try an operation. */ - if (!NT_STATUS_IS_OK(cli_mkdir(cli, "\\uid_reg_test"))) { - /* We expect bad uid. */ + status = cli_mkdir(cli, "\\uid_reg_test"); + if (NT_STATUS_IS_OK(status)) { + d_printf("(%s) cli_mkdir succeeded\n", + __location__); + correct = false; + goto out; + } else { + /* Should be bad uid. */ if (!check_error(__LINE__, cli, ERRSRV, ERRbaduid, - NT_STATUS_NO_SUCH_USER)) { - return False; + NT_STATUS_USER_SESSION_DELETED)) { + correct = false; + goto out; } } @@ -6141,9 +6147,11 @@ static bool run_uid_regression_test(int dummy) status = cli_tdis(cli); if (NT_STATUS_IS_OK(status)) { - printf("First tdis with invalid vuid should succeed.\n"); + d_printf("First tdis with invalid vuid should succeed.\n"); } else { - printf("First tdis failed (%s)\n", nt_errstr(status)); + d_printf("First tdis failed (%s)\n", nt_errstr(status)); + correct = false; + goto out; } cli->vuid = old_vuid; @@ -6152,12 +6160,15 @@ static bool run_uid_regression_test(int dummy) /* This should fail. */ status = cli_tdis(cli); if (NT_STATUS_IS_OK(status)) { - printf("Second tdis with invalid vuid should fail - succeeded instead !.\n"); + d_printf("Second tdis with invalid vuid should fail - succeeded instead !.\n"); + correct = false; + goto out; } else { /* Should be bad tid. */ if (!check_error(__LINE__, cli, ERRSRV, ERRinvnid, NT_STATUS_NETWORK_NAME_DELETED)) { - return False; + correct = false; + goto out; } } @@ -6970,7 +6981,7 @@ static bool test_stream_name(const char *fname, const char *expected_base, return true; error: - d_fprintf(stderr, "test_stream(%s, %s, %s, %s)\n", + d_fprintf(stderr, "Do test_stream(%s, %s, %s, %s)\n", fname, expected_base ? expected_base : "<NULL>", expected_stream ? expected_stream : "<NULL>", nt_errstr(expected_status)); diff --git a/source4/libcli/util/errormap.c b/source4/libcli/util/errormap.c index c314195..8fcf60b 100644 --- a/source4/libcli/util/errormap.c +++ b/source4/libcli/util/errormap.c @@ -179,6 +179,7 @@ static const struct { during the session setup } */ {ERRSRV, ERRbadpw, NT_STATUS_WRONG_PASSWORD}, + {ERRSRV, ERRbaduid, NT_STATUS_USER_SESSION_DELETED}, {ERRHRD, ERRgeneral, NT_STATUS_ILL_FORMED_PASSWORD}, {ERRHRD, ERRgeneral, NT_STATUS_PASSWORD_RESTRICTION}, {ERRDOS, ERRnoaccess, NT_STATUS_LOGON_FAILURE}, diff --git a/source4/scripting/python/samba/provision.py b/source4/scripting/python/samba/provision.py index 59787da..ef58520 100644 --- a/source4/scripting/python/samba/provision.py +++ b/source4/scripting/python/samba/provision.py @@ -569,6 +569,13 @@ def make_smbconf(smbconf, setup_path, hostname, domain, realm, serverrole, else: sid_generator_line = "sid generator = " + sid_generator + used_setup_dir = setup_path("") + default_setup_dir = default_lp.get("setup directory") + setupdir_line = "" + if used_setup_dir != default_setup_dir: + setupdir_line = "setup directory = %s" % used_setup_dir + default_lp.set("setup directory", used_setup_dir) + sysvol = os.path.join(default_lp.get("lock dir"), "sysvol") netlogon = os.path.join(sysvol, realm.lower(), "scripts") @@ -580,6 +587,7 @@ def make_smbconf(smbconf, setup_path, hostname, domain, realm, serverrole, "SERVERROLE": serverrole, "NETLOGONPATH": netlogon, "SYSVOLPATH": sysvol, + "SETUPDIRECTORY_LINE": setupdir_line, "SIDGENERATOR_LINE": sid_generator_line, "PRIVATEDIR_LINE": privatedir_line, "LOCKDIR_LINE": lockdir_line, diff --git a/source4/setup/provision.smb.conf.dc b/source4/setup/provision.smb.conf.dc index 0449f75..e720900 100644 --- a/source4/setup/provision.smb.conf.dc +++ b/source4/setup/provision.smb.conf.dc @@ -3,6 +3,7 @@ workgroup = ${DOMAIN} realm = ${REALM} server role = ${SERVERROLE} + ${SETUPDIRECTORY_LINE} ${SIDGENERATOR_LINE} ${PRIVATEDIR_LINE} ${LOCKDIR_LINE} diff --git a/source4/setup/provision.smb.conf.member b/source4/setup/provision.smb.conf.member index 4d32ef4..9fe8995 100644 --- a/source4/setup/provision.smb.conf.member +++ b/source4/setup/provision.smb.conf.member @@ -3,6 +3,7 @@ workgroup = ${DOMAIN} realm = ${REALM} server role = ${SERVERROLE} + ${SETUPDIRECTORY_LINE} ${SIDGENERATOR_LINE} ${PRIVATEDIR_LINE} ${LOCKDIR_LINE} diff --git a/source4/setup/provision.smb.conf.standalone b/source4/setup/provision.smb.conf.standalone index 4d32ef4..9fe8995 100644 --- a/source4/setup/provision.smb.conf.standalone +++ b/source4/setup/provision.smb.conf.standalone @@ -3,6 +3,7 @@ workgroup = ${DOMAIN} realm = ${REALM} server role = ${SERVERROLE} + ${SETUPDIRECTORY_LINE} ${SIDGENERATOR_LINE} ${PRIVATEDIR_LINE} ${LOCKDIR_LINE} -- Samba Shared Repository