From: Harlan Stenn Date: Tue, 5 Jul 2011 07:39:02 +0000 (-0400) Subject: [Bug 1134] ntpd fails binding to tentative IPv6 addresses X-Git-Tag: NTP_4_2_6P4_RC1~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8c053714b8132eedd8e8f1bd702882fb99856e1c;p=thirdparty%2Fntp.git [Bug 1134] ntpd fails binding to tentative IPv6 addresses bk: 4e12bf96-GmVdZaFMR4ULoiF5BHcVQ --- diff --git a/ChangeLog b/ChangeLog index 6621c7a2d..c883e8bb3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +--- + +* [Bug 1134] ntpd fails binding to tentative IPv6 addresses. + --- (4.2.6p4-beta2) 2011/05/25 Released by Harlan Stenn diff --git a/lib/isc/unix/interfaceiter.c b/lib/isc/unix/interfaceiter.c index 3524a02c6..5f5ee9811 100644 --- a/lib/isc/unix/interfaceiter.c +++ b/lib/isc/unix/interfaceiter.c @@ -51,6 +51,10 @@ #endif #include +#ifdef __linux +# include +#endif + /* Common utility functions */ /*% @@ -217,6 +221,13 @@ linux_if_inet6_current(isc_interfaceiter_t *iter) { "/proc/net/if_inet6:strlen(%s) != 32", address); return (ISC_R_FAILURE); } + /* + ** Ignore DAD addresses -- + ** we can't bind to them until they are resolved + */ + if (flags & IFA_F_TENTATIVE) + return (ISC_R_IGNORE); + for (i = 0; i < 16; i++) { unsigned char byte; static const char hex[] = "0123456789abcdef";