summaryrefslogtreecommitdiffstats
path: root/Source/kwsys/SystemInformation.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2016-11-16 18:27:07 (GMT)
committerBrad King <brad.king@kitware.com>2016-11-16 18:27:07 (GMT)
commit451e9f93be4a19f18c4a2ac0a1bd6776ba67c327 (patch)
tree81995d0c4cc922de509447cd203f4dd66cad2b1b /Source/kwsys/SystemInformation.cxx
parent095279bc94c81c4076de20474f1d3dd186764388 (diff)
parent572ac897733f0b6fe7baf67006db0e8f182db59c (diff)
downloadCMake-451e9f93be4a19f18c4a2ac0a1bd6776ba67c327.zip
CMake-451e9f93be4a19f18c4a2ac0a1bd6776ba67c327.tar.gz
CMake-451e9f93be4a19f18c4a2ac0a1bd6776ba67c327.tar.bz2
Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys: KWSys 2016-11-16 (a0c60eec)
Diffstat (limited to 'Source/kwsys/SystemInformation.cxx')
-rw-r--r--Source/kwsys/SystemInformation.cxx7
1 files changed, 6 insertions, 1 deletions
diff --git a/Source/kwsys/SystemInformation.cxx b/Source/kwsys/SystemInformation.cxx
index 1675da5..e01dcd7 100644
--- a/Source/kwsys/SystemInformation.cxx
+++ b/Source/kwsys/SystemInformation.cxx
@@ -79,6 +79,7 @@ typedef int siginfo_t;
#include <sys/sysctl.h>
#if defined(KWSYS_SYS_HAS_IFADDRS_H)
#include <ifaddrs.h>
+#include <net/if.h>
#define KWSYS_SYSTEMINFORMATION_IMPLEMENT_FQDN
#endif
#endif
@@ -99,6 +100,7 @@ typedef int siginfo_t;
#include <sys/sysctl.h>
#if defined(KWSYS_SYS_HAS_IFADDRS_H)
#include <ifaddrs.h>
+#include <net/if.h>
#define KWSYS_SYSTEMINFORMATION_IMPLEMENT_FQDN
#endif
#if !(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ - 0 >= 1050)
@@ -113,6 +115,7 @@ typedef int siginfo_t;
#include <sys/socket.h>
#if defined(KWSYS_SYS_HAS_IFADDRS_H)
#include <ifaddrs.h>
+#include <net/if.h>
#if !defined(__LSB_VERSION__) /* LSB has no getifaddrs */
#define KWSYS_SYSTEMINFORMATION_IMPLEMENT_FQDN
#endif
@@ -1696,7 +1699,9 @@ int SystemInformationImplementation::GetFullyQualifiedDomainName(
for (ifa = ifas; ifa != NULL; ifa = ifa->ifa_next) {
int fam = ifa->ifa_addr ? ifa->ifa_addr->sa_family : -1;
- if ((fam == AF_INET) || (fam == AF_INET6)) {
+ // Skip Loopback interfaces
+ if (((fam == AF_INET) || (fam == AF_INET6)) &&
+ !(ifa->ifa_flags & IFF_LOOPBACK)) {
char host[NI_MAXHOST] = { '\0' };
const size_t addrlen = (fam == AF_INET ? sizeof(struct sockaddr_in)