local memcached = tonumber(meminfo:match("\nCached:%s*(%d+)"))
local memfree = tonumber(meminfo:match("MemFree:%s*(%d+)"))
local membuffers = tonumber(meminfo:match("Buffers:%s*(%d+)"))
- local bogomips = tonumber(cpuinfo:match("BogoMIPS.-:%s*([^\n]+)"))
+ local bogomips = tonumber(cpuinfo:match("[Bb]ogo[Mm][Ii][Pp][Ss].-: ([^\n]+)")) or 0
local system =
cpuinfo:match("system type\t+: ([^\n]+)") or
local model =
cpuinfo:match("machine\t+: ([^\n]+)") or
cpuinfo:match("Hardware\t+: ([^\n]+)") or
- fs.readfile("/proc/diag/model") or
+ luci.util.pcdata(fs.readfile("/proc/diag/model")) or
nixio.uname().machine or
system
for line in io.lines("/proc/net/nf_conntrack") do
line = line:match "^(.-( [^ =]+=).-)%2"
local entry, flags = _parse_mixed_record(line, " +")
- entry.layer3 = flags[1]
- entry.layer4 = flags[3]
- for i=1, #entry do
- entry[i] = nil
- end
+ if flags[6] ~= "TIME_WAIT" then
+ entry.layer3 = flags[1]
+ entry.layer4 = flags[3]
+ for i=1, #entry do
+ entry[i] = nil
+ end
- if callback then
- callback(entry)
- else
- connt[#connt+1] = entry
+ if callback then
+ callback(entry)
+ else
+ connt[#connt+1] = entry
+ end
end
end
elseif fs.access("/proc/net/ip_conntrack", "r") then
for line in io.lines("/proc/net/ip_conntrack") do
line = line:match "^(.-( [^ =]+=).-)%2"
local entry, flags = _parse_mixed_record(line, " +")
- entry.layer3 = "ipv4"
- entry.layer4 = flags[1]
- for i=1, #entry do
- entry[i] = nil
- end
+ if flags[4] ~= "TIME_WAIT" then
+ entry.layer3 = "ipv4"
+ entry.layer4 = flags[1]
+ for i=1, #entry do
+ entry[i] = nil
+ end
- if callback then
- callback(entry)
- else
- connt[#connt+1] = entry
+ if callback then
+ callback(entry)
+ else
+ connt[#connt+1] = entry
+ end
end
end
else
local route
net.routes6(function(rt)
- if rt.dest:prefix() == 0 and (not route or route.metric > rt.metric) then
+ if rt.dest:prefix() == 0 and rt.device ~= "lo" and
+ (not route or route.metric > rt.metric)
+ then
route = rt
end
end)
end
k = luci.util.split(luci.util.trim(line), "%s+", nil, true)
+ if k[6] == "%VSZ" then
+ k[6] = "%MEM"
+ end
if k[1] == "PID" then
break
end
-- @return Boolean indicating whether init is enabled
function init.enabled(name)
if fs.access(init.dir..name) then
- return ( call(init.dir..name.." enabled") == 0 )
+ return ( call(init.dir..name.." enabled >/dev/null") == 0 )
end
return false
end
-- @return Numeric index value
function init.index(name)
if fs.access(init.dir..name) then
- return call("source "..init.dir..name.." enabled; exit $START")
+ return call("source "..init.dir..name.." enabled >/dev/null; exit $START")
end
end
-- @return Boolean indicating success
function init.enable(name)
if fs.access(init.dir..name) then
- return ( call(init.dir..name.." enable") == 1 )
+ return ( call(init.dir..name.." enable >/dev/null") == 1 )
end
end
-- @return Boolean indicating success
function init.disable(name)
if fs.access(init.dir..name) then
- return ( call(init.dir..name.." disable") == 0 )
+ return ( call(init.dir..name.." disable >/dev/null") == 0 )
end
end