s3:cli_netlogon: let rpccli_connect_netlogon() retry once after NT_STATUS_NETWORK_ACC...
authorStefan Metzmacher <metze@samba.org>
Wed, 18 Oct 2017 11:36:59 +0000 (13:36 +0200)
committerAndrew Bartlett <abartlet@samba.org>
Fri, 20 Oct 2017 02:05:20 +0000 (04:05 +0200)
Otherwise we could easily endup with an endless loop.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
source3/rpc_client/cli_netlogon.c

index 469d348f6b9c6cebd04a9df0d9ea6dd13862de64..a7676efb055de743004196b20068ca6a13d6d27c 100644 (file)
@@ -292,6 +292,7 @@ NTSTATUS rpccli_connect_netlogon(
        bool do_serverauth;
        struct rpc_pipe_client *rpccli;
        NTSTATUS status;
+       bool retry = false;
 
 again:
 
@@ -354,9 +355,10 @@ again:
                status = cli_rpc_pipe_open_bind_schannel(
                        cli, &ndr_table_netlogon, transport, creds_ctx,
                        &rpccli);
-               if (NT_STATUS_EQUAL(status, NT_STATUS_NETWORK_ACCESS_DENIED)) {
+               if (!retry && NT_STATUS_EQUAL(status, NT_STATUS_NETWORK_ACCESS_DENIED)) {
                        DBG_DEBUG("Retrying with serverauthenticate\n");
                        TALLOC_FREE(lck);
+                       retry = true;
                        goto again;
                }
                if (!NT_STATUS_IS_OK(status)) {