diff options
author | David Sommerseth <dazo@users.sourceforge.net> | 2010-02-18 21:20:14 +0100 |
---|---|---|
committer | David Sommerseth <dazo@users.sourceforge.net> | 2010-03-16 22:29:49 +0100 |
commit | 7feefbf25f65e6216f7703ea7f9d9e7ab53bf2cd (patch) | |
tree | 55046466e688adafb430257be5aea4a138231bbf | |
parent | Added mapping files from SVN commit ID to more descriptive commit IDs. (diff) | |
download | openvpn-7feefbf25f65e6216f7703ea7f9d9e7ab53bf2cd.tar.xz |
Do not randomize resolving of IP addresses in getaddr()
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>
-rw-r--r-- | socket.c | 5 |
1 files changed, 2 insertions, 3 deletions
@@ -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]); } } |