From f9b6cc83f129fde3148336eecc9a4b26a5d424cb Mon Sep 17 00:00:00 2001 From: Cy Schubert Date: Mon, 7 Jun 2010 20:02:30 +0000 Subject: Patch for NTP bugzilla id 1080. Submitted by: Nick Sayer ` --- net/ntp/files/patch-ntpd-ntp_io.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 net/ntp/files/patch-ntpd-ntp_io.c (limited to 'net/ntp/files/patch-ntpd-ntp_io.c') diff --git a/net/ntp/files/patch-ntpd-ntp_io.c b/net/ntp/files/patch-ntpd-ntp_io.c new file mode 100644 index 000000000000..cdf1eada580f --- /dev/null +++ b/net/ntp/files/patch-ntpd-ntp_io.c @@ -0,0 +1,21 @@ +--- ntpd/ntp_io.c.orig 2010-06-03 20:24:51.000000000 -0700 ++++ ntpd/ntp_io.c 2010-06-03 20:27:36.000000000 -0700 +@@ -1414,12 +1414,18 @@ + sockaddr_u *psau + ) + { ++ unsigned char zerobuf[8]; ++ + if (IS_IPV4(psau) && !NSRCADR(psau)) + return 1; + + #ifdef INCLUDE_IPV6_SUPPORT + if (IS_IPV6(psau) && S_ADDR6_EQ(psau, &in6addr_any)) + return 1; ++ bzero(zerobuf, sizeof(zerobuf)); ++ // If the host portion is all 0, then assume it's a router's anycast address. ++ if (IS_IPV6(psau) && memcmp((char*)(&((struct sockaddr_in6*)psau)->sin6_addr) + 8, zerobuf, 8) == 0) ++ return 1; + #endif + + return 0; -- cgit v1.2.3