#include "torture/smb2/proto.h"
-#define FNAME "scan-getinfo.dat"
-#define DNAME "scan-getinfo.dir"
-
-
/*
scan for valid SMB2 getinfo levels
*/
-bool torture_smb2_getinfo_scan(struct torture_context *torture)
+static bool torture_smb2_getinfo_scan(struct torture_context *torture)
{
struct smb2_tree *tree;
NTSTATUS status;
struct smb2_handle fhandle, dhandle;
int c, i;
+ static const char *FNAME = "scan-getinfo.dat";
+ static const char *FNAME2 = "scan-getinfo.dat:2ndstream";
+ static const char *DNAME = "scan-getinfo.dir";
+ static const char *DNAME2 = "scan-getinfo.dir:2ndstream";
+
if (!torture_smb2_connection(torture, &tree)) {
return false;
}
status = torture_setup_complex_file(tree, FNAME);
if (!NT_STATUS_IS_OK(status)) {
- printf("Failed to setup complex file '%s'\n", FNAME);
+ printf("Failed to setup complex file '%s': %s\n",
+ FNAME, nt_errstr(status));
return false;
}
- torture_setup_complex_file(tree, FNAME ":2ndstream");
+ torture_setup_complex_file(tree, FNAME2);
status = torture_setup_complex_dir(tree, DNAME);
if (!NT_STATUS_IS_OK(status)) {
- printf("Failed to setup complex dir '%s'\n", DNAME);
+ printf("Failed to setup complex dir '%s': %s\n",
+ DNAME, nt_errstr(status));
+ smb2_util_unlink(tree, FNAME);
return false;
}
- torture_setup_complex_file(tree, DNAME ":2ndstream");
+ torture_setup_complex_file(tree, DNAME2);
torture_smb2_testfile(tree, FNAME, &fhandle);
torture_smb2_testdir(tree, DNAME, &dhandle);
}
}
+ smb2_util_unlink(tree, FNAME);
+ smb2_util_rmdir(tree, DNAME);
return true;
}
/*
scan for valid SMB2 setinfo levels
*/
-bool torture_smb2_setinfo_scan(struct torture_context *torture)
+static bool torture_smb2_setinfo_scan(struct torture_context *torture)
{
+ static const char *FNAME = "scan-setinfo.dat";
+ static const char *FNAME2 = "scan-setinfo.dat:2ndstream";
+
struct smb2_tree *tree;
NTSTATUS status;
struct smb2_setinfo io;
status = torture_setup_complex_file(tree, FNAME);
if (!NT_STATUS_IS_OK(status)) {
- printf("Failed to setup complex file '%s'\n", FNAME);
+ printf("Failed to setup complex file '%s': %s\n",
+ FNAME, nt_errstr(status));
return false;
}
- torture_setup_complex_file(tree, FNAME ":2ndstream");
+ torture_setup_complex_file(tree, FNAME2);
torture_smb2_testfile(tree, FNAME, &handle);
}
}
+ smb2_util_unlink(tree, FNAME);
return true;
}
/*
scan for valid SMB2 scan levels
*/
-bool torture_smb2_find_scan(struct torture_context *torture)
+static bool torture_smb2_find_scan(struct torture_context *torture)
{
struct smb2_tree *tree;
NTSTATUS status;
/*
scan for valid SMB2 opcodes
*/
-bool torture_smb2_scan(struct torture_context *torture)
+static bool torture_smb2_scan(struct torture_context *torture)
{
TALLOC_CTX *mem_ctx = talloc_new(NULL);
struct smb2_tree *tree;
return true;
}
+
+struct torture_suite *torture_smb2_scan_init(void)
+{
+ struct torture_suite *suite = torture_suite_create(talloc_autofree_context(), "scan");
+
+ torture_suite_add_simple_test(suite, "scan", torture_smb2_scan);
+ torture_suite_add_simple_test(suite, "getinfo", torture_smb2_getinfo_scan);
+ torture_suite_add_simple_test(suite, "setinfo", torture_smb2_setinfo_scan);
+ torture_suite_add_simple_test(suite, "find", torture_smb2_find_scan);
+
+ suite->description = talloc_strdup(suite, "scan target (not a test)");
+
+ return suite;
+}