[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha8-217-gcfacece

Volker Lendecke vlendec at samba.org
Fri Jul 3 21:21:39 GMT 2009


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 <vl at 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 <vl at samba.org>
Date:   Thu Jul 2 11:06:21 2009 +0200

    Fix two pointless statics

commit 7e560bd802c2869d4280f15bde100bbda944b70b
Author: Volker Lendecke <vl at 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 <vl at 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


More information about the samba-cvs mailing list