summaryrefslogtreecommitdiff
path: root/source4/torture
diff options
context:
space:
mode:
Diffstat (limited to 'source4/torture')
-rw-r--r--source4/torture/gentest.c50
-rw-r--r--source4/torture/raw/notify.c90
2 files changed, 70 insertions, 70 deletions
diff --git a/source4/torture/gentest.c b/source4/torture/gentest.c
index 6a97f24ba5..80b09ee6be 100644
--- a/source4/torture/gentest.c
+++ b/source4/torture/gentest.c
@@ -84,7 +84,7 @@ static struct {
static struct {
int notify_count;
NTSTATUS status;
- union smb_notify notify;
+ struct smb_notify notify;
} notifies[NSERVERS][NINSTANCES];
/* info relevant to the current operation */
@@ -680,7 +680,7 @@ static struct ea_struct gen_ea_struct(void)
*/
static void async_notify(struct smbcli_request *req)
{
- union smb_notify notify;
+ struct smb_notify notify;
NTSTATUS status;
int i, j;
uint16_t tid;
@@ -692,9 +692,9 @@ static void async_notify(struct smbcli_request *req)
if (NT_STATUS_IS_OK(status)) {
printf("notify tid=%d num_changes=%d action=%d name=%s\n",
tid,
- notify.notify.out.num_changes,
- notify.notify.out.changes[0].action,
- notify.notify.out.changes[0].name.s);
+ notify.out.num_changes,
+ notify.out.changes[0].action,
+ notify.out.changes[0].name.s);
}
for (i=0;i<NSERVERS;i++) {
@@ -892,7 +892,7 @@ again:
for (j=0;j<NINSTANCES;j++) {
for (i=1;i<NSERVERS;i++) {
int n;
- union smb_notify not1, not2;
+ struct smb_notify not1, not2;
if (notifies[0][j].notify_count != notifies[i][j].notify_count) {
if (tries++ < 10) goto again;
@@ -919,26 +919,26 @@ again:
not1 = notifies[0][j].notify;
not2 = notifies[i][j].notify;
- for (n=0;n<not1.notify.out.num_changes;n++) {
- if (not1.notify.out.changes[n].action !=
- not2.notify.out.changes[n].action) {
+ for (n=0;n<not1.out.num_changes;n++) {
+ if (not1.out.changes[n].action !=
+ not2.out.changes[n].action) {
printf("Notify action %d inconsistent %d %d\n", n,
- not1.notify.out.changes[n].action,
- not2.notify.out.changes[n].action);
+ not1.out.changes[n].action,
+ not2.out.changes[n].action);
return False;
}
- if (strcmp(not1.notify.out.changes[n].name.s,
- not2.notify.out.changes[n].name.s)) {
+ if (strcmp(not1.out.changes[n].name.s,
+ not2.out.changes[n].name.s)) {
printf("Notify name %d inconsistent %s %s\n", n,
- not1.notify.out.changes[n].name.s,
- not2.notify.out.changes[n].name.s);
+ not1.out.changes[n].name.s,
+ not2.out.changes[n].name.s);
return False;
}
- if (not1.notify.out.changes[n].name.private_length !=
- not2.notify.out.changes[n].name.private_length) {
+ if (not1.out.changes[n].name.private_length !=
+ not2.out.changes[n].name.private_length) {
printf("Notify name length %d inconsistent %d %d\n", n,
- not1.notify.out.changes[n].name.private_length,
- not2.notify.out.changes[n].name.private_length);
+ not1.out.changes[n].name.private_length,
+ not2.out.changes[n].name.private_length);
return False;
}
}
@@ -1820,16 +1820,16 @@ static BOOL handler_sfileinfo(int instance)
*/
static BOOL handler_notify(int instance)
{
- union smb_notify parm[NSERVERS];
+ struct smb_notify parm[NSERVERS];
int n;
- parm[0].notify.in.buffer_size = gen_io_count();
- parm[0].notify.in.completion_filter = gen_bits_mask(0xFF);
- parm[0].notify.in.file.fnum = gen_fnum(instance);
- parm[0].notify.in.recursive = gen_bool();
+ parm[0].in.buffer_size = gen_io_count();
+ parm[0].in.completion_filter = gen_bits_mask(0xFF);
+ parm[0].in.file.fnum = gen_fnum(instance);
+ parm[0].in.recursive = gen_bool();
GEN_COPY_PARM;
- GEN_SET_FNUM(notify.in.file.fnum);
+ GEN_SET_FNUM(in.file.fnum);
for (n=0;n<NSERVERS;n++) {
struct smbcli_request *req;
diff --git a/source4/torture/raw/notify.c b/source4/torture/raw/notify.c
index 617eddf73f..38b1fe64b3 100644
--- a/source4/torture/raw/notify.c
+++ b/source4/torture/raw/notify.c
@@ -59,7 +59,7 @@ static BOOL test_notify_dir(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
{
BOOL ret = True;
NTSTATUS status;
- union smb_notify notify;
+ struct smb_notify notify;
union smb_open io;
int i, count, fnum, fnum2;
struct smbcli_request *req, *req2;
@@ -93,10 +93,10 @@ static BOOL test_notify_dir(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
/* ask for a change notify,
on file or directory name changes */
- notify.notify.in.buffer_size = 1000;
- notify.notify.in.completion_filter = FILE_NOTIFY_CHANGE_NAME;
- notify.notify.in.file.fnum = fnum;
- notify.notify.in.recursive = True;
+ notify.in.buffer_size = 1000;
+ notify.in.completion_filter = FILE_NOTIFY_CHANGE_NAME;
+ notify.in.file.fnum = fnum;
+ notify.in.recursive = True;
printf("testing notify cancel\n");
@@ -113,9 +113,9 @@ static BOOL test_notify_dir(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
status = smb_raw_changenotify_recv(req, mem_ctx, &notify);
CHECK_STATUS(status, NT_STATUS_OK);
- CHECK_VAL(notify.notify.out.num_changes, 1);
- CHECK_VAL(notify.notify.out.changes[0].action, NOTIFY_ACTION_ADDED);
- CHECK_WSTR(notify.notify.out.changes[0].name, "subdir-name", STR_UNICODE);
+ CHECK_VAL(notify.out.num_changes, 1);
+ CHECK_VAL(notify.out.changes[0].action, NOTIFY_ACTION_ADDED);
+ CHECK_WSTR(notify.out.changes[0].name, "subdir-name", STR_UNICODE);
printf("testing notify rmdir\n");
@@ -124,9 +124,9 @@ static BOOL test_notify_dir(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
status = smb_raw_changenotify_recv(req, mem_ctx, &notify);
CHECK_STATUS(status, NT_STATUS_OK);
- CHECK_VAL(notify.notify.out.num_changes, 1);
- CHECK_VAL(notify.notify.out.changes[0].action, NOTIFY_ACTION_REMOVED);
- CHECK_WSTR(notify.notify.out.changes[0].name, "subdir-name", STR_UNICODE);
+ CHECK_VAL(notify.out.num_changes, 1);
+ CHECK_VAL(notify.out.changes[0].action, NOTIFY_ACTION_REMOVED);
+ CHECK_WSTR(notify.out.changes[0].name, "subdir-name", STR_UNICODE);
printf("testing notify mkdir - rmdir - mkdir - rmdir\n");
@@ -137,15 +137,15 @@ static BOOL test_notify_dir(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
req = smb_raw_changenotify_send(cli->tree, &notify);
status = smb_raw_changenotify_recv(req, mem_ctx, &notify);
CHECK_STATUS(status, NT_STATUS_OK);
- CHECK_VAL(notify.notify.out.num_changes, 4);
- CHECK_VAL(notify.notify.out.changes[0].action, NOTIFY_ACTION_ADDED);
- CHECK_WSTR(notify.notify.out.changes[0].name, "subdir-name", STR_UNICODE);
- CHECK_VAL(notify.notify.out.changes[1].action, NOTIFY_ACTION_REMOVED);
- CHECK_WSTR(notify.notify.out.changes[1].name, "subdir-name", STR_UNICODE);
- CHECK_VAL(notify.notify.out.changes[2].action, NOTIFY_ACTION_ADDED);
- CHECK_WSTR(notify.notify.out.changes[2].name, "subdir-name", STR_UNICODE);
- CHECK_VAL(notify.notify.out.changes[3].action, NOTIFY_ACTION_REMOVED);
- CHECK_WSTR(notify.notify.out.changes[3].name, "subdir-name", STR_UNICODE);
+ CHECK_VAL(notify.out.num_changes, 4);
+ CHECK_VAL(notify.out.changes[0].action, NOTIFY_ACTION_ADDED);
+ CHECK_WSTR(notify.out.changes[0].name, "subdir-name", STR_UNICODE);
+ CHECK_VAL(notify.out.changes[1].action, NOTIFY_ACTION_REMOVED);
+ CHECK_WSTR(notify.out.changes[1].name, "subdir-name", STR_UNICODE);
+ CHECK_VAL(notify.out.changes[2].action, NOTIFY_ACTION_ADDED);
+ CHECK_WSTR(notify.out.changes[2].name, "subdir-name", STR_UNICODE);
+ CHECK_VAL(notify.out.changes[3].action, NOTIFY_ACTION_REMOVED);
+ CHECK_WSTR(notify.out.changes[3].name, "subdir-name", STR_UNICODE);
count = torture_numops;
printf("testing buffered notify on create of %d files\n", count);
@@ -164,12 +164,12 @@ static BOOL test_notify_dir(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
/* (1st notify) setup a new notify on a different directory handle.
This new notify won't see the events above. */
- notify.notify.in.file.fnum = fnum2;
+ notify.in.file.fnum = fnum2;
req2 = smb_raw_changenotify_send(cli->tree, &notify);
/* (2nd notify) whereas this notify will see the above buffered events,
and it directly returns the buffered events */
- notify.notify.in.file.fnum = fnum;
+ notify.in.file.fnum = fnum;
req = smb_raw_changenotify_send(cli->tree, &notify);
/* (1st unlink) as the 2nd notify directly returns,
@@ -183,18 +183,18 @@ static BOOL test_notify_dir(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
status = smb_raw_changenotify_recv(req, mem_ctx, &notify);
CHECK_STATUS(status, NT_STATUS_OK);
- CHECK_VAL(notify.notify.out.num_changes, count);
- for (i=1;i<notify.notify.out.num_changes;i++) {
- CHECK_VAL(notify.notify.out.changes[i].action, NOTIFY_ACTION_ADDED);
+ CHECK_VAL(notify.out.num_changes, count);
+ for (i=1;i<notify.out.num_changes;i++) {
+ CHECK_VAL(notify.out.changes[i].action, NOTIFY_ACTION_ADDED);
}
- CHECK_WSTR(notify.notify.out.changes[0].name, "test0.txt", STR_UNICODE);
+ CHECK_WSTR(notify.out.changes[0].name, "test0.txt", STR_UNICODE);
/* and now from the 1st notify */
status = smb_raw_changenotify_recv(req2, mem_ctx, &notify);
CHECK_STATUS(status, NT_STATUS_OK);
- CHECK_VAL(notify.notify.out.num_changes, 1);
- CHECK_VAL(notify.notify.out.changes[0].action, NOTIFY_ACTION_REMOVED);
- CHECK_WSTR(notify.notify.out.changes[0].name, "test0.txt", STR_UNICODE);
+ CHECK_VAL(notify.out.num_changes, 1);
+ CHECK_VAL(notify.out.changes[0].action, NOTIFY_ACTION_REMOVED);
+ CHECK_WSTR(notify.out.changes[0].name, "test0.txt", STR_UNICODE);
/* (3rd notify) this notify will only see the 1st unlink */
req = smb_raw_changenotify_send(cli->tree, &notify);
@@ -207,26 +207,26 @@ static BOOL test_notify_dir(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
/* recev the 3rd notify */
status = smb_raw_changenotify_recv(req, mem_ctx, &notify);
CHECK_STATUS(status, NT_STATUS_OK);
- CHECK_VAL(notify.notify.out.num_changes, 1);
- CHECK_VAL(notify.notify.out.changes[0].action, NOTIFY_ACTION_REMOVED);
- CHECK_WSTR(notify.notify.out.changes[0].name, "test0.txt", STR_UNICODE);
+ CHECK_VAL(notify.out.num_changes, 1);
+ CHECK_VAL(notify.out.changes[0].action, NOTIFY_ACTION_REMOVED);
+ CHECK_WSTR(notify.out.changes[0].name, "test0.txt", STR_UNICODE);
/* and we now see the rest of the unlink calls on both directory handles */
- notify.notify.in.file.fnum = fnum;
+ notify.in.file.fnum = fnum;
req = smb_raw_changenotify_send(cli->tree, &notify);
status = smb_raw_changenotify_recv(req, mem_ctx, &notify);
CHECK_STATUS(status, NT_STATUS_OK);
- CHECK_VAL(notify.notify.out.num_changes, count-1);
- for (i=0;i<notify.notify.out.num_changes;i++) {
- CHECK_VAL(notify.notify.out.changes[i].action, NOTIFY_ACTION_REMOVED);
+ CHECK_VAL(notify.out.num_changes, count-1);
+ for (i=0;i<notify.out.num_changes;i++) {
+ CHECK_VAL(notify.out.changes[i].action, NOTIFY_ACTION_REMOVED);
}
- notify.notify.in.file.fnum = fnum2;
+ notify.in.file.fnum = fnum2;
req = smb_raw_changenotify_send(cli->tree, &notify);
status = smb_raw_changenotify_recv(req, mem_ctx, &notify);
CHECK_STATUS(status, NT_STATUS_OK);
- CHECK_VAL(notify.notify.out.num_changes, count-1);
- for (i=0;i<notify.notify.out.num_changes;i++) {
- CHECK_VAL(notify.notify.out.changes[i].action, NOTIFY_ACTION_REMOVED);
+ CHECK_VAL(notify.out.num_changes, count-1);
+ for (i=0;i<notify.out.num_changes;i++) {
+ CHECK_VAL(notify.out.changes[i].action, NOTIFY_ACTION_REMOVED);
}
done:
@@ -243,7 +243,7 @@ static BOOL test_notify_file(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
BOOL ret = True;
union smb_open io;
union smb_close cl;
- union smb_notify notify;
+ struct smb_notify notify;
struct smbcli_request *req;
int fnum;
const char *fname = BASEDIR "\\file.txt";
@@ -268,10 +268,10 @@ static BOOL test_notify_file(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
/* ask for a change notify,
on file or directory name changes */
- notify.notify.in.file.fnum = fnum;
- notify.notify.in.buffer_size = 1000;
- notify.notify.in.completion_filter = FILE_NOTIFY_CHANGE_STREAM_NAME;
- notify.notify.in.recursive = False;
+ notify.in.file.fnum = fnum;
+ notify.in.buffer_size = 1000;
+ notify.in.completion_filter = FILE_NOTIFY_CHANGE_STREAM_NAME;
+ notify.in.recursive = False;
printf("testing if notifies on file handles are invalid (should be)\n");