X-Git-Url: http://git.archive.openwrt.org/?a=blobdiff_plain;f=modules%2Fluci-base%2Fluasrc%2Fsys.lua;h=a97271732ad0f2d0d72db2b4695963dc391e9e3f;hb=d5f8c9b0280ac17eaa8ea87a893204dfeeea7d68;hp=ae3565245d7cf99ce65297847a27beeba75b8935;hpb=f779b00d883f965e405944f3c872b5ee763836e7;p=project%2Fluci.git diff --git a/modules/luci-base/luasrc/sys.lua b/modules/luci-base/luasrc/sys.lua index ae3565245..a97271732 100644 --- a/modules/luci-base/luasrc/sys.lua +++ b/modules/luci-base/luasrc/sys.lua @@ -325,12 +325,10 @@ function net.conntrack(callback) local line, connt = nil, (not callback) and { } for line in nfct do - local fam, l3, l4, timeout, state, tuples = - line:match("^(ipv[46]) +(%d+) +%S+ +(%d+) +(%d+) +([A-Z_]+) +(.+)$") + local fam, l3, l4, timeout, tuples = + line:match("^(ipv[46]) +(%d+) +%S+ +(%d+) +(%d+) +(.+)$") - if fam and l3 and l4 and timeout and state and tuples and - state ~= "TIME_WAIT" - then + if fam and l3 and l4 and timeout and not tuples:match("^TIME_WAIT ") then l4 = nixio.getprotobynumber(l4) local entry = { @@ -345,7 +343,11 @@ function net.conntrack(callback) for key, val in tuples:gmatch("(%w+)=(%S+)") do if key == "bytes" or key == "packets" then entry[key] = entry[key] + tonumber(val, 10) - elseif key == "src" or key == "dst" or key == "sport" or key == "dport" then + elseif key == "src" or key == "dst" then + if entry[key] == nil then + entry[key] = luci.ip.new(val):string() + end + elseif key == "sport" or key == "dport" then if entry[key] == nil then entry[key] = val end