r15836: Test an invalid DOS share mode.
authorVolker Lendecke <vlendec@samba.org>
Tue, 23 May 2006 10:45:20 +0000 (10:45 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 19:08:31 +0000 (14:08 -0500)
Volker
(This used to be commit 0369d59142c6015f62bf50087f261c1e8430a8e2)

source4/torture/basic/base.c

index 29f0996bd458429b645f7718690fbeb19d7477c7..ddcbcba2e6ebc54089c1b9dbdd7926b6c2415ca6 100644 (file)
@@ -1707,6 +1707,39 @@ static BOOL torture_samba3_errorpaths(struct torture_context *torture)
                goto fail;
        }
 
+       {
+               /* Test an invalid DOS deny mode */
+               const char *fname = "test.txt";
+
+               fnum = smbcli_open(cli_nt->tree, fname, O_RDWR | O_CREAT, 5);
+               if (fnum != -1) {
+                       printf("Open(%s) with invalid deny mode succeeded -- "
+                              "expected failure\n", fname);
+                       smbcli_close(cli_nt->tree, fnum);
+                       goto fail;
+               }
+               if (!NT_STATUS_EQUAL(smbcli_nt_error(cli_nt->tree),
+                                    NT_STATUS_DOS(ERRDOS,ERRbadaccess))) {
+                       printf("Expected DOS error ERRDOS/ERRbadaccess, "
+                              "got %s\n", smbcli_errstr(cli_nt->tree));
+                       goto fail;
+               }
+
+               fnum = smbcli_open(cli_dos->tree, fname, O_RDWR | O_CREAT, 5);
+               if (fnum != -1) {
+                       printf("Open(%s) with invalid deny mode succeeded -- "
+                              "expected failure\n", fname);
+                       smbcli_close(cli_nt->tree, fnum);
+                       goto fail;
+               }
+               if (!NT_STATUS_EQUAL(smbcli_nt_error(cli_nt->tree),
+                                    NT_STATUS_DOS(ERRDOS,ERRbadaccess))) {
+                       printf("Expected DOS error ERRDOS:ERRbadaccess, "
+                              "got %s\n", smbcli_errstr(cli_nt->tree));
+                       goto fail;
+               }
+       }
+
        if (!lp_parm_bool(-1, "target", "samba3", False)) {
                goto done;
        }
@@ -1740,7 +1773,7 @@ static BOOL torture_samba3_errorpaths(struct torture_context *torture)
 
        if (!NT_STATUS_EQUAL(smbcli_nt_error(cli_nt->tree),
                             NT_STATUS_OBJECT_NAME_NOT_FOUND)) {
-               printf("Expected DOS error NT_STATUS_OBJECT_NAME_NOT_FOUND, "
+               printf("Expected error NT_STATUS_OBJECT_NAME_NOT_FOUND, "
                       "got %s\n", smbcli_errstr(cli_nt->tree));
                goto fail;
        }