diff --git a/src/detection/localip/localip_linux.c b/src/detection/localip/localip_linux.c index b38958b19..56a93190a 100644 --- a/src/detection/localip/localip_linux.c +++ b/src/detection/localip/localip_linux.c @@ -2,14 +2,10 @@ #include #include +#include #include #include #include -#include - -#ifdef __FreeBSD__ - #include // FreeBSD needs this for AF_INET -#endif static void addNewIp(FFlist* list, const char* name, const char* addr, bool ipv6) { @@ -31,7 +27,7 @@ const char* ffDetectLocalIps(const FFinstance* instance, FFlist* results) continue; // loop back - if (strncmp(ifa->ifa_name, "lo", 2) == 0 && (ifa->ifa_name[2] == '\0' || isdigit(ifa->ifa_name[2])) && !instance->config.localIpShowLoop) + if ((ifa->ifa_flags & IFF_LOOPBACK) && !instance->config.localIpShowLoop) continue; if (instance->config.localIpNamePrefix.length && strncmp(ifa->ifa_name, instance->config.localIpNamePrefix.chars, instance->config.localIpNamePrefix.length) != 0)