Gerald Hanuer: > Ntpd(8) in current: server ("IP numerical") not being used, FQDN works. > > ### Works as expected. > server time1.google.com > > ### This does not. ( Numerical of above ) > server 216.239.32.15
I can confirm this. The bug was introduced with this commit: -------------------- CVSROOT: /cvs Module name: src Changes by: phess...@cvs.openbsd.org 2015/10/23 08:52:20 Modified files: usr.sbin/ntpd : client.c control.c ntp.c ntpd.conf.5 ntpd.h parse.y Log message: Allowing upstream servers of ntp being in multiple routing tables is non-sensical. The dns lookups happened in the process routing table (usually '0'), which is very likely to have different results from the other routing domains. If you do depend on having this behaviour, you'll need to use pf to cross the rtable boundary. "listen on * rtable X" is still supported. Users of "server * rtable X" will need to switch to launching ntpd with "route -T X exec /usr/sbin/ntpd" OK deraadt@ -------------------- Reverting these additional parts that were introduced with the original rtable commit fixes it: Index: parse.y =================================================================== RCS file: /cvs/src/usr.sbin/ntpd/parse.y,v retrieving revision 1.64 diff -u -p -r1.64 parse.y --- parse.y 23 Oct 2015 14:52:20 -0000 1.64 +++ parse.y 31 Oct 2015 12:49:44 -0000 @@ -161,9 +161,7 @@ main : LISTEN ON address listen_opts { fatal(NULL); if (p->addr != NULL) p->state = STATE_DNS_DONE; - if (!(p->addr)) - TAILQ_INSERT_TAIL(&conf->ntp_peers, - p, entry); + TAILQ_INSERT_TAIL(&conf->ntp_peers, p, entry); h = next; } while (h != NULL); @@ -199,8 +197,7 @@ main : LISTEN ON address listen_opts { fatal(NULL); if (p->addr != NULL) p->state = STATE_DNS_DONE; - if (!(p->addr)) - TAILQ_INSERT_TAIL(&conf->ntp_peers, p, entry); + TAILQ_INSERT_TAIL(&conf->ntp_peers, p, entry); free($2->name); free($2); } -- Christian "naddy" Weisgerber na...@mips.inka.de