Skip to content
Snippets Groups Projects
Unverified Commit ee6aface authored by Matthias Schiffer's avatar Matthias Schiffer
Browse files

treewide: use new gluon.site Lua library

Some files have received some additional refactoring.
parent fd36bcce
No related branches found
No related tags found
No related merge requests found
Showing
with 99 additions and 93 deletions
#!/usr/bin/lua
local site = require 'gluon.site_config'
local site = require 'gluon.site'
local file = '/etc/dropbear/authorized_keys'
local keys = {}
......@@ -14,7 +14,7 @@ end
pcall(load_keys)
local f = io.open(file, 'a')
for _, key in ipairs(site.authorized_keys) do
for _, key in ipairs(site.authorized_keys()) do
if not keys[key] then
f:write(key .. '\n')
end
......
#!/usr/bin/lua
local site = require 'gluon.site_config'
local site = require 'gluon.site'
local uci = require('simple-uci').cursor()
for name, config in pairs(site.autoupdater.branches) do
for name, config in pairs(site.autoupdater.branches()) do
uci:delete('autoupdater', name)
uci:section('autoupdater', 'branch', name, {
name = config.name,
......@@ -16,7 +16,7 @@ end
if not uci:get('autoupdater', 'settings') then
local enabled = false
local branch = site.autoupdater.branch
local branch = site.autoupdater.branch()
local f = io.open('/lib/gluon/autoupdater/default_branch')
if f then
......
#!/usr/bin/lua
local site = require 'gluon.site_config'
local util = require 'gluon.util'
local uci = require('simple-uci').cursor()
......
local site = require 'gluon.site_config'
local site = require 'gluon.site'
local sysconfig = require 'gluon.sysconfig'
local pretty_hostname = require 'pretty_hostname'
......
......@@ -2,14 +2,13 @@ local uci = require("simple-uci").cursor()
local lutil = require "gluon.web.util"
local fs = require "nixio.fs"
local site = require 'gluon.site_config'
local site = require 'gluon.site'
local sysconfig = require 'gluon.sysconfig'
local util = require "gluon.util"
local pretty_hostname = require 'pretty_hostname'
local has_fastd = fs.access('/lib/gluon/mesh-vpn/fastd')
local has_tunneldigger = fs.access('/lib/gluon/mesh-vpn/tunneldigger')
......
......@@ -10,7 +10,7 @@ end
local util = require 'gluon.util'
local platform = require 'gluon.platform'
local site = require 'gluon.site_config'
local site = require 'gluon.site'
local fs = require 'nixio.fs'
local uci = require('simple-uci').cursor()
......@@ -50,7 +50,7 @@ if wan_ifname and lan_ifname then
sysconfig.lan_ifname = lan_ifname
else
local single_ifname = lan_ifname or wan_ifname
if site.single_as_lan then
if site.single_as_lan(false) then
sysconfig.lan_ifname = single_ifname
else
sysconfig.wan_ifname = single_ifname
......
#!/usr/bin/lua
local pretty_hostname = require 'pretty_hostname'
local sysconfig = require 'gluon.sysconfig'
-- Initial
if not sysconfig.gluon_version then
local site = require 'gluon.site_config'
local util = require 'gluon.util'
local uci = require('simple-uci').cursor()
if sysconfig.gluon_version then
os.exit(0)
end
local system = uci:get_first('system', 'system')
local site = require 'gluon.site'
local util = require 'gluon.util'
local uci = require('simple-uci').cursor()
local pretty_hostname = require 'pretty_hostname'
pretty_hostname.set(uci, (site.hostname_prefix or '') .. util.node_id())
uci:set('system', system, 'timezone', site.timezone)
local system = uci:get_first('system', 'system')
uci:save('system')
end
pretty_hostname.set(uci, site.hostname_prefix('') .. util.node_id())
uci:set('system', system, 'timezone', site.timezone())
uci:save('system')
#!/usr/bin/lua
local site = require 'gluon.site_config'
local uci = require 'simple-uci'
local site = require 'gluon.site'
if not site.ntp_servers or #site.ntp_servers == 0 then
if #site.ntp_servers({}) == 0 then
os.exit(0)
end
local c = uci.cursor()
c:delete('system', 'ntp', 'server')
c:set_list('system', 'ntp', 'server', site.ntp_servers)
c:save('system')
local uci = require('simple-uci').cursor()
uci:delete('system', 'ntp', 'server')
uci:set_list('system', 'ntp', 'server', site.ntp_servers({}))
uci:save('system')
#!/usr/bin/lua
local site = require 'gluon.site_config'
local uci = require('simple-uci').cursor()
......
#!/usr/bin/lua
local sysconfig = require 'gluon.sysconfig'
local site = require 'gluon.site_config'
local site = require 'gluon.site'
if (not sysconfig.gluon_version) and site.poe_passthrough then
local uci = require('simple-uci').cursor()
if sysconfig.gluon_version or not site.poe_passthrough(false) then
os.exit(0)
end
local uci = require('simple-uci').cursor()
if uci:get('system', 'poe_passthrough') then
uci:set('system', 'poe_passthrough', 'value', true)
uci:save('system')
end
if uci:get('system', 'poe_passthrough') then
uci:set('system', 'poe_passthrough', 'value', true)
uci:save('system')
end
#!/usr/bin/lua
local site = require 'gluon.site_config'
local site = require 'gluon.site'
local uci = require('simple-uci').cursor()
local old_proto = uci:get('network', 'mesh_wan', 'proto')
......@@ -12,7 +12,7 @@ uci:section('network', 'interface', 'mesh_wan', {
})
if uci:get('network', 'mesh_wan', 'auto') == nil then
uci:set('network', 'mesh_wan', 'auto', site.mesh_on_wan or false)
uci:set('network', 'mesh_wan', 'auto', site.mesh_on_wan(false))
end
if uci:get('network', 'mesh_wan', 'transitive') == nil then
uci:set('network', 'mesh_wan', 'transitive', true)
......
#!/usr/bin/lua
local site = require 'gluon.site_config'
local site = require 'gluon.site'
local util = require 'gluon.util'
local sysconfig = require 'gluon.sysconfig'
......@@ -22,7 +22,7 @@ uci:section('network', 'interface', 'mesh_lan', {
})
if uci:get('network', 'mesh_lan', 'auto') == nil then
local enable = site.mesh_on_lan
local enable = site.mesh_on_lan(false)
if enable then
local interfaces = uci:get_list('network', 'client', 'ifname')
......@@ -37,7 +37,7 @@ if uci:get('network', 'mesh_lan', 'auto') == nil then
end
end
uci:set('network', 'mesh_lan', 'auto', enable or false)
uci:set('network', 'mesh_lan', 'auto', enable)
end
if uci:get('network', 'mesh_lan', 'transitive') == nil then
......
#!/usr/bin/lua
local fs = require 'nixio.fs'
local site = require 'gluon.site_config'
if not fs.access('/etc/opkg/distfeeds.conf') then
os.exit(0)
end
local site = require 'gluon.site'
local util = require 'gluon.util'
......@@ -15,11 +21,14 @@ subst['%%S'] = f:read()
subst['%%A'] = f:read()
f:close()
subst['%%GS'] = site.site_code
subst['%%GS'] = site.site_code()
subst['%%GV'] = util.trim(fs.readfile('/lib/gluon/gluon-version'))
subst['%%GR'] = util.trim(fs.readfile('/lib/gluon/release'))
function replace_patterns(url)
local prefix = subst['%%n'] .. '_'
local function replace_patterns(url)
for k, v in pairs(subst) do
url = url:gsub(k, v)
end
......@@ -28,39 +37,39 @@ function replace_patterns(url)
end
local prefix = subst['%%n'] .. '_'
local lede = site.opkg.lede()
local extra = site.opkg.extra({})
if fs.access('/etc/opkg/distfeeds.conf') then
local distfeeds = {}
for line in io.lines('/etc/opkg/distfeeds.conf') do
table.insert(distfeeds, line)
end
local f = io.open('/etc/opkg/distfeeds.conf', 'w')
for _, line in ipairs(distfeeds) do
local name = line:match('^src/gz%s' .. prefix .. '(%S+)%s')
if name == 'core' then
f:write('# ' .. line .. '\n')
elseif name and site.opkg and site.opkg.lede then
f:write(string.format('src/gz %s %s/%s\n', prefix .. name, replace_patterns(site.opkg.lede), name))
else
f:write(line .. '\n')
end
end
local distfeeds = {}
for line in io.lines('/etc/opkg/distfeeds.conf') do
table.insert(distfeeds, line)
end
f:close()
local f = io.open('/etc/opkg/distfeeds.conf', 'w')
if site.opkg and site.opkg.extra and next(site.opkg.extra) then
local f = io.open('/etc/opkg/gluon.conf', 'w')
for _, line in ipairs(distfeeds) do
local name = line:match('^src/gz%s' .. prefix .. '(%S+)%s')
if name == 'core' then
f:write('# ' .. line .. '\n')
elseif name and lede then
f:write(string.format('src/gz %s %s/%s\n', prefix .. name, replace_patterns(lede), name))
else
f:write(line .. '\n')
end
end
for k, v in pairs(site.opkg.extra) do
f:write(string.format('src/gz %s %s\n', k, replace_patterns(v)))
end
f:close()
f:close()
if next(extra) then
local f = io.open('/etc/opkg/gluon.conf', 'w')
else
os.remove('/etc/opkg/gluon.conf')
for k, v in pairs(extra) do
f:write(string.format('src/gz %s %s\n', k, replace_patterns(v)))
end
f:close()
else
os.remove('/etc/opkg/gluon.conf')
end
prefix4 = require('gluon.site_config').prefix4
local prefix4 = require('gluon.site').prefix4()
if prefix4 then
rule('LOCAL_FORWARD -p ARP --arp-ip-src ' .. prefix4 .. ' --arp-ip-dst ' .. prefix4 .. ' -j RETURN')
......
prefix4 = require('gluon.site_config').prefix4
local prefix4 = require('gluon.site').prefix4()
if prefix4 then
rule('LOCAL_FORWARD -p IPv4 --ip-protocol udp --ip-destination-port 67 -j RETURN')
......
......@@ -12,7 +12,7 @@ start_service () {
procd_set_param respawn ${respawn_threshold:-3660} ${respawn_timeout:-5} ${respawn_retry:-0}
interfaces=$(for dev in $( ubus call network.interface dump | jsonfilter -e "@.interface[@.proto='gluon_mesh' && @.up=true].device");do echo " -m $dev"; done;
[ "$(ifstatus client | jsonfilter -e "@.up")" = "true" ] && echo " -i local-node")
procd_set_param command "$PROG" -p $(lua -e 'print(require("gluon.site_config").prefix6)') $interfaces -t 11 -a $(uci get network.loopback.ip6addr | cut -d/ -f1) -4 0:0:0:0:0:ffff::/96
procd_set_param command "$PROG" -p $(lua -e 'print(require("gluon.site").prefix6())') $interfaces -t 11 -a $(uci get network.loopback.ip6addr | cut -d/ -f1) -4 0:0:0:0:0:ffff::/96
procd_close_instance
}
......@@ -24,4 +24,3 @@ service_triggers() {
procd_add_raw_trigger "interface.*" 0 "/etc/init.d/$name" reload
procd_close_trigger
}
#!/usr/bin/lua
local uci = require('simple-uci').cursor()
local site = require 'gluon.site_config'
local site = require 'gluon.site'
uci:delete('network', 'l3roam')
uci:section('network', 'interface', 'l3roam', {
......@@ -12,7 +12,7 @@ uci:section('network', 'interface', 'l3roam', {
uci:delete('network', 'l3roamd_client')
uci:section('network', 'route6', 'l3roamd_client', {
interface = 'l3roam',
target = site.prefix6,
target = site.prefix6(),
gateway = '::',
table = '10',
})
......
#!/usr/bin/lua
local site = require "gluon.site_config"
local site = require "gluon.site"
io.write("-i local-node -p " .. site.prefix6)
io.write("-i local-node -p " .. site.prefix6())
if site.dns and site.dns.servers and site.next_node and site.next_node.ip6 then
io.write(" --rdnss " .. site.next_node.ip6)
if site.dns.servers() and site.next_node.ip6() then
io.write(" --rdnss " .. site.next_node.ip6())
end
#!/usr/bin/lua
local sysconfig = require 'gluon.sysconfig'
local site = require 'gluon.site_config'
local site = require 'gluon.site'
local util = require 'gluon.util'
local uci = require('simple-uci').cursor()
local gw_mode, gw_sel_class, routing_algo
gw_mode = uci:get('batman-adv', 'bat0', 'gw_mode') or 'client'
if site.mesh and site.mesh.batman_adv then
gw_sel_class = site.mesh.batman_adv.gw_sel_class
routing_algo = site.mesh.batman_adv.routing_algo
end
local gw_mode = uci:get('batman-adv', 'bat0', 'gw_mode') or 'client'
local gw_sel_class = site.mesh.batman_adv.gw_sel_class()
local routing_algo = site.mesh.batman_adv.routing_algo()
uci:delete('batman-adv', 'bat0')
......
......@@ -4,7 +4,7 @@
-- it overrides parts of network.client
local site = require 'gluon.site_config'
local site = require 'gluon.site'
local sysconfig = require 'gluon.sysconfig'
local sysctl = require 'gluon.sysctl'
......@@ -15,7 +15,7 @@ uci:section('network', 'interface', 'client', {
ipv6 = true,
proto = 'dhcpv6',
reqprefix = 'no',
peerdns = not (site.dns and site.dns.servers),
peerdns = not site.dns.servers(),
sourcefilter = false,
keep_ra_dnslifetime = true,
robustness = 3,
......@@ -28,7 +28,7 @@ uci:delete('network', 'client_lan')
uci:delete('network', 'local_node_route6')
uci:section('network', 'route6', 'local_node_route6', {
interface = 'client',
target = site.prefix6,
target = site.prefix6(),
gateway = '::',
})
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment