From: David Sommerseth Date: Thu, 18 Feb 2010 20:20:14 +0000 (+0100) Subject: Do not randomize resolving of IP addresses in getaddr() X-Git-Tag: v2.2-beta1~6^2~16 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4880739c17b502d00a9ec45c6f6dd3e8bbff057f;p=thirdparty%2Fopenvpn.git 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 --- diff --git a/socket.c b/socket.c index fecc39837..e42ccb9d4 100644 --- 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]); } }