diff options
Diffstat (limited to 'lib/isc/unix/ifiter_getifaddrs.c')
-rw-r--r-- | lib/isc/unix/ifiter_getifaddrs.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/lib/isc/unix/ifiter_getifaddrs.c b/lib/isc/unix/ifiter_getifaddrs.c index 547a83f..425b9b4 100644 --- a/lib/isc/unix/ifiter_getifaddrs.c +++ b/lib/isc/unix/ifiter_getifaddrs.c @@ -96,9 +96,13 @@ isc_interfaceiter_create(isc_mem_t *mctx, isc_interfaceiter_t **iterp) { } if (ret < 0) { isc__strerror(errno, strbuf, sizeof(strbuf)); - UNEXPECTED_ERROR(__FILE__, __LINE__, isc_msgcat_get(isc_msgcat, - ISC_MSGSET_IFITERGETIFADDRS, ISC_MSG_GETIFADDRS, - "getting interface addresses: getifaddrs: %s"), strbuf); + UNEXPECTED_ERROR(__FILE__, __LINE__, + "getting interface addresses: %s: %s", + isc_msgcat_get(isc_msgcat, + ISC_MSGSET_IFITERGETIFADDRS, + ISC_MSG_GETIFADDRS, + "getifaddrs"), + strbuf); result = ISC_R_UNEXPECTED; goto failure; } @@ -208,6 +212,9 @@ internal_current(isc_interfaceiter_t *iter) { get_addr(family, &iter->current.broadcast, ifa->ifa_broadaddr, ifa->ifa_name); +#ifdef ISC_PLATFORM_HAVEIFNAMETOINDEX + iter->current.ifindex = if_nametoindex(iter->current.name); +#endif return (ISC_R_SUCCESS); } |