Introduce rpccli_set_timeout()
authorVolker Lendecke <vl@samba.org>
Sat, 19 Apr 2008 21:27:35 +0000 (23:27 +0200)
committerVolker Lendecke <vl@samba.org>
Sat, 19 Apr 2008 22:14:26 +0000 (00:14 +0200)
Reduce dependency on "cli" member of rpc_pipe_client struct
(This used to be commit 2e4c1ba38963cffe4c3f25ab24bc28975f2fc291)

source3/rpc_client/cli_pipe.c
source3/rpcclient/cmd_netlogon.c
source3/rpcclient/cmd_samr.c
source3/rpcclient/rpcclient.c
source3/winbindd/winbindd_cm.c
source3/winbindd/winbindd_misc.c
source3/winbindd/winbindd_rpc.c

index 3ef3f05cc6bdb36e169fdd36624764689c8e95a0..64fcc16bde38d469143653d499c50892ec2c77ed 100644 (file)
@@ -2173,6 +2173,12 @@ static NTSTATUS rpc_pipe_bind(struct rpc_pipe_client *cli,
        return NT_STATUS_OK;
 }
 
+unsigned int rpccli_set_timeout(struct rpc_pipe_client *cli,
+                               unsigned int timeout)
+{
+       return cli_set_timeout(cli->cli, timeout);
+}
+
 /****************************************************************************
  Open a named pipe over SMB to a remote server.
  *
index a30dd740e2d3afc52306e6da073e4b7bce35cb8b..12d8cf305238168573bde1a1bf251564248b6169 100644 (file)
@@ -101,14 +101,15 @@ static WERROR cmd_netlogon_getanydcname(struct rpc_pipe_client *cli,
        }
 
        /* Make sure to wait for our DC's reply */
-       old_timeout = cli_set_timeout(cli->cli, MAX(cli->cli->timeout,30000)); /* 30 seconds. */
+       old_timeout = rpccli_set_timeout(cli, 30000); /* 30 seconds. */
+       rpccli_set_timeout(cli, MAX(old_timeout, 30000)); /* At least 30 sec */
 
        status = rpccli_netr_GetAnyDCName(cli, mem_ctx,
                                          cli->desthost,
                                          argv[1],
                                          &dcname,
                                          &werr);
-       cli_set_timeout(cli->cli, old_timeout);
+       rpccli_set_timeout(cli, old_timeout);
 
        if (!NT_STATUS_IS_OK(status)) {
                return ntstatus_to_werror(status);
@@ -140,14 +141,15 @@ static WERROR cmd_netlogon_getdcname(struct rpc_pipe_client *cli,
        }
 
        /* Make sure to wait for our DC's reply */
-       old_timeout = cli_set_timeout(cli->cli, MAX(cli->cli->timeout,30000)); /* 30 seconds. */
+       old_timeout = rpccli_set_timeout(cli, 30000); /* 30 seconds. */
+       rpccli_set_timeout(cli, MAX(30000, old_timeout)); /* At least 30 sec */
 
        status = rpccli_netr_GetDcName(cli, mem_ctx,
                                       cli->desthost,
                                       argv[1],
                                       &dcname,
                                       &werr);
-       cli_set_timeout(cli->cli, old_timeout);
+       rpccli_set_timeout(cli, old_timeout);
 
        if (!NT_STATUS_IS_OK(status)) {
                return ntstatus_to_werror(status);
index e58354d0d3f4355a7b2efc54bbd25b04c16a891c..4a820cd6182c182a584283eab16f2ca0cc00d50b 100644 (file)
@@ -735,13 +735,14 @@ static NTSTATUS cmd_samr_query_groupmem(struct rpc_pipe_client *cli,
                goto done;
 
        /* Make sure to wait for our DC's reply */
-       old_timeout = cli_set_timeout(cli->cli, MAX(cli->cli->timeout,30000)); /* 30 seconds. */
+       old_timeout = rpccli_set_timeout(cli, 30000); /* 30 seconds. */
+       rpccli_set_timeout(cli, MAX(30000, old_timeout)); /* At least 30 sec */
 
        result = rpccli_samr_QueryGroupMember(cli, mem_ctx,
                                              &group_pol,
                                              &rids);
 
-       cli_set_timeout(cli->cli, old_timeout);
+       rpccli_set_timeout(cli, old_timeout);
 
        if (!NT_STATUS_IS_OK(result))
                goto done;
index 52dba2291be71614942f38cad75eddedaa49769b..8592e0a3b60ce6479db8a44df9c0d21badbfe79d 100644 (file)
@@ -420,7 +420,7 @@ static NTSTATUS cmd_timeout(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
                                        continue;
                                }
 
-                               cli_set_timeout(tmp_set->rpc_pipe->cli, timeout);
+                               rpccli_set_timeout(tmp_set->rpc_pipe, timeout);
                        }
                }
        }
index 71d2c029eec52efecd1e86c535c5b3e9f68751f7..8fcbae77ff75ca2c75be33b5cd2049d9cbf0a0f9 100644 (file)
@@ -598,7 +598,7 @@ static bool get_dc_name_via_netlogon(struct winbindd_domain *domain,
        /* This call can take a long time - allow the server to time out.
           35 seconds should do it. */
 
-       orig_timeout = cli_set_timeout(netlogon_pipe->cli, 35000);
+       orig_timeout = rpccli_set_timeout(netlogon_pipe, 35000);
 
        if (our_domain->active_directory) {
                struct netr_DsRGetDCNameInfo *domain_info = NULL;
@@ -638,7 +638,7 @@ static bool get_dc_name_via_netlogon(struct winbindd_domain *domain,
        }
 
        /* And restore our original timeout. */
-       cli_set_timeout(netlogon_pipe->cli, orig_timeout);
+       rpccli_set_timeout(netlogon_pipe, orig_timeout);
 
        if (!NT_STATUS_IS_OK(result)) {
                DEBUG(10,("rpccli_netr_GetAnyDCName failed: %s\n",
index 93986d174e54b8e2682ea04dcc143ac35bd04ba1..bde2eafb53563596fca42a4ed59b3bc7c0057d57 100644 (file)
@@ -333,7 +333,7 @@ enum winbindd_result winbindd_dual_getdcname(struct winbindd_domain *domain,
        /* This call can take a long time - allow the server to time out.
           35 seconds should do it. */
 
-       orig_timeout = cli_set_timeout(netlogon_pipe->cli, 35000);
+       orig_timeout = rpccli_set_timeout(netlogon_pipe, 35000);
 
        req_domain = find_domain_from_name_noinit(state->request.domain_name);
        if (req_domain == domain) {
@@ -352,7 +352,7 @@ enum winbindd_result winbindd_dual_getdcname(struct winbindd_domain *domain,
                                                  &werr);
        }
        /* And restore our original timeout. */
-       cli_set_timeout(netlogon_pipe->cli, orig_timeout);
+       rpccli_set_timeout(netlogon_pipe, orig_timeout);
 
        if (!NT_STATUS_IS_OK(result)) {
                DEBUG(5,("Error requesting DCname for domain %s: %s\n",
index 2a7704c8a52ac65da0005201f8d081bfe75c43e4..bb79d7ec1269a24d54a7ff91c46f6d23a099e3e0 100644 (file)
@@ -750,14 +750,14 @@ static NTSTATUS lookup_groupmem(struct winbindd_domain *domain,
        /* This call can take a long time - allow the server to time out.
           35 seconds should do it. */
 
-       orig_timeout = cli_set_timeout(cli->cli, 35000);
+       orig_timeout = rpccli_set_timeout(cli, 35000);
 
         result = rpccli_samr_QueryGroupMember(cli, mem_ctx,
                                              &group_pol,
                                              &rids);
 
        /* And restore our original timeout. */
-       cli_set_timeout(cli->cli, orig_timeout);
+       rpccli_set_timeout(cli, orig_timeout);
 
        rpccli_samr_Close(cli, mem_ctx, &group_pol);