mirror of
https://github.com/samba-team/samba.git
synced 2024-12-22 13:34:15 +03:00
torture: add a test trying to set FILE_ATTRIBUTE_TEMPORARY on a directory
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15252 Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
parent
c8bf9495f4
commit
fdb19ce8aa
@ -146,6 +146,7 @@
|
||||
^samba4.smb2.create.*.acldir
|
||||
^samba4.smb2.create.*.impersonation
|
||||
^samba4.smb2.create.quota-fake-file\(ad_dc_ntvfs\) # not supported by the NTVFS
|
||||
^samba4.smb2.create.dosattr_tmp_dir\(ad_dc_ntvfs\)
|
||||
^samba4.smb2.acls.*.generic
|
||||
^samba4.smb2.acls.*.inheritflags
|
||||
^samba4.smb2.acls.*.owner
|
||||
|
1
selftest/knownfail.d/samba3.smb2.create.dosattr_tmp_dir
Normal file
1
selftest/knownfail.d/samba3.smb2.create.dosattr_tmp_dir
Normal file
@ -0,0 +1 @@
|
||||
^samba3.smb2.create.dosattr_tmp_dir\(.*\)
|
@ -3372,6 +3372,52 @@ static bool test_fileid_unique_dir(
|
||||
return test_fileid_unique_object(tctx, tree, 100, true);
|
||||
}
|
||||
|
||||
static bool test_dosattr_tmp_dir(struct torture_context *tctx,
|
||||
struct smb2_tree *tree)
|
||||
{
|
||||
bool ret = true;
|
||||
NTSTATUS status;
|
||||
struct smb2_create c;
|
||||
struct smb2_handle h1 = {{0}};
|
||||
const char *fname = DNAME;
|
||||
|
||||
smb2_deltree(tree, fname);
|
||||
smb2_util_rmdir(tree, fname);
|
||||
|
||||
c = (struct smb2_create) {
|
||||
.in.desired_access = SEC_RIGHTS_DIR_ALL,
|
||||
.in.file_attributes = FILE_ATTRIBUTE_DIRECTORY,
|
||||
.in.create_disposition = NTCREATEX_DISP_OPEN_IF,
|
||||
.in.share_access = NTCREATEX_SHARE_ACCESS_READ |
|
||||
NTCREATEX_SHARE_ACCESS_WRITE |
|
||||
NTCREATEX_SHARE_ACCESS_DELETE,
|
||||
.in.create_options = NTCREATEX_OPTIONS_DIRECTORY,
|
||||
.in.fname = DNAME,
|
||||
};
|
||||
|
||||
status = smb2_create(tree, tctx, &c);
|
||||
torture_assert_ntstatus_ok_goto(tctx, status, ret, done,
|
||||
"smb2_create\n");
|
||||
h1 = c.out.file.handle;
|
||||
|
||||
/* Try to set temporary attribute on directory */
|
||||
SET_ATTRIB(FILE_ATTRIBUTE_TEMPORARY);
|
||||
|
||||
torture_assert_ntstatus_equal_goto(tctx, status,
|
||||
NT_STATUS_INVALID_PARAMETER,
|
||||
ret, done,
|
||||
"Unexpected setinfo result\n");
|
||||
|
||||
done:
|
||||
if (!smb2_util_handle_empty(h1)) {
|
||||
smb2_util_close(tree, h1);
|
||||
}
|
||||
smb2_util_unlink(tree, fname);
|
||||
smb2_deltree(tree, fname);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
test opening quota fakefile handle and returned attributes
|
||||
*/
|
||||
@ -3927,6 +3973,7 @@ struct torture_suite *torture_smb2_create_init(TALLOC_CTX *ctx)
|
||||
torture_suite_add_1smb2_test(suite, "nulldacl", test_create_null_dacl);
|
||||
torture_suite_add_1smb2_test(suite, "mkdir-dup", test_mkdir_dup);
|
||||
torture_suite_add_1smb2_test(suite, "dir-alloc-size", test_dir_alloc_size);
|
||||
torture_suite_add_1smb2_test(suite, "dosattr_tmp_dir", test_dosattr_tmp_dir);
|
||||
torture_suite_add_1smb2_test(suite, "quota-fake-file", test_smb2_open_quota_fake_file);
|
||||
|
||||
torture_suite_add_1smb2_test(suite, "bench-path-contention-shared", test_smb2_bench_path_contention_shared);
|
||||
|
Loading…
Reference in New Issue
Block a user