I tested and verified your fix, thanks!
OK reyk@
On Sat, Oct 31, 2015 at 02:00:08PM +0100, Christian Weisgerber wrote:
> 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: [email protected] 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 [email protected]
>
--