r3236: test a few more combinations in RAW-UNLINK
authorAndrew Tridgell <tridge@samba.org>
Tue, 26 Oct 2004 05:33:23 +0000 (05:33 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:04:43 +0000 (13:04 -0500)
(This used to be commit 5b239ad57be93fabd50760b12878e32df53e939d)

source4/torture/raw/unlink.c

index 9d6b1a0fefe5ca382fb79e2a1892fdacdd7cd7c6..9c408105dfd338fae7f9038c1a5c9d5084565a70 100644 (file)
@@ -95,6 +95,11 @@ static BOOL test_unlink(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
        status = smb_raw_unlink(cli->tree, &io);
        CHECK_STATUS(status, NT_STATUS_OBJECT_PATH_SYNTAX_BAD);
 
+       io.in.pattern = BASEDIR "\\..\\..";
+       io.in.attrib = 0;
+       status = smb_raw_unlink(cli->tree, &io);
+       CHECK_STATUS(status, NT_STATUS_OBJECT_PATH_SYNTAX_BAD);
+
        io.in.pattern = BASEDIR "\\..";
        io.in.attrib = 0;
        status = smb_raw_unlink(cli->tree, &io);
@@ -107,11 +112,33 @@ static BOOL test_unlink(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
        status = smb_raw_unlink(cli->tree, &io);
        CHECK_STATUS(status, NT_STATUS_NO_SUCH_FILE);
 
+       io.in.pattern = BASEDIR "\\z*";
+       io.in.attrib = 0;
+       status = smb_raw_unlink(cli->tree, &io);
+       CHECK_STATUS(status, NT_STATUS_NO_SUCH_FILE);
+
+       io.in.pattern = BASEDIR "\\z*";
+       io.in.attrib = FILE_ATTRIBUTE_DIRECTORY;
+       status = smb_raw_unlink(cli->tree, &io);
+       CHECK_STATUS(status, NT_STATUS_NO_SUCH_FILE);
+
        io.in.pattern = BASEDIR "\\*";
        io.in.attrib = FILE_ATTRIBUTE_DIRECTORY;
        status = smb_raw_unlink(cli->tree, &io);
        CHECK_STATUS(status, NT_STATUS_OBJECT_NAME_INVALID);
 
+       io.in.pattern = BASEDIR "\\?";
+       io.in.attrib = FILE_ATTRIBUTE_DIRECTORY;
+       status = smb_raw_unlink(cli->tree, &io);
+       CHECK_STATUS(status, NT_STATUS_OBJECT_NAME_INVALID);
+
+       io.in.pattern = BASEDIR "\\t*";
+       io.in.attrib = FILE_ATTRIBUTE_DIRECTORY;
+       status = smb_raw_unlink(cli->tree, &io);
+       CHECK_STATUS(status, NT_STATUS_OK);
+
+       smbcli_close(cli->tree, smbcli_open(cli->tree, fname, O_RDWR|O_CREAT, DENY_NONE));
+
        io.in.pattern = BASEDIR "\\*.dat";
        io.in.attrib = FILE_ATTRIBUTE_DIRECTORY;
        status = smb_raw_unlink(cli->tree, &io);