mirror of
https://github.com/openwrt/luci.git
synced 2025-12-21 17:04:35 +04:00
luci-lua-runtime: Update sys.net.conntrack() to use to conntrack tool
Fall through to /usr/sbin/conntrack tool if /proc/net/nf_conntrack is not available. /proc/net/nf_conntrack has been obsoleted in recent kernels (https://cateee.net/lkddb/web-lkddb/NF_CONNTRACK_PROCFS.html). This change enables sys.net.conntrack() to return conntrack information via the /usr/sbin/conntrack tool (if installed) instead. Enables population of the /luci/admin/status/realtime/connections list. Signed-off-by: James Fox <jpfox156@yahoo.com.au> [ format using tabs ] Signed-off-by: Paul Donald <newtwen+github@gmail.com>
This commit is contained in:
@@ -279,10 +279,14 @@ function net.host_hints(callback)
|
||||
end
|
||||
|
||||
function net.conntrack(callback)
|
||||
local ok, nfct = pcall(io.lines, "/proc/net/nf_conntrack")
|
||||
if not ok or not nfct then
|
||||
local ok, fd = pcall(io.open, "/proc/net/nf_conntrack")
|
||||
if not ok or not fd then
|
||||
ok, fd = pcall(io.popen, "/usr/sbin/conntrack -L -o extended", "r")
|
||||
end
|
||||
if not ok or not fd then
|
||||
return nil
|
||||
end
|
||||
nfct = fd:lines()
|
||||
|
||||
local line, connt = nil, (not callback) and { }
|
||||
for line in nfct do
|
||||
|
||||
Reference in New Issue
Block a user