#include "dlinklist.h"
#include "libcli/raw/libcliraw.h"
#include "torture/torture.h"
+#include "libcli/libcli.h"
+#include "torture/util.h"
int create_complex_file(struct smbcli_state *cli, TALLOC_CTX *mem_ctx, const char *fname);
#include "includes.h"
#include "torture/torture.h"
#include "libcli/libcli.h"
+#include "torture/util.h"
extern int torture_failures;
#include "torture/torture.h"
#include "torture/basic/proto.h"
#include "libcli/libcli.h"
+#include "torture/util.h"
#include "system/filesys.h"
#include "system/time.h"
#include "libcli/resolve/resolve.h"
#include "torture/torture.h"
#include "libcli/raw/libcliraw.h"
#include "libcli/libcli.h"
+#include "torture/util.h"
#define BASEDIR "\\chartest\\"
#include "system/time.h"
#include "system/filesys.h"
#include "libcli/libcli.h"
+#include "torture/util.h"
#define BASEDIR "\\delaywrite"
#include "includes.h"
#include "libcli/libcli.h"
#include "torture/torture.h"
+#include "torture/util.h"
#include "system/filesys.h"
#include "libcli/raw/libcliraw.h"
#include "system/filesys.h"
#include "libcli/raw/libcliraw.h"
#include "libcli/libcli.h"
+#include "torture/util.h"
extern BOOL torture_showall;
extern int torture_failures;
#include "includes.h"
#include "libcli/libcli.h"
#include "torture/torture.h"
+#include "torture/util.h"
#include "system/filesys.h"
static void list_fn(struct clilist_file_info *finfo, const char *name, void *state)
#include "system/filesys.h"
#include "libcli/raw/libcliraw.h"
#include "libcli/libcli.h"
+#include "torture/util.h"
#define BASEDIR "\\test_disconnect"
#include "includes.h"
#include "libcli/raw/libcliraw.h"
#include "libcli/libcli.h"
+#include "torture/util.h"
#include "torture/torture.h"
#include "system/time.h"
#include "system/filesys.h"
#include "system/filesys.h"
#include "lib/tdb/include/tdbutil.h"
#include "libcli/libcli.h"
+#include "torture/util.h"
#include "pstring.h"
static TDB_CONTEXT *tdb;
#include "torture/torture.h"
#include "libcli/raw/libcliraw.h"
#include "libcli/libcli.h"
+#include "torture/util.h"
struct bitmapping {
const char *name;
#include "includes.h"
#include "libcli/libcli.h"
#include "torture/torture.h"
+#include "torture/util.h"
/*
Test rename on files open with share delete and no share delete.
#include "includes.h"
#include "torture/torture.h"
#include "libcli/libcli.h"
+#include "torture/util.h"
#include "libcli/raw/libcliraw.h"
#include "system/filesys.h"
#include "pstring.h"
#include "torture/torture.h"
#include "libcli/raw/libcliraw.h"
#include "libcli/libcli.h"
+#include "torture/util.h"
#include "system/time.h"
#include "libcli/smb_composite/smb_composite.h"
#include "auth/credentials/credentials.h"
#include "system/filesys.h"
#include "libcli/raw/libcliraw.h"
#include "libcli/libcli.h"
+#include "torture/util.h"
#define BASEDIR "\\unlinktest"
#include "system/iconv.h"
#include "system/filesys.h"
#include "libcli/libcli.h"
+#include "torture/util.h"
#include "pstring.h"
BOOL torture_utable(void)
[BINARY::gentest]
INSTALLDIR = BINDIR
OBJ_FILES = \
- gentest.o \
- torture_util.o
+ gentest.o
REQUIRED_SUBSYSTEMS = \
CONFIG \
LIBBASIC \
[BINARY::locktest]
INSTALLDIR = BINDIR
OBJ_FILES = \
- locktest.o \
- torture_util.o
+ locktest.o
REQUIRED_SUBSYSTEMS = \
LIBSMB \
CONFIG \
#include "libcli/raw/libcliraw.h"
#include "librpc/gen_ndr/security.h"
#include "auth/gensec/gensec.h"
-#include "torture/torture.h"
#define NSERVERS 2
#define NINSTANCES 2
");
}
+/**
+ split a UNC name into server and share names
+*/
+static BOOL split_unc_name(const char *unc, char **server, char **share)
+{
+ char *p = strdup(unc);
+ if (!p) return False;
+ all_string_sub(p, "\\", "/", 0);
+ if (strncmp(p, "//", 2) != 0) return False;
+
+ (*server) = p+2;
+ p = strchr(*server, '/');
+ if (!p) return False;
+
+ *p = 0;
+ (*share) = p+1;
+
+ return True;
+}
+
+
+
/****************************************************************************
main program
****************************************************************************/
#include "torture/torture.h"
#include "system/iconv.h"
#include "system/time.h"
+#include "torture/util.h"
#if HAVE_NATIVE_ICONV
/*
*/
#include "includes.h"
-#include "torture/torture.h"
#include "libcli/libcli.h"
+#include "torture/util.h"
+#include "torture/torture.h"
#include "system/filesys.h"
#include "pstring.h"
#include "libcli/libcli.h"
#include "libcli/raw/libcliraw.h"
#include "torture/torture.h"
+#include "libcli/libcli.h"
+#include "torture/util.h"
#define MAX_FILES 100
*/
#include "includes.h"
-#include "torture/torture.h"
+#include "libcli/libcli.h"
+#include "torture/util.h"
#include "libcli/rap/rap.h"
#include "libcli/raw/libcliraw.h"
#include "libcli/libcli.h"
#include "libcli/util/clilsa.h"
#include "libcli/security/proto.h"
#include "librpc/gen_ndr/ndr_security.h"
+#include "torture/util.h"
#define BASEDIR "\\testsd"
#include "torture/torture.h"
#include "libcli/raw/libcliraw.h"
#include "libcli/libcli.h"
+#include "torture/util.h"
#define BASEDIR "\\rawchkpath"
#include "system/time.h"
#include "libcli/raw/libcliraw.h"
#include "libcli/libcli.h"
+#include "torture/util.h"
/* basic testing of all RAW_CLOSE_* calls
#include "libcli/smb_composite/smb_composite.h"
#include "lib/cmdline/popt_common.h"
#include "librpc/gen_ndr/security.h"
+#include "torture/util.h"
#define BASEDIR "\\composite"
#include "lib/cmdline/popt_common.h"
#include "lib/events/events.h"
#include "libcli/libcli.h"
+#include "torture/util.h"
#include "auth/credentials/credentials.h"
#define BASEDIR "\\rawcontext"
#include "torture/torture.h"
#include "libcli/raw/libcliraw.h"
#include "libcli/libcli.h"
+#include "torture/util.h"
#define BASEDIR "\\testeas"
#include "libcli/raw/ioctl.h"
#include "libcli/raw/libcliraw.h"
#include "libcli/libcli.h"
+#include "torture/util.h"
#define BASEDIR "\\rawioctl"
#include "system/time.h"
#include "system/filesys.h"
#include "libcli/libcli.h"
+#include "torture/util.h"
#define CHECK_STATUS(status, correct) do { \
if (!NT_STATUS_EQUAL(status, correct)) { \
#include "torture/torture.h"
#include "libcli/raw/libcliraw.h"
#include "libcli/libcli.h"
+#include "torture/util.h"
#define BASEDIR "\\mkdirtest"
#include "system/filesys.h"
#include "libcli/raw/libcliraw.h"
#include "libcli/libcli.h"
+#include "torture/util.h"
#define BASEDIR "\\test_mux"
#include "libcli/raw/libcliraw.h"
#include "libcli/libcli.h"
#include "system/filesys.h"
+#include "torture/util.h"
#define BASEDIR "\\test_notify"
#include "librpc/gen_ndr/security.h"
#include "lib/events/events.h"
#include "libcli/libcli.h"
+#include "torture/util.h"
/* enum for whether reads/writes are possible on a file */
enum rdwr_mode {RDWR_NONE, RDWR_RDONLY, RDWR_WRONLY, RDWR_RDWR};
#include "librpc/gen_ndr/security.h"
#include "libcli/raw/libcliraw.h"
#include "libcli/libcli.h"
+#include "torture/util.h"
#define CHECK_VAL(v, correct) do { \
if ((v) != (correct)) { \
#include "torture/torture.h"
#include "libcli/raw/libcliraw.h"
#include "libcli/libcli.h"
+#include "torture/util.h"
static struct {
const char *name;
#include "torture/torture.h"
#include "libcli/raw/libcliraw.h"
#include "libcli/libcli.h"
+#include "torture/util.h"
static struct {
#include "system/time.h"
#include "system/filesys.h"
#include "libcli/libcli.h"
+#include "torture/util.h"
#define CHECK_STATUS(status, correct) do { \
if (!NT_STATUS_EQUAL(status, correct)) { \
#include "torture/torture.h"
#include "libcli/raw/libcliraw.h"
#include "libcli/libcli.h"
+#include "torture/util.h"
#define CHECK_STATUS(status, correct) do { \
if (!NT_STATUS_EQUAL(status, correct)) { \
#include "system/filesys.h"
#include "libcli/raw/libcliraw.h"
#include "libcli/libcli.h"
+#include "torture/util.h"
#define BASEDIR "\\testsearch"
#include "system/filesys.h"
#include "libcli/raw/libcliraw.h"
#include "libcli/libcli.h"
+#include "torture/util.h"
#define CHECK_STATUS(status, correct) do { \
if (!NT_STATUS_EQUAL(status, correct)) { \
#include "system/time.h"
#include "libcli/raw/libcliraw.h"
#include "libcli/libcli.h"
+#include "torture/util.h"
#define BASEDIR "\\testsfileinfo"
#include "libcli/raw/libcliraw.h"
#include "system/filesys.h"
#include "libcli/libcli.h"
+#include "torture/util.h"
#define BASEDIR "\\teststreams"
#include "system/filesys.h"
#include "libcli/raw/libcliraw.h"
#include "libcli/libcli.h"
+#include "torture/util.h"
#define CHECK_STATUS(status, correct) do { \
if (!NT_STATUS_EQUAL(status, correct)) { \
#include "system/time.h"
#include "system/filesys.h"
#include "libcli/libcli.h"
+#include "torture/util.h"
#define CHECK_STATUS(status, correct) do { \
if (!NT_STATUS_EQUAL(status, correct)) { \
_PUBLIC_ BOOL torture_showall = False;
-BOOL torture_open_connection_share(TALLOC_CTX *mem_ctx,
- struct smbcli_state **c,
- const char *hostname,
- const char *sharename,
- struct event_context *ev)
-{
- NTSTATUS status;
-
- status = smbcli_full_connection(mem_ctx, c, hostname,
- sharename, NULL,
- cmdline_credentials, ev);
- if (!NT_STATUS_IS_OK(status)) {
- printf("Failed to open connection - %s\n", nt_errstr(status));
- return False;
- }
-
- (*c)->transport->options.use_oplocks = use_oplocks;
- (*c)->transport->options.use_level2_oplocks = use_level_II_oplocks;
-
- return True;
-}
-
-_PUBLIC_ BOOL torture_open_connection(struct smbcli_state **c)
-{
- const char *host = lp_parm_string(-1, "torture", "host");
- const char *share = lp_parm_string(-1, "torture", "share");
-
- return torture_open_connection_share(NULL, c, host, share, NULL);
-}
-
-
-
-_PUBLIC_ BOOL torture_close_connection(struct smbcli_state *c)
-{
- BOOL ret = True;
- if (!c) return True;
- if (NT_STATUS_IS_ERR(smbcli_tdis(c))) {
- printf("tdis failed (%s)\n", smbcli_errstr(c->tree));
- ret = False;
- }
- talloc_free(c);
- return ret;
-}
-
-
-/* check if the server produced the expected error code */
-_PUBLIC_ BOOL check_error(const char *location, struct smbcli_state *c,
- uint8_t eclass, uint32_t ecode, NTSTATUS nterr)
-{
- NTSTATUS status;
-
- status = smbcli_nt_error(c->tree);
- if (NT_STATUS_IS_DOS(status)) {
- int class, num;
- class = NT_STATUS_DOS_CLASS(status);
- num = NT_STATUS_DOS_CODE(status);
- if (eclass != class || ecode != num) {
- printf("unexpected error code %s\n", nt_errstr(status));
- printf(" expected %s or %s (at %s)\n",
- nt_errstr(NT_STATUS_DOS(eclass, ecode)),
- nt_errstr(nterr), location);
- return False;
- }
- } else {
- if (!NT_STATUS_EQUAL(nterr, status)) {
- printf("unexpected error code %s\n", nt_errstr(status));
- printf(" expected %s (at %s)\n", nt_errstr(nterr), location);
- return False;
- }
- }
-
- return True;
-}
-
static BOOL wait_lock(struct smbcli_state *c, int fnum, uint32_t offset, uint32_t len)
#ifndef __TORTURE_H__
#define __TORTURE_H__
+struct smbcli_state;
struct torture_op {
const char *name;
BOOL (*fn)(void);
extern int torture_failures;
extern BOOL use_level_II_oplocks;
-#include "libcli/libcli.h"
#include "torture/proto.h"
#endif /* __TORTURE_H__ */
}
-/*
- split a UNC name into server and share names
-*/
-BOOL split_unc_name(const char *unc, char **server, char **share)
-{
- char *p = strdup(unc);
- if (!p) return False;
- all_string_sub(p, "\\", "/", 0);
- if (strncmp(p, "//", 2) != 0) return False;
-
- (*server) = p+2;
- p = strchr(*server, '/');
- if (!p) return False;
-
- *p = 0;
- (*share) = p+1;
-
- return True;
-}
-
/*
set a attribute on a file
*/
return NT_STATUS_EA_CORRUPT_ERROR;
}
+BOOL torture_open_connection_share(TALLOC_CTX *mem_ctx,
+ struct smbcli_state **c,
+ const char *hostname,
+ const char *sharename,
+ struct event_context *ev)
+{
+ NTSTATUS status;
+
+ status = smbcli_full_connection(mem_ctx, c, hostname,
+ sharename, NULL,
+ cmdline_credentials, ev);
+ if (!NT_STATUS_IS_OK(status)) {
+ printf("Failed to open connection - %s\n", nt_errstr(status));
+ return False;
+ }
+
+ (*c)->transport->options.use_oplocks = use_oplocks;
+ (*c)->transport->options.use_level2_oplocks = use_level_II_oplocks;
+
+ return True;
+}
+
+_PUBLIC_ BOOL torture_open_connection(struct smbcli_state **c)
+{
+ const char *host = lp_parm_string(-1, "torture", "host");
+ const char *share = lp_parm_string(-1, "torture", "share");
+
+ return torture_open_connection_share(NULL, c, host, share, NULL);
+}
+
+
+
+_PUBLIC_ BOOL torture_close_connection(struct smbcli_state *c)
+{
+ BOOL ret = True;
+ if (!c) return True;
+ if (NT_STATUS_IS_ERR(smbcli_tdis(c))) {
+ printf("tdis failed (%s)\n", smbcli_errstr(c->tree));
+ ret = False;
+ }
+ talloc_free(c);
+ return ret;
+}
+
+
+/* check if the server produced the expected error code */
+_PUBLIC_ BOOL check_error(const char *location, struct smbcli_state *c,
+ uint8_t eclass, uint32_t ecode, NTSTATUS nterr)
+{
+ NTSTATUS status;
+
+ status = smbcli_nt_error(c->tree);
+ if (NT_STATUS_IS_DOS(status)) {
+ int class, num;
+ class = NT_STATUS_DOS_CLASS(status);
+ num = NT_STATUS_DOS_CODE(status);
+ if (eclass != class || ecode != num) {
+ printf("unexpected error code %s\n", nt_errstr(status));
+ printf(" expected %s or %s (at %s)\n",
+ nt_errstr(NT_STATUS_DOS(eclass, ecode)),
+ nt_errstr(nterr), location);
+ return False;
+ }
+ } else {
+ if (!NT_STATUS_EQUAL(nterr, status)) {
+ printf("unexpected error code %s\n", nt_errstr(status));
+ printf(" expected %s (at %s)\n", nt_errstr(nterr), location);
+ return False;
+ }
+ }
+
+ return True;
+}
+
+