From 16dab4b6bd652276e392ee8979600147e27718b1 Mon Sep 17 00:00:00 2001 From: Johan Danielsson Date: Wed, 12 Nov 1997 00:35:57 +0000 Subject: [PATCH] Fall back to hostname's addresses if other methods fail. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@3964 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/krb5/get_addrs.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/lib/krb5/get_addrs.c b/lib/krb5/get_addrs.c index 862dd783a..b9d347079 100644 --- a/lib/krb5/get_addrs.c +++ b/lib/krb5/get_addrs.c @@ -218,17 +218,19 @@ cleanup: krb5_error_code krb5_get_all_client_addrs (krb5_addresses *res) { + krb5_error_code ret = -1; #if defined(AF_INET6) && defined(SIOCGIF6CONF) && defined(SIOCGIF6FLAGS) - return find_all_addresses (res, 1, - AF_INET6, SIOCGIF6CONF, SIOCGIF6FLAGS, - sizeof(struct in6_ifreq)); + ret = find_all_addresses (res, 1, + AF_INET6, SIOCGIF6CONF, SIOCGIF6FLAGS, + sizeof(struct in6_ifreq)); #elif defined(AF_INET) && defined(SIOCGIFCONF) && defined(SIOCGIFFLAGS) - return find_all_addresses (res, 0, - AF_INET, SIOCGIFCONF, SIOCGIFFLAGS, - sizeof(struct ifreq)); -#else - return gethostname_fallback (res); + ret = find_all_addresses (res, 0, + AF_INET, SIOCGIFCONF, SIOCGIFFLAGS, + sizeof(struct ifreq)); #endif + if(ret || res->len == 0) + return gethostname_fallback (res); + return ret; } /*