From cd1fe06935174131dd28aecf7d63dd991f8f0e2f Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Tue, 7 Apr 2015 16:12:18 +0200 Subject: [PATCH] rpcclient: Fix the timeout command https://bugzilla.samba.org/show_bug.cgi?id=11199 Signed-off-by: Andreas Schneider Reviewed-by: Stefan Metzmacher (cherry picked from commit 2bca4cdc6f83dce48c73a33288c4fd3ae80f883b) --- source3/rpcclient/rpcclient.c | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/source3/rpcclient/rpcclient.c b/source3/rpcclient/rpcclient.c index ac7576f..404251a 100644 --- a/source3/rpcclient/rpcclient.c +++ b/source3/rpcclient/rpcclient.c @@ -487,8 +487,6 @@ static NTSTATUS cmd_seal(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, static NTSTATUS cmd_timeout(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { - struct cmd_list *tmp; - if (argc > 2) { printf("Usage: %s timeout\n", argv[0]); return NT_STATUS_OK; @@ -496,19 +494,6 @@ static NTSTATUS cmd_timeout(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, if (argc == 2) { timeout = atoi(argv[1]); - - for (tmp = cmd_list; tmp; tmp = tmp->next) { - - struct cmd_set *tmp_set; - - for (tmp_set = tmp->cmd_set; tmp_set->name; tmp_set++) { - if (tmp_set->rpc_pipe == NULL) { - continue; - } - - rpccli_set_timeout(tmp_set->rpc_pipe, timeout); - } - } } printf("timeout is %d\n", timeout); @@ -833,6 +818,11 @@ static NTSTATUS do_cmd(struct cli_state *cli, } } + /* Set timeout for new connections */ + if (cmd_entry->rpc_pipe) { + rpccli_set_timeout(cmd_entry->rpc_pipe, timeout); + } + /* Run command */ if ( cmd_entry->returntype == RPC_RTYPE_NTSTATUS ) { @@ -1170,7 +1160,9 @@ out_free: /* Load command lists */ rpcclient_cli_state = cli; - timeout = cli_set_timeout(cli, 10000); + + timeout = 10000; + cli_set_timeout(cli, timeout); cmd_set = rpcclient_command_list; -- 2.3.5