]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
Do not randomize resolving of IP addresses in getaddr()
authorDavid Sommerseth <dazo@users.sourceforge.net>
Thu, 18 Feb 2010 20:20:14 +0000 (21:20 +0100)
committerDavid Sommerseth <dazo@users.sourceforge.net>
Tue, 27 Apr 2010 21:07:36 +0000 (23:07 +0200)
Based on a discussion on the mailing list and in the IRC meeting Feb 18,
it was decided to remove get_random() from the getaddr() function as that
can conflict with round-robin/randomization done by DNS servers.

This change must be documented in the release notes.

Signed-off-by: David Sommerseth <dazo@users.sourceforge.net>
socket.c

index 65fbcd7746595209334dd3053701cf8e972c0c5f..594b50ae09aa0f2667697b6bf4990262967f55ad 100644 (file)
--- a/socket.c
+++ b/socket.c
@@ -212,12 +212,11 @@ getaddr (unsigned int flags,
                ++n;
              ASSERT (n >= 2);
 
-             msg (D_RESOLVE_ERRORS, "RESOLVE: NOTE: %s resolves to %d addresses, choosing one by random",
+             msg (D_RESOLVE_ERRORS, "RESOLVE: NOTE: %s resolves to %d addresses, choosing the first resolved IP address",
                   hostname,
                   n);
 
-             /* choose address randomly, for basic load-balancing capability */
-             ia.s_addr = *(in_addr_t *) (h->h_addr_list[get_random () % n]);
+             ia.s_addr = *(in_addr_t *) (h->h_addr_list[0]);
            }
        }