diff options
-rw-r--r-- | source4/libcli/cliconnect.c | 4 | ||||
-rw-r--r-- | source4/libcli/composite/connect.c | 4 | ||||
-rw-r--r-- | source4/libcli/raw/clitree.c | 16 | ||||
-rw-r--r-- | source4/libcli/util/clilsa.c | 2 | ||||
-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 |
7 files changed, 41 insertions, 37 deletions
diff --git a/source4/libcli/cliconnect.c b/source4/libcli/cliconnect.c index 624b54c3f2a..cc02af11628 100644 --- a/source4/libcli/cliconnect.c +++ b/source4/libcli/cliconnect.c @@ -83,7 +83,7 @@ NTSTATUS smbcli_session_setup(struct smbcli_state *cli, return status; } -/* wrapper around smb_tree_connect() */ +/* wrapper around smb_raw_tcon() */ NTSTATUS smbcli_tconX(struct smbcli_state *cli, const char *sharename, const char *devtype, const char *password) { @@ -116,7 +116,7 @@ NTSTATUS smbcli_tconX(struct smbcli_state *cli, const char *sharename, tcon.tconx.in.path = sharename; tcon.tconx.in.device = devtype; - status = smb_tree_connect(cli->tree, mem_ctx, &tcon); + status = smb_raw_tcon(cli->tree, mem_ctx, &tcon); cli->tree->tid = tcon.tconx.out.tid; diff --git a/source4/libcli/composite/connect.c b/source4/libcli/composite/connect.c index d6d87380ec1..adac9bcf679 100644 --- a/source4/libcli/composite/connect.c +++ b/source4/libcli/composite/connect.c @@ -77,7 +77,7 @@ static NTSTATUS connect_tcon(struct composite_context *c, struct connect_state *state = talloc_get_type(c->private, struct connect_state); NTSTATUS status; - status = smb_tree_connect_recv(state->req, c, state->io_tcon); + status = smb_raw_tcon_recv(state->req, c, state->io_tcon); NT_STATUS_NOT_OK_RETURN(status); io->out.tree->tid = state->io_tcon->tconx.out.tid; @@ -134,7 +134,7 @@ static NTSTATUS connect_session_setup(struct composite_context *c, state->io_tcon->tconx.in.device = io->in.service_type; } - state->req = smb_tree_connect_send(io->out.tree, state->io_tcon); + state->req = smb_raw_tcon_send(io->out.tree, state->io_tcon); NT_STATUS_HAVE_NO_MEMORY(state->req); state->req->async.fn = request_handler; diff --git a/source4/libcli/raw/clitree.c b/source4/libcli/raw/clitree.c index 76cb1a43fe1..25f346ef5dc 100644 --- a/source4/libcli/raw/clitree.c +++ b/source4/libcli/raw/clitree.c @@ -56,8 +56,8 @@ struct smbcli_tree *smbcli_tree_init(struct smbcli_session *session, /**************************************************************************** Send a tconX (async send) ****************************************************************************/ -struct smbcli_request *smb_tree_connect_send(struct smbcli_tree *tree, - union smb_tcon *parms) +struct smbcli_request *smb_raw_tcon_send(struct smbcli_tree *tree, + union smb_tcon *parms) { struct smbcli_request *req = NULL; @@ -92,8 +92,8 @@ struct smbcli_request *smb_tree_connect_send(struct smbcli_tree *tree, /**************************************************************************** Send a tconX (async recv) ****************************************************************************/ -NTSTATUS smb_tree_connect_recv(struct smbcli_request *req, TALLOC_CTX *mem_ctx, - union smb_tcon *parms) +NTSTATUS smb_raw_tcon_recv(struct smbcli_request *req, TALLOC_CTX *mem_ctx, + union smb_tcon *parms) { uint8_t *p; @@ -134,11 +134,11 @@ failed: /**************************************************************************** Send a tconX (sync interface) ****************************************************************************/ -NTSTATUS smb_tree_connect(struct smbcli_tree *tree, TALLOC_CTX *mem_ctx, - union smb_tcon *parms) +NTSTATUS smb_raw_tcon(struct smbcli_tree *tree, TALLOC_CTX *mem_ctx, + union smb_tcon *parms) { - struct smbcli_request *req = smb_tree_connect_send(tree, parms); - return smb_tree_connect_recv(req, mem_ctx, parms); + struct smbcli_request *req = smb_raw_tcon_send(tree, parms); + return smb_raw_tcon_recv(req, mem_ctx, parms); } diff --git a/source4/libcli/util/clilsa.c b/source4/libcli/util/clilsa.c index ad2006756b5..f5de5014e34 100644 --- a/source4/libcli/util/clilsa.c +++ b/source4/libcli/util/clilsa.c @@ -69,7 +69,7 @@ static NTSTATUS smblsa_connect(struct smbcli_state *cli) tcon.tconx.in.password = data_blob(NULL, 0); tcon.tconx.in.path = "ipc$"; tcon.tconx.in.device = "IPC"; - status = smb_tree_connect(lsa->ipc_tree, lsa, &tcon); + status = smb_raw_tcon(lsa->ipc_tree, lsa, &tcon); if (!NT_STATUS_IS_OK(status)) { talloc_free(lsa); return status; diff --git a/source4/torture/raw/context.c b/source4/torture/raw/context.c index 61747f5dc49..d76882d84d8 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 5ce06527298..eebf485e5c9 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 acf7a416577..3efbc03f461 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); |