Issue #455 resolved (faulty netmask).
authorValentin Paramonov <valentine.paramonov@gmail.com>
Wed, 18 Dec 2013 19:33:44 +0000 (21:33 +0200)
committerValentin Paramonov <valentine.paramonov@gmail.com>
Wed, 18 Dec 2013 19:33:44 +0000 (21:33 +0200)
src/agent/subagents/linux/net.cpp

index 8516488..eec2626 100644 (file)
@@ -328,7 +328,7 @@ static IFINFO* ParseMessage(nlmsghdr* messageHeader)
 
    ioctl(inetSocket, SIOCGIFNETMASK, &ifr);
    sockaddr_in* socketMask = (sockaddr_in*) &(ifr.ifr_addr);
-   interfaceInfo->mask = (BYTE) nxffs(~(socketMask->sin_addr.s_addr));
+   interfaceInfo->mask = (BYTE) (32 - nxffs(htonl(socketMask->sin_addr.s_addr)));
 
    close(inetSocket);
 
@@ -442,6 +442,8 @@ LONG H_NetIfList(const TCHAR* pszParam, const TCHAR* pArg, StringList* pValue)
       pValue->add(infoString);
 
       curInterface = curInterface->next;
+
+      AgentWriteDebugLog(9, _T("H_NetIfList: got interface (%s)"), infoString);
    }
 
    FreeInterfaceInfo(interfaceInfo);