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
Branches
Tags
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.
Please register or to comment