[ntp:questions] nptq -p slowness

Serge Bets serge.bets at NOSPAM.laposte.invalid
Thu Feb 1 15:06:34 UTC 2007


 On Thursday, February 1, 2007 at 0:34:10 +0100, Serge Bets wrote:

> It seems you are right on the track: My system has no getaddrinfo().
> So ntpq 4.2.4 uses its own bundled replacement from
> libntp/ntp_rfc2553.c, which doesn't seem to make use of
> AI_NUMERICHOST.

Confirmed: libntp/ntp_rfc2553.c:getaddrinfo() calls do_nodename(), which
calls DNSlookup_name(), regardless of AI_NUMERICHOST. To confirm it
experimentaly I made the DNSlookup_name() call conditional. And then
ntpq -p display becomes normally fast, and DNS logs show no more
importune A queries. Problem solved: Bravo Ronan, thank you very much,
and thanks to all contributors. :-)

Next step is to report this to bugzilla, I suppose. Could anyone suggest
a proper fix? Mine works as proof but is probably inapropriate:


= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
--- ntp-4.2.4/libntp/ntp_rfc2553.c	Thu Dec 28 13:03:08 2006
+++ ntp-4.2.4.mod/libntp/ntp_rfc2553.c	Thu Feb  1 14:30:16 2007
@@ -397,7 +397,10 @@ do_nodename(
 	 * Look for a name
 	 */
 
-	errval = DNSlookup_name(nodename, AF_INET, &hp);
+	if ((hints->ai_flags & AI_NUMERICHOST) == 0)
+		errval = DNSlookup_name(nodename, AF_INET, &hp);
+	else
+		errval = EAI_NONAME;	/* ?? */
 
 	if (hp == NULL) {
 		if (errval == TRY_AGAIN || errval == EAI_AGAIN)
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =


Serge.
-- 
Serge point Bets arobase laposte point net




More information about the questions mailing list