From 6da6b1a6a2b01fdbb47f65f0f1e6d071e2ddff05 Mon Sep 17 00:00:00 2001 From: henning <> Date: Thu, 25 Nov 2004 06:27:41 +0000 Subject: [PATCH] fix "listen on hostname" fallout from the deferred dns lookups noticed by dhartmei@ --- src/usr.sbin/ntpd/parse.y | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/usr.sbin/ntpd/parse.y b/src/usr.sbin/ntpd/parse.y index 0bc05c6e..05ed002f 100644 --- a/src/usr.sbin/ntpd/parse.y +++ b/src/usr.sbin/ntpd/parse.y @@ -1,4 +1,4 @@ -/* $OpenBSD: parse.y,v 1.23 2004/11/10 11:27:54 henning Exp $ */ +/* $OpenBSD: parse.y,v 1.24 2004/11/25 06:27:41 henning Exp $ */ /* * Copyright (c) 2002, 2003, 2004 Henning Brauer @@ -78,14 +78,15 @@ conf_main : LISTEN ON address { struct listen_addr *la; struct ntp_addr *h, *next; - if ($3->a == NULL) { - yyerror("cannot resolve \"%s\"", $3->name); + if ((h = $3->a) == NULL && + (host_dns($3->name, &h) == -1 || !h)) { + yyerror("could not resolve \"%s\"", $3->name); free($3->name); free($3); YYERROR; } - for (h = $3->a; h != NULL; h = next) { + for (; h != NULL; h = next) { next = h->next; if (h->ss.ss_family == AF_UNSPEC) { conf->listen_all = 1;