From 4ac02e2e6b2a02d243fb3e3dd64da698bcaa46f7 Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Thu, 17 Jul 2003 07:30:20 +0000 Subject: [PATCH] 1482. [bug] Named could fail to start if the kernel supports IPv6 but no interfaces are configured. Similarly for IPv4. [RT #6229] --- CHANGES | 4 ++++ bin/named/server.c | 19 +++++++++++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 975cc4f0a2..0f43f55980 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,7 @@ +1482. [bug] Named could fail to start if the kernel supports + IPv6 but no interfaces are configured. Similarly + for IPv4. [RT #6229] + 1481. [bug] Refresh and stub queries failed to use masters keys if specified. [RT #7391] diff --git a/bin/named/server.c b/bin/named/server.c index 6ba6691bae..0c291ca685 100644 --- a/bin/named/server.c +++ b/bin/named/server.c @@ -15,7 +15,7 @@ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: server.c,v 1.339.2.12 2003/05/15 06:37:55 marka Exp $ */ +/* $Id: server.c,v 1.339.2.13 2003/07/17 07:30:20 marka Exp $ */ #include @@ -398,9 +398,24 @@ get_view_querysource_dispatch(cfg_obj_t **maps, 1000, 32768, 16411, 16433, attrs, attrmask, &disp); if (result != ISC_R_SUCCESS) { + isc_sockaddr_t any; + char buf[ISC_SOCKADDR_FORMATSIZE]; + + switch (af) { + case AF_INET: + isc_sockaddr_any(&any); + break; + case AF_INET6: + isc_sockaddr_any6(&any); + break; + } + if (isc_sockaddr_equal(&sa, &any)) + return (ISC_R_SUCCESS); + isc_sockaddr_format(&sa, buf, sizeof(buf)); isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_SERVER, ISC_LOG_ERROR, - "could not get query source dispatcher"); + "could not get query source dispatcher (%s)", + buf); return (result); }