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

Reply via email to