From 61bd8760650fab45870f7c6f6ce1aefa8e2c3fa5 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Tue, 23 May 2006 10:45:20 +0000 Subject: r15836: Test an invalid DOS share mode. Volker (This used to be commit 0369d59142c6015f62bf50087f261c1e8430a8e2) --- source4/torture/basic/base.c | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) (limited to 'source4') diff --git a/source4/torture/basic/base.c b/source4/torture/basic/base.c index 29f0996bd4..ddcbcba2e6 100644 --- a/source4/torture/basic/base.c +++ b/source4/torture/basic/base.c @@ -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; } -- cgit