The branch, master has been updated via cfacece9ed96dc46c12f20990110c6528080bc32 (commit) via 520b6c0d5010731f6f512a9eb038f28adfd9cd03 (commit) via 7e560bd802c2869d4280f15bde100bbda944b70b (commit) via 56ae65ad5c0b9d4ef51dd06bd8a67841de2b57d3 (commit) from 66152d29b39aee81b7af68a6d9deea42dc249bdc (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit cfacece9ed96dc46c12f20990110c6528080bc32 Author: Volker Lendecke <v...@samba.org> Date: Tue Jun 30 20:06:55 2009 +0200 tldap: Do not do a return before we got the search_result commit 520b6c0d5010731f6f512a9eb038f28adfd9cd03 Author: Volker Lendecke <v...@samba.org> Date: Thu Jul 2 11:06:21 2009 +0200 Fix two pointless statics commit 7e560bd802c2869d4280f15bde100bbda944b70b Author: Volker Lendecke <v...@samba.org> Date: Fri Jul 3 22:36:11 2009 +0200 For non-existent streams we have to return OBJECT_NAME_NOT_FOUND See the STREAMERROR s3 torture test. Jeremy, Tim, please check! commit 56ae65ad5c0b9d4ef51dd06bd8a67841de2b57d3 Author: Volker Lendecke <v...@samba.org> Date: Thu Jul 2 11:56:33 2009 +0200 Test error codes on popular streams ----------------------------------------------------------------------- Summary of changes: source3/lib/tldap_util.c | 1 - source3/script/tests/test_smbtorture_s3.sh | 2 +- source3/smbd/open.c | 2 +- source3/torture/torture.c | 56 +++++++++++++++++++++++++++- 4 files changed, 57 insertions(+), 4 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/lib/tldap_util.c b/source3/lib/tldap_util.c index f3a8c71..73ce854 100644 --- a/source3/lib/tldap_util.c +++ b/source3/lib/tldap_util.c @@ -457,7 +457,6 @@ static void tldap_fetch_rootdse_done(struct tevent_req *subreq) default: goto protocol_error; } - tevent_req_done(req); return; protocol_error: diff --git a/source3/script/tests/test_smbtorture_s3.sh b/source3/script/tests/test_smbtorture_s3.sh index 4e439fe..c577ed1 100755 --- a/source3/script/tests/test_smbtorture_s3.sh +++ b/source3/script/tests/test_smbtorture_s3.sh @@ -24,7 +24,7 @@ incdir=`dirname $0` tests="FDPASS LOCK1 LOCK2 LOCK3 LOCK4 LOCK5 LOCK6 LOCK7" #tests="$tests UNLINK BROWSE ATTR TRANS2 MAXFID TORTURE " tests="$tests UNLINK BROWSE ATTR TRANS2 TORTURE " -tests="$tests OPLOCK1 OPLOCK2 OPLOCK3" +tests="$tests OPLOCK1 OPLOCK2 OPLOCK3 STREAMERROR" tests="$tests DIR DIR1 TCON TCONDEV RW1 RW2 RW3" tests="$tests OPEN XCOPY RENAME DELETE PROPERTIES W2K" tests="$tests TCON2 IOCTL CHKPATH FDSESS LOCAL-SUBSTITUTE CHAIN1" diff --git a/source3/smbd/open.c b/source3/smbd/open.c index 21e5804..df31365 100644 --- a/source3/smbd/open.c +++ b/source3/smbd/open.c @@ -3487,7 +3487,7 @@ NTSTATUS create_file_default(connection_struct *conn, TALLOC_FREE(fname); if (!(conn->fs_capabilities & FILE_NAMED_STREAMS)) { - status = NT_STATUS_OBJECT_PATH_NOT_FOUND; + status = NT_STATUS_OBJECT_NAME_NOT_FOUND; goto fail; } } diff --git a/source3/torture/torture.c b/source3/torture/torture.c index 8880104..012f893 100644 --- a/source3/torture/torture.c +++ b/source3/torture/torture.c @@ -705,7 +705,7 @@ static bool rw_torture2(struct cli_state *c1, struct cli_state *c2) static bool run_readwritetest(int dummy) { - static struct cli_state *cli1, *cli2; + struct cli_state *cli1, *cli2; bool test1, test2 = False; if (!torture_open_connection(&cli1, 0) || !torture_open_connection(&cli2, 1)) { @@ -5675,6 +5675,59 @@ static bool run_tldap(int dummy) return true; } +static bool run_streamerror(int dummy) +{ + struct cli_state *cli; + const char *dname = "\\testdir"; + const char *streamname = + "testdir:{4c8cc155-6c1e-11d1-8e41-00c04fb9386d}:$DATA"; + NTSTATUS status; + time_t change_time, access_time, write_time; + SMB_OFF_T size; + uint16_t mode, fnum; + bool ret = true; + + if (!torture_open_connection(&cli, 0)) { + return false; + } + + cli_rmdir(cli, dname); + + status = cli_mkdir(cli, dname); + if (!NT_STATUS_IS_OK(status)) { + printf("mkdir failed: %s\n", nt_errstr(status)); + return false; + } + + cli_qpathinfo(cli, streamname, &change_time, &access_time, &write_time, + &size, &mode); + status = cli_nt_error(cli); + + if (!NT_STATUS_EQUAL(status, NT_STATUS_OBJECT_NAME_NOT_FOUND)) { + printf("pathinfo returned %s, expected " + "NT_STATUS_OBJECT_NAME_NOT_FOUND\n", + nt_errstr(status)); + ret = false; + } + + status = cli_ntcreate(cli, streamname, 0x16, + FILE_READ_DATA|FILE_READ_EA| + FILE_READ_ATTRIBUTES|READ_CONTROL_ACCESS, + FILE_ATTRIBUTE_NORMAL, FILE_SHARE_READ, + FILE_OPEN, 0, 0, &fnum); + + if (!NT_STATUS_EQUAL(status, NT_STATUS_OBJECT_NAME_NOT_FOUND)) { + printf("ntcreate returned %s, expected " + "NT_STATUS_OBJECT_NAME_NOT_FOUND\n", + nt_errstr(status)); + ret = false; + } + + + cli_rmdir(cli, dname); + return ret; +} + static bool run_local_substitute(int dummy) { bool ok = true; @@ -6341,6 +6394,7 @@ static struct { { "CLI_ECHO", run_cli_echo, 0}, { "GETADDRINFO", run_getaddrinfo_send, 0}, { "TLDAP", run_tldap }, + { "STREAMERROR", run_streamerror }, { "LOCAL-SUBSTITUTE", run_local_substitute, 0}, { "LOCAL-GENCACHE", run_local_gencache, 0}, { "LOCAL-RBTREE", run_local_rbtree, 0}, -- Samba Shared Repository