From: Harlan Stenn Date: Sat, 17 Jun 2006 17:53:20 +0000 (-0400) Subject: [Bug 637] Ignore UP in*addr_any interfaces X-Git-Tag: NTP_4_2_2P0_RC2~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f6f45eedb40ea5b93f3586375d18e787ce4c2c22;p=thirdparty%2Fntp.git [Bug 637] Ignore UP in*addr_any interfaces bk: 449441906zi0K0FTfTje8Xalyfas_Q --- diff --git a/ntpd/ntp_io.c b/ntpd/ntp_io.c index e63035526..462f42f6f 100644 --- a/ntpd/ntp_io.c +++ b/ntpd/ntp_io.c @@ -686,6 +686,21 @@ create_sockets( inter_list[idx].ignore_packets = ISC_TRUE; } convert_isc_if(&isc_if, &inter_list[idx], port); + + /* + * skip any interfaces UP and bound to a wildcard + * address - some dhcp clients produce that in the + * wild + */ + if (family == AF_INET && + ((struct sockaddr_in*)&inter_list[idx].sin)->sin_addr.s_addr == htonl(INADDR_ANY)) + continue; + + if (family == AF_INET6 && + memcmp(&((struct sockaddr_in6*)&inter_list[idx].sin)->sin6_addr, &in6addr_any, + sizeof(in6addr_any) == 0)) + continue; + inter_list[idx].fd = INVALID_SOCKET; inter_list[idx].bfd = INVALID_SOCKET; inter_list[idx].num_mcast = 0;