treewide: fix luacheck warnings

This commit is contained in:
bobcanthelpyou 2019-06-16 20:06:45 +02:00
parent 80b6e7f18f
commit 4249d65af7
33 changed files with 100 additions and 98 deletions

View File

@ -5,7 +5,7 @@ local file = '/etc/dropbear/authorized_keys'
local keys = {}
function load_keys()
local function load_keys()
for line in io.lines(file) do
keys[line] = true
end

View File

@ -2,8 +2,6 @@ return function(form, uci)
local pkg_i18n = i18n 'gluon-config-mode-contact-info'
local site_i18n = i18n 'gluon-site'
local site = require 'gluon.site'
local owner = uci:get_first("gluon-node-info", "owner")
local help = site_i18n._translate("gluon-config-mode:contact-help") or pkg_i18n.translate(

View File

@ -7,7 +7,8 @@ return function(form, uci)
local util = require 'gluon.util'
local selected_domain = uci:get('gluon', 'core', 'domain')
local configured = uci:get_first('gluon-setup-mode','setup_mode', 'configured') == '1' or (selected_domain ~= site.default_domain())
local configured = uci:get_first('gluon-setup-mode','setup_mode', 'configured') == '1' or
(selected_domain ~= site.default_domain())
local function hide_domain_code(domain, code)
if configured and code == selected_domain then

View File

@ -9,7 +9,8 @@ M.MapValue = osm.MapValue
function M.help(i18n)
local pkg_i18n = i18n 'gluon-config-mode-geo-location-osm'
return pkg_i18n.translate(
'You may also select the position on the map displayed below if your computer is connected to the internet at the moment.'
'You may also select the position on the map displayed below '
.. 'if your computer is connected to the internet at the moment.'
)
end

View File

@ -43,7 +43,7 @@ return function(form, uci)
end
end
local map = {}
local map
if osm then
map = s:option(osm.MapValue, "map", osm.options())
map:depends(share_location, true)
@ -56,7 +56,9 @@ return function(form, uci)
function o:write(data)
uci:set("gluon-node-info", location, "latitude", data)
end
if osm then
map.lat = o
end
o = s:option(Value, "longitude", pkg_i18n.translate("Longitude"), pkg_i18n.translatef("e.g. %s", "10.689901"))
o.default = uci:get("gluon-node-info", location, "longitude")
@ -65,7 +67,9 @@ return function(form, uci)
function o:write(data)
uci:set("gluon-node-info", location, "longitude", data)
end
if osm then
map.lon = o
end
if show_altitude then
o = s:option(Value, "altitude",

View File

@ -14,7 +14,8 @@ return function(form, uci)
local current_hostname = pretty_hostname.get(uci)
local default_hostname = util.default_hostname()
local configured = uci:get_first('gluon-setup-mode', 'setup_mode', 'configured', false) or (current_hostname ~= default_hostname)
local configured = uci:get_first('gluon-setup-mode', 'setup_mode', 'configured', false) or
(current_hostname ~= default_hostname)
local s = form:section(Section)
local o = s:option(Value, "hostname", pkg_i18n.translate("Node name"))

View File

@ -8,7 +8,6 @@ if sysconfig.lan_ifname or sysconfig.wan_ifname then
end
local util = require 'gluon.util'
local platform = require 'gluon.platform'
local site = require 'gluon.site'

View File

@ -15,7 +15,7 @@ local sysconfig = require 'gluon.sysconfig'
local platform = require 'gluon.platform'
local config = site.wifi5.outdoors('preset')
local outdoor = false
local outdoor
if sysconfig.gluon_version then
-- don't enable the outdoor mode after an upgrade

View File

@ -16,14 +16,12 @@ if not sysconfig.gluon_version then
-- capable of operating in the 2.4 GHz and 5 GHz band need
-- to be distributed evenly.
local radio_band_count = {band24=0, band5=0}
util.foreach_radio(uci, function(radio, index, config)
util.foreach_radio(uci, function(radio)
local hwmodes = iwinfo.nl80211.hwmodelist(util.find_phy(radio))
if (hwmodes.a or hwmodes.ac) and hwmodes.g then
-- Dualband - do nothing in this step
elseif hwmodes.g then
if hwmodes.g and not (hwmodes.a or hwmodes.ac) then
-- 2.4 GHz
radio_band_count["band24"] = radio_band_count["band24"] + 1
elseif hwmodes.a or hwmodes.ac then
elseif (hwmodes.a or hwmodes.ac) and not hwmodes.g then
-- 5 GHz
radio_band_count["band5"] = radio_band_count["band5"] + 1
end
@ -31,7 +29,7 @@ if not sysconfig.gluon_version then
-- Use the number of all fixed 2.4G GHz and 5 GHz radios to
-- distribute dualband radios in this step.
util.foreach_radio(uci, function(radio, index, config)
util.foreach_radio(uci, function(radio)
local radio_name = radio['.name']
local hwmodes = iwinfo.nl80211.hwmodelist(util.find_phy(radio))
if (hwmodes.a or hwmodes.ac) and hwmodes.g then

View File

@ -46,7 +46,7 @@ for line in io.lines('/etc/opkg/distfeeds.conf') do
table.insert(distfeeds, line)
end
local f = io.open('/etc/opkg/distfeeds.conf', 'w')
f = io.open('/etc/opkg/distfeeds.conf', 'w')
for _, line in ipairs(distfeeds) do
local name = line:match('^src/gz%s' .. prefix .. '(%S+)%s')
@ -62,7 +62,7 @@ end
f:close()
if next(extra) then
local f = io.open('/etc/opkg/gluon.conf', 'w')
f = io.open('/etc/opkg/gluon.conf', 'w')
for k, v in pairs(extra) do
f:write(string.format('src/gz %s %s\n', k, replace_patterns(v)))

View File

@ -85,10 +85,9 @@ function M.mac_to_ip(prefix, mac)
local h3 = 0x100 * m5 + tonumber(m6, 16)
local h4 = 0x100 * tonumber(m7, 16) + tonumber(m8, 16)
local prefix, plen = string.match(prefix, '(.*)/(%d+)')
plen = tonumber(plen, 10)
prefix = string.match(prefix, '(.*)/%d+')
local p1, p2, p3, p4, p5, p6, p7, p8 = M.IPv6(prefix)
local p1, p2, p3, p4 = M.IPv6(prefix)
return string.format("%x:%x:%x:%x:%x:%x:%x:%x/%d", p1, p2, p3, p4, h1, h2, h3, h4, 128)
end

View File

@ -157,7 +157,7 @@ function M.find_phy(config)
end
end
local function get_addresses(uci, radio)
local function get_addresses(radio)
local phy = M.find_phy(radio)
if not phy then
return function() end
@ -200,11 +200,11 @@ function M.generate_mac(i)
return string.format('%02x:%s:%s:%s:%s:%02x', m1, m2, m3, m4, m5, m6)
end
local function get_wlan_mac_from_driver(uci, radio, vif)
local function get_wlan_mac_from_driver(radio, vif)
local primary = sysconfig.primary_mac:lower()
local addresses = {}
for address in get_addresses(uci, radio) do
for address in get_addresses(radio) do
if address:lower() ~= primary then
table.insert(addresses, address)
end
@ -222,8 +222,8 @@ local function get_wlan_mac_from_driver(uci, radio, vif)
end
end
function M.get_wlan_mac(uci, radio, index, vif)
local addr = get_wlan_mac_from_driver(uci, radio, vif)
function M.get_wlan_mac(_, radio, index, vif)
local addr = get_wlan_mac_from_driver(radio, vif)
if addr then
return addr
end

View File

@ -3,7 +3,7 @@
local site = require 'gluon.site'
local babelconf='/etc/gluon-babeld.conf'
file = io.open(babelconf, "w")
local file = io.open(babelconf, "w")
file:write("ipv6-subtrees true\n")
file:write("reflect-kernel-metric true\n")
file:write("export-table 254\n")

View File

@ -5,7 +5,6 @@
local site = require 'gluon.site'
local sysconfig = require 'gluon.sysconfig'
local util = require 'gluon.util'
local uci = require('simple-uci').cursor()
@ -39,7 +38,7 @@ local networks = uci:get_list('firewall', 'mesh', 'network')
util.add_to_set(networks, 'client')
uci:set_list('firewall', 'mesh', 'network', networks)
local networks = uci:get_list('firewall', 'drop', 'network')
networks = uci:get_list('firewall', 'drop', 'network')
util.remove_from_set(networks, 'client')
uci:set_list('firewall', 'drop', 'network', networks)

View File

@ -2,7 +2,8 @@ local fastd_methods = {'salsa2012+gmac', 'salsa2012+umac', 'null+salsa2012+gmac'
need_array_of({'mesh_vpn', 'fastd', 'methods'}, fastd_methods)
need_boolean(in_site({'mesh_vpn', 'fastd', 'configurable'}), false)
need_one_of(in_site({'mesh_vpn', 'fastd', 'syslog_level'}), {'error', 'warn', 'info', 'verbose', 'debug', 'debug2'}, false)
need_one_of(in_site({'mesh_vpn', 'fastd', 'syslog_level'}),
{'error', 'warn', 'info', 'verbose', 'debug', 'debug2'}, false)
local function check_peer(k)
need_alphanumeric_key(k)

View File

@ -1,4 +1,4 @@
if need_table(in_domain({'domain_switch'}), check_domain_switch, false) then
if need_table(in_domain({'domain_switch'}), nil, false) then
need_domain_name(in_domain({'domain_switch', 'target_domain'}))
need_number(in_domain({'domain_switch', 'switch_after_offline_mins'}))
need_number(in_domain({'domain_switch', 'switch_time'}))

View File

@ -1,8 +1,6 @@
#!/usr/bin/lua
local json = require 'jsonc'
local site = require 'gluon.site'
local unistd = require 'posix.unistd'
local cronfile = "/usr/lib/micron.d/gluon-scheduled-domain-switch"

View File

@ -6,7 +6,7 @@ local util = require 'gluon.util'
local site = require 'gluon.site'
-- Returns true if node was offline long enough to perform domain switch
function switch_after_min_reached()
local function switch_after_min_reached()
if not unistd.access("/tmp/gluon_offline") then
return false
end
@ -33,7 +33,7 @@ function switch_after_min_reached()
end
-- Returns true in case switch time has passed
function switch_time_passed()
local function switch_time_passed()
local current_time = os.time()
local switch_time = site.domain_switch.switch_time()

View File

@ -15,10 +15,11 @@ package 'gluon-web-admin'
local util = require 'gluon.util'
local unistd = require 'posix.unistd'
local file
local tmpfile = "/tmp/firmware.img"
local function filehandler(meta, chunk, eof)
local function filehandler(_, chunk, eof)
if not unistd.access(tmpfile) and not file and chunk and #chunk > 0 then
file = io.open(tmpfile, "w")
end
@ -33,7 +34,6 @@ end
local function action_upgrade(http, renderer)
local fcntl = require 'posix.fcntl'
local stat = require 'posix.sys.stat'
local wait = require 'posix.sys.wait'
local function fork_exec(argv)
local pid = unistd.fork()
@ -63,15 +63,15 @@ local function action_upgrade(http, renderer)
end
end
local function image_supported(tmpfile)
return (os.execute(string.format("exec /sbin/sysupgrade -T %q >/dev/null", tmpfile)) == 0)
local function image_supported(supported_tmpfile)
return (os.execute(string.format("exec /sbin/sysupgrade -T %q >/dev/null", supported_tmpfile)) == 0)
end
local function storage_size()
local size = 0
if unistd.access("/proc/mtd") then
for l in io.lines("/proc/mtd") do
local d, s, e, n = l:match('^([^%s]+)%s+([^%s]+)%s+([^%s]+)%s+"([^%s]+)"')
local s, n = l:match('^[^%s]+%s+([^%s]+)%s+[^%s]+%s+"([^%s]+)"')
if n == "linux" then
size = tonumber(s, 16)
break
@ -79,7 +79,7 @@ local function action_upgrade(http, renderer)
end
elseif unistd.access("/proc/partitions") then
for l in io.lines("/proc/partitions") do
local x, y, b, n = l:match('^%s*(%d+)%s+(%d+)%s+([^%s]+)%s+([^%s]+)')
local b, n = l:match('^%s*%d+%s+%d+%s+([^%s]+)%s+([^%s]+)')
if b and n and not n:match('[0-9]') then
size = tonumber(b) * 1024
break
@ -89,8 +89,8 @@ local function action_upgrade(http, renderer)
return size
end
local function image_checksum(tmpfile)
return (util.exec(string.format("exec sha256sum %q", tmpfile)):match("^([^%s]+)"))
local function image_checksum(checksum_tmpfile)
return (util.exec(string.format("exec sha256sum %q", checksum_tmpfile)):match("^([^%s]+)"))
end

View File

@ -57,7 +57,7 @@ local f_password = Form(translate("Password"), translate(
)
f_password.reset = false
local s = f_password:section(Section)
s = f_password:section(Section)
local pw1 = s:option(Value, "pw1", translate("Password"))
pw1.password = true

View File

@ -22,18 +22,18 @@ function mode:write(data)
-- methods will be recreated and filled with the original values from site.mesh_vpn.fastd.methods
-- if performance mode was selected, and the method 'null' was not present in the original table, it will be added
local methods = {}
local site_methods = {}
if data == 'performance' then
table.insert(methods, 'null')
table.insert(site_methods, 'null')
end
for _, method in ipairs(site.mesh_vpn.fastd.methods()) do
if method ~= 'null' then
table.insert(methods, method)
table.insert(site_methods, method)
end
end
uci:set('fastd', 'mesh_vpn', 'method', methods)
uci:set('fastd', 'mesh_vpn', 'method', site_methods)
uci:save('fastd')
uci:commit('fastd')

View File

@ -13,7 +13,7 @@ local function load(filename, i18n)
local func = assert(loadfile(filename))
setfenv(func, setmetatable({}, {__index =
function(tbl, key)
function(_, key)
return classes[key] or i18n[key] or _G[key]
end
}))

View File

@ -145,7 +145,7 @@ function AbstractValue:depends(field, value)
table.insert(self.deps, deps)
end
function AbstractValue:deplist(section, deplist)
function AbstractValue:deplist(_, deplist)
local deps = {}
for _, d in ipairs(deplist or self.deps) do
@ -257,7 +257,8 @@ function AbstractValue:handle()
end
end
function AbstractValue:write(value)
-- will be overridden: write(value)
function AbstractValue:write()
end

View File

@ -42,7 +42,7 @@ ipv4_gateway.default = wan.gateway
ipv4_gateway.datatype = "ip4addr"
local s = f:section(Section)
s = f:section(Section)
local ipv6 = s:option(ListValue, "ipv6", translate("IPv6"))
ipv6:value("dhcpv6", translate("Automatic (RA/DHCPv6)"))
@ -61,7 +61,7 @@ ipv6_gateway.default = wan6.ip6gw
ipv6_gateway.datatype = "ip6addr"
if dns_static then
local s = f:section(Section)
s = f:section(Section)
local dns = s:option(DynamicList, "dns", translate("Static DNS servers"))
dns.default = uci:get_list("gluon-wan-dnsmasq", dns_static, "server")
@ -74,7 +74,7 @@ if dns_static then
end
end
local s = f:section(Section)
s = f:section(Section)
local mesh_wan = s:option(Flag, "mesh_wan", translate("Enable meshing on the WAN interface"))
mesh_wan.default = not uci:get_bool("network", "mesh_wan", "disabled")
@ -84,7 +84,7 @@ function mesh_wan:write(data)
end
if sysconfig.lan_ifname then
local s = f:section(Section)
s = f:section(Section)
local mesh_lan = s:option(Flag, "mesh_lan", translate("Enable meshing on the LAN interface"))
mesh_lan.default = not uci:get_bool("network", "mesh_lan", "disabled")
@ -107,24 +107,24 @@ if sysconfig.lan_ifname then
end
local section
uci:foreach("system", "gpio_switch", function(s)
if s[".name"]:match("poe") then
uci:foreach("system", "gpio_switch", function(si)
if si[".name"]:match("poe") then
if not section then
section = f:section(Section)
end
local port = s.name:match("^PoE Power Port(%d*)$")
local port = si.name:match("^PoE Power Port(%d*)$")
local name
if port then
name = translatef("Enable PoE Power Port %s", port)
else
name = translate("Enable " .. s.name)
name = translate("Enable " .. si.name)
end
local poe = section:option(Flag, s[".name"], name)
poe.default = uci:get_bool("system", s[".name"], "value")
local poe = section:option(Flag, si[".name"], name)
poe.default = uci:get_bool("system", si[".name"], "value")
function poe:write(data)
uci:set("system", s[".name"], "value", data)
uci:set("system", si[".name"], "value", data)
end
end
end)

View File

@ -17,8 +17,8 @@ s = f:section(Section, nil, translate(
o = s:option(ListValue, "role", translate("Role"))
o.default = role
for _, role in ipairs(site.roles.list()) do
o:value(role, site_i18n.translate('gluon-web-node-role:role:' .. role))
for _, role_value in ipairs(site.roles.list()) do
o:value(role, site_i18n.translate('gluon-web-node-role:role:' .. role_value))
end
function o:write(data)

View File

@ -1,5 +1,4 @@
local iwinfo = require 'iwinfo'
local site = require 'gluon.site'
local uci = require("simple-uci").cursor()
local util = require 'gluon.util'

View File

@ -109,8 +109,8 @@ local function dispatch(config, http, request)
return _node({...})
end,
entry = function(path, target, title, order)
local c = _node(path, true)
entry = function(entry_path, target, title, order)
local c = _node(entry_path, true)
c.target = target
c.title = title
@ -204,7 +204,7 @@ return function(config, http)
table.insert(request, node)
end
ok, err = pcall(dispatch, config, http, request)
local ok, err = pcall(dispatch, config, http, request)
if not ok then
http:status(500, "Internal Server Error")
http:prepare_content("text/plain")

View File

@ -53,7 +53,7 @@ end
function Http:getcookie(name)
local c = string.gsub(";" .. (self:getenv("HTTP_COOKIE") or "") .. ";", "%s*;%s*", ";")
local p = ";" .. name .. "=(.-);"
local i, j, value = c:find(p)
local _, _, value = c:find(p)
return value and protocol.urldecode(value)
end

View File

@ -124,13 +124,13 @@ local function mimedecode_message_body(src, msg, filecb)
local store = nil
local lchunk = nil
local function parse_headers(chunk, field)
local function parse_headers(chunk, pfield)
local stat
repeat
chunk, stat = chunk:gsub(
"^([A-Z][A-Za-z0-9%-_]+): +([^\r\n]+)\r\n",
function(k,v)
field.headers[k] = v
pfield.headers[k] = v
return ""
end
)
@ -140,26 +140,26 @@ local function mimedecode_message_body(src, msg, filecb)
-- End of headers
if stat > 0 then
if field.headers["Content-Disposition"] then
if field.headers["Content-Disposition"]:match("^form%-data; ") then
field.name = field.headers["Content-Disposition"]:match('name="(.-)"')
field.file = field.headers["Content-Disposition"]:match('filename="(.+)"$')
if pfield.headers["Content-Disposition"] then
if pfield.headers["Content-Disposition"]:match("^form%-data; ") then
pfield.name = pfield.headers["Content-Disposition"]:match('name="(.-)"')
pfield.file = pfield.headers["Content-Disposition"]:match('filename="(.+)"$')
end
end
if not field.headers["Content-Type"] then
field.headers["Content-Type"] = "text/plain"
if not pfield.headers["Content-Type"] then
pfield.headers["Content-Type"] = "text/plain"
end
if field.name then
initval(msg.params, field.name)
if field.file then
appendval(msg.params, field.name, field.file)
if pfield.name then
initval(msg.params, pfield.name)
if pfield.file then
appendval(msg.params, pfield.name, pfield.file)
store = filecb
else
store = function(hdr, buf, eof)
appendval(msg.params, field.name, buf)
store = function(_, buf, _)
appendval(msg.params, pfield.name, buf)
end
end
else
@ -197,6 +197,7 @@ local function mimedecode_message_body(src, msg, filecb)
if spos then
local predata = data:sub(1, spos - 1)
local eof
if inhdr then
predata, eof = parse_headers(predata, field)
@ -225,11 +226,12 @@ local function mimedecode_message_body(src, msg, filecb)
-- We found at least some boundary. Save
-- the unparsed remaining data for the
-- next chunk.
lchunk, data = data, nil
lchunk = data
else
-- There was a complete chunk without a boundary. Parse it as headers or
-- append it as data, depending on our current state.
if inhdr then
local eof
lchunk, eof = parse_headers(data, field)
inhdr = not eof
else
@ -240,7 +242,7 @@ local function mimedecode_message_body(src, msg, filecb)
if store then
store(field, lchunk, false)
end
lchunk, chunk = chunk, nil
lchunk = chunk
end
end
end

View File

@ -13,7 +13,7 @@ return function(config)
return string.format('%s/%s.%s.lmo', i18ndir, pkg, lang)
end
local function no_translation(key)
local function no_translation()
return nil
end

View File

@ -44,13 +44,13 @@ return function(config, env)
translate = t.translate,
translatef = t.translatef,
_translate = t._translate,
include = function(name)
ctx.render(name, scope, pkg)
include = function(include_name)
ctx.render(include_name, scope, pkg)
end,
}
setfenv(template, setmetatable({}, {
__index = function(tbl, key)
__index = function(_, key)
return scope[key] or locals[key] or env[key]
end
}))

View File

@ -37,7 +37,7 @@ local site, domain_code, domain, conf
local function merge(a, b)
local function is_array(t)
local n = 0
for k, v in pairs(t) do
for _ in pairs(t) do
n = n + 1
end
return n == #t
@ -216,12 +216,12 @@ local function check_chanlist(channels)
return function(chanlist)
for group in chanlist:gmatch("%S+") do
if group:match("^%d+$") then
channel = tonumber(group)
local channel = tonumber(group)
if not is_valid_channel(channel) then
return false
end
elseif group:match("^%d+-%d+$") then
from, to = group:match("^(%d+)-(%d+)$")
local from, to = group:match("^(%d+)-(%d+)$")
from = tonumber(from)
to = tonumber(to)
if from >= to then
@ -344,8 +344,9 @@ end
function need_chanlist(path, channels, required)
local valid_chanlist = check_chanlist(channels)
return need(path, valid_chanlist, required, 'be a space-separated list of WiFi channels or channel-ranges (separated by a hyphen). ' ..
'Valid channels are: ' .. array_to_string(channels))
return need(path, valid_chanlist, required,
'be a space-separated list of WiFi channels or channel-ranges (separated by a hyphen). '
.. 'Valid channels are: ' .. array_to_string(channels))
end
function need_domain_name(path)