From fe609a031b356e2b1cc77bfde8ece47ceafd4785 Mon Sep 17 00:00:00 2001 From: Andreas Gustafsson Date: Thu, 20 Jan 2000 00:00:00 +0000 Subject: [PATCH] ignore non-IP4 interfaces in do_ip4() now that the interface iterator can return such things --- bin/named/interfacemgr.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/bin/named/interfacemgr.c b/bin/named/interfacemgr.c index 1137bb86a5..6aa9a40326 100644 --- a/bin/named/interfacemgr.c +++ b/bin/named/interfacemgr.c @@ -465,9 +465,11 @@ do_ipv4(ns_interfacemgr_t *mgr) { result = isc_interfaceiter_create(mgr->mctx, &iter); if (result != ISC_R_SUCCESS) return; - - result = isc_interfaceiter_first(iter); - while (result == ISC_R_SUCCESS) { + + for (result = isc_interfaceiter_first(iter); + result == ISC_R_SUCCESS; + result = isc_interfaceiter_next(iter)) + { ns_interface_t *ifp; isc_interface_t interface; ns_listenelt_t *le; @@ -477,11 +479,13 @@ do_ipv4(ns_interfacemgr_t *mgr) { * "listen-on" statements here. Also build list of * local addresses and local networks. */ - result = isc_interfaceiter_current(iter, &interface); if (result != ISC_R_SUCCESS) break; + if (interface.address.family != AF_INET) + continue; + for (le = ISC_LIST_HEAD(mgr->listenon->elts); le != NULL; le = ISC_LIST_NEXT(le, link)) @@ -542,7 +546,6 @@ do_ipv4(ns_interfacemgr_t *mgr) { } } - result = isc_interfaceiter_next(iter); } if (result != ISC_R_NOMORE) UNEXPECTED_ERROR(__FILE__, __LINE__,