diff options
Diffstat (limited to 'source4/torture')
-rw-r--r-- | source4/torture/raw/context.c | 4 | ||||
-rw-r--r-- | source4/torture/rpc/eventlog.c | 46 | ||||
-rw-r--r-- | source4/torture/rpc/xplogin.c | 2 |
3 files changed, 28 insertions, 24 deletions
diff --git a/source4/torture/raw/context.c b/source4/torture/raw/context.c index 61747f5dc4..d76882d84d 100644 --- a/source4/torture/raw/context.c +++ b/source4/torture/raw/context.c @@ -289,7 +289,7 @@ static BOOL test_tree(struct smbcli_state *cli, TALLOC_CTX *mem_ctx) tcon.tconx.in.password = data_blob(NULL, 0); tcon.tconx.in.path = talloc_asprintf(mem_ctx, "\\\\%s\\%s", host, share); tcon.tconx.in.device = "A:"; - status = smb_tree_connect(tree, mem_ctx, &tcon); + status = smb_raw_tcon(tree, mem_ctx, &tcon); CHECK_STATUS(status, NT_STATUS_OK); @@ -298,7 +298,7 @@ static BOOL test_tree(struct smbcli_state *cli, TALLOC_CTX *mem_ctx) printf("try a tconx with a bad device type\n"); tcon.tconx.in.device = "FOO"; - status = smb_tree_connect(tree, mem_ctx, &tcon); + status = smb_raw_tcon(tree, mem_ctx, &tcon); CHECK_STATUS(status, NT_STATUS_BAD_DEVICE_TYPE); diff --git a/source4/torture/rpc/eventlog.c b/source4/torture/rpc/eventlog.c index 5ce0652729..eebf485e5c 100644 --- a/source4/torture/rpc/eventlog.c +++ b/source4/torture/rpc/eventlog.c @@ -54,41 +54,45 @@ static BOOL test_GetNumRecords(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, } static BOOL test_ReadEventLog(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, - struct policy_handle *handle, uint32_t offset) + struct policy_handle *handle) { NTSTATUS status; struct eventlog_ReadEventLogW r; printf("\ntesting ReadEventLog\n"); + r.in.offset = 0; r.in.handle = handle; r.in.flags = EVENTLOG_BACKWARDS_READ|EVENTLOG_SEQUENTIAL_READ; - r.in.offset = 0; - r.in.number_of_bytes = 0; - status = dcerpc_eventlog_ReadEventLogW(p, mem_ctx, &r); + while (1) { + r.in.number_of_bytes = 0; + r.out.data = NULL; - if (NT_STATUS_IS_OK(r.out.result)) { - /* No data */ - return True; - } + status = dcerpc_eventlog_ReadEventLogW(p, mem_ctx, &r); - if (!NT_STATUS_EQUAL(r.out.result, NT_STATUS_BUFFER_TOO_SMALL)) { - printf("ReadEventLog failed - %s\n", nt_errstr(r.out.result)); - return False; - } + if (NT_STATUS_EQUAL(r.out.result, NT_STATUS_END_OF_FILE)) { + break; + } - r.in.number_of_bytes = r.out.real_size; - r.out.data = talloc_size(mem_ctx, r.in.number_of_bytes); + if (!NT_STATUS_EQUAL(r.out.result, NT_STATUS_BUFFER_TOO_SMALL)) { + printf("ReadEventLog failed - %s\n", nt_errstr(r.out.result)); + return False; + } + + r.in.number_of_bytes = r.out.real_size; + r.out.data = talloc_size(mem_ctx, r.in.number_of_bytes); - status = dcerpc_eventlog_ReadEventLogW(p, mem_ctx, &r); + status = dcerpc_eventlog_ReadEventLogW(p, mem_ctx, &r); - if (!NT_STATUS_IS_OK(status)) { - printf("ReadEventLog failed - %s\n", nt_errstr(status)); - return False; + if (!NT_STATUS_IS_OK(status)) { + printf("ReadEventLog failed - %s\n", nt_errstr(status)); + return False; + } + + r.in.offset++; } - return True; } @@ -168,7 +172,7 @@ static BOOL test_OpenEventLog(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, unknown0.unknown1 = 0x0001; r.in.unknown0 = &unknown0; - init_lsa_String(&r.in.logname, "system"); + init_lsa_String(&r.in.logname, "dns server"); init_lsa_String(&r.in.servername, NULL); r.in.unknown2 = 0x00000001; r.in.unknown3 = 0x00000001; @@ -221,7 +225,7 @@ BOOL torture_rpc_eventlog(void) ret &= test_GetNumRecords(p, mem_ctx, &handle); - ret &= test_ReadEventLog(p, mem_ctx, &handle, 0); + ret &= test_ReadEventLog(p, mem_ctx, &handle); ret &= test_FlushEventLog(p, mem_ctx, &handle); diff --git a/source4/torture/rpc/xplogin.c b/source4/torture/rpc/xplogin.c index acf7a41657..3efbc03f46 100644 --- a/source4/torture/rpc/xplogin.c +++ b/source4/torture/rpc/xplogin.c @@ -147,7 +147,7 @@ static NTSTATUS anon_ipc(struct smbcli_transport *transport, transport->called.name); tcon.tconx.in.device = "IPC"; - status = smb_tree_connect(tree, mem_ctx, &tcon); + status = smb_raw_tcon(tree, mem_ctx, &tcon); if (!NT_STATUS_IS_OK(status)) { talloc_free(tree); |