From ccda1b50c4fdc1736c30e3b2d13a440c5552ae16 Mon Sep 17 00:00:00 2001 From: Kondo Takeo Date: Thu, 4 Feb 2021 23:35:52 +0900 Subject: [PATCH] Issue: #62 - Parse udp proc only when catchall mode. --- src/conninode.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/conninode.cpp b/src/conninode.cpp index 330232b..0bbcf3d 100644 --- a/src/conninode.cpp +++ b/src/conninode.cpp @@ -36,6 +36,7 @@ extern local_addr *local_addrs; extern bool bughuntmode; +extern bool catchall; /* * connection-inode table. takes information from /proc/net/tcp. * key contains source ip, source port, destination ip, destination @@ -197,15 +198,17 @@ void refreshconninode() { addprocinfo("/proc/net/tcp6", conninode_tcp); #endif + if (catchall) { #if defined(__APPLE__) || defined(__FreeBSD__) - addprocinfo("net.inet.udp.pcblist", conninode_udp); + addprocinfo("net.inet.udp.pcblist", conninode_udp); #else - if (!addprocinfo("/proc/net/udp", conninode_udp)) { - std::cout << "Error: couldn't open /proc/net/udp\n"; - exit(0); - } - addprocinfo("/proc/net/udp6", conninode_udp); + if (!addprocinfo("/proc/net/udp", conninode_udp)) { + std::cout << "Error: couldn't open /proc/net/udp\n"; + exit(0); + } + addprocinfo("/proc/net/udp6", conninode_udp); #endif + } // if (DEBUG) // reviewUnknown();