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 #!/usr/bin/lua
local site = require 'gluon.site_config' local site = require 'gluon.site'
local file = '/etc/dropbear/authorized_keys' local file = '/etc/dropbear/authorized_keys'
local keys = {} local keys = {}
...@@ -14,7 +14,7 @@ end ...@@ -14,7 +14,7 @@ end
pcall(load_keys) pcall(load_keys)
local f = io.open(file, 'a') 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 if not keys[key] then
f:write(key .. '\n') f:write(key .. '\n')
end end
......
#!/usr/bin/lua #!/usr/bin/lua
local site = require 'gluon.site_config' local site = require 'gluon.site'
local uci = require('simple-uci').cursor() 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:delete('autoupdater', name)
uci:section('autoupdater', 'branch', name, { uci:section('autoupdater', 'branch', name, {
name = config.name, name = config.name,
...@@ -16,7 +16,7 @@ end ...@@ -16,7 +16,7 @@ end
if not uci:get('autoupdater', 'settings') then if not uci:get('autoupdater', 'settings') then
local enabled = false local enabled = false
local branch = site.autoupdater.branch local branch = site.autoupdater.branch()
local f = io.open('/lib/gluon/autoupdater/default_branch') local f = io.open('/lib/gluon/autoupdater/default_branch')
if f then if f then
......
#!/usr/bin/lua #!/usr/bin/lua
local site = require 'gluon.site_config'
local util = require 'gluon.util' local util = require 'gluon.util'
local uci = require('simple-uci').cursor() local uci = require('simple-uci').cursor()
......
local site = require 'gluon.site_config' local site = require 'gluon.site'
local sysconfig = require 'gluon.sysconfig' local sysconfig = require 'gluon.sysconfig'
local pretty_hostname = require 'pretty_hostname' local pretty_hostname = require 'pretty_hostname'
......
...@@ -2,14 +2,13 @@ local uci = require("simple-uci").cursor() ...@@ -2,14 +2,13 @@ local uci = require("simple-uci").cursor()
local lutil = require "gluon.web.util" local lutil = require "gluon.web.util"
local fs = require "nixio.fs" local fs = require "nixio.fs"
local site = require 'gluon.site_config' local site = require 'gluon.site'
local sysconfig = require 'gluon.sysconfig' local sysconfig = require 'gluon.sysconfig'
local util = require "gluon.util" local util = require "gluon.util"
local pretty_hostname = require 'pretty_hostname' local pretty_hostname = require 'pretty_hostname'
local has_fastd = fs.access('/lib/gluon/mesh-vpn/fastd') local has_fastd = fs.access('/lib/gluon/mesh-vpn/fastd')
local has_tunneldigger = fs.access('/lib/gluon/mesh-vpn/tunneldigger') local has_tunneldigger = fs.access('/lib/gluon/mesh-vpn/tunneldigger')
......
...@@ -10,7 +10,7 @@ end ...@@ -10,7 +10,7 @@ end
local util = require 'gluon.util' local util = require 'gluon.util'
local platform = require 'gluon.platform' local platform = require 'gluon.platform'
local site = require 'gluon.site_config' local site = require 'gluon.site'
local fs = require 'nixio.fs' local fs = require 'nixio.fs'
local uci = require('simple-uci').cursor() local uci = require('simple-uci').cursor()
...@@ -50,7 +50,7 @@ if wan_ifname and lan_ifname then ...@@ -50,7 +50,7 @@ if wan_ifname and lan_ifname then
sysconfig.lan_ifname = lan_ifname sysconfig.lan_ifname = lan_ifname
else else
local single_ifname = lan_ifname or wan_ifname 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 sysconfig.lan_ifname = single_ifname
else else
sysconfig.wan_ifname = single_ifname sysconfig.wan_ifname = single_ifname
......
#!/usr/bin/lua #!/usr/bin/lua
local pretty_hostname = require 'pretty_hostname'
local sysconfig = require 'gluon.sysconfig' local sysconfig = require 'gluon.sysconfig'
-- Initial -- Initial
if not sysconfig.gluon_version then if sysconfig.gluon_version then
local site = require 'gluon.site_config' os.exit(0)
local util = require 'gluon.util' end
local uci = require('simple-uci').cursor()
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()) local system = uci:get_first('system', 'system')
uci:set('system', system, 'timezone', site.timezone)
uci:save('system') pretty_hostname.set(uci, site.hostname_prefix('') .. util.node_id())
end uci:set('system', system, 'timezone', site.timezone())
uci:save('system')
#!/usr/bin/lua #!/usr/bin/lua
local site = require 'gluon.site_config' local site = require 'gluon.site'
local uci = require 'simple-uci'
if not site.ntp_servers or #site.ntp_servers == 0 then if #site.ntp_servers({}) == 0 then
os.exit(0) os.exit(0)
end end
local c = uci.cursor()
c:delete('system', 'ntp', 'server') local uci = require('simple-uci').cursor()
c:set_list('system', 'ntp', 'server', site.ntp_servers) uci:delete('system', 'ntp', 'server')
c:save('system') uci:set_list('system', 'ntp', 'server', site.ntp_servers({}))
uci:save('system')
#!/usr/bin/lua #!/usr/bin/lua
local site = require 'gluon.site_config'
local uci = require('simple-uci').cursor() local uci = require('simple-uci').cursor()
......
#!/usr/bin/lua #!/usr/bin/lua
local sysconfig = require 'gluon.sysconfig' 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 if sysconfig.gluon_version or not site.poe_passthrough(false) then
local uci = require('simple-uci').cursor() os.exit(0)
end
local uci = require('simple-uci').cursor()
if uci:get('system', 'poe_passthrough') then if uci:get('system', 'poe_passthrough') then
uci:set('system', 'poe_passthrough', 'value', true) uci:set('system', 'poe_passthrough', 'value', true)
uci:save('system') uci:save('system')
end
end end
#!/usr/bin/lua #!/usr/bin/lua
local site = require 'gluon.site_config' local site = require 'gluon.site'
local uci = require('simple-uci').cursor() local uci = require('simple-uci').cursor()
local old_proto = uci:get('network', 'mesh_wan', 'proto') local old_proto = uci:get('network', 'mesh_wan', 'proto')
...@@ -12,7 +12,7 @@ uci:section('network', 'interface', 'mesh_wan', { ...@@ -12,7 +12,7 @@ uci:section('network', 'interface', 'mesh_wan', {
}) })
if uci:get('network', 'mesh_wan', 'auto') == nil then 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 end
if uci:get('network', 'mesh_wan', 'transitive') == nil then if uci:get('network', 'mesh_wan', 'transitive') == nil then
uci:set('network', 'mesh_wan', 'transitive', true) uci:set('network', 'mesh_wan', 'transitive', true)
......
#!/usr/bin/lua #!/usr/bin/lua
local site = require 'gluon.site_config' local site = require 'gluon.site'
local util = require 'gluon.util' local util = require 'gluon.util'
local sysconfig = require 'gluon.sysconfig' local sysconfig = require 'gluon.sysconfig'
...@@ -22,7 +22,7 @@ uci:section('network', 'interface', 'mesh_lan', { ...@@ -22,7 +22,7 @@ uci:section('network', 'interface', 'mesh_lan', {
}) })
if uci:get('network', 'mesh_lan', 'auto') == nil then 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 if enable then
local interfaces = uci:get_list('network', 'client', 'ifname') local interfaces = uci:get_list('network', 'client', 'ifname')
...@@ -37,7 +37,7 @@ if uci:get('network', 'mesh_lan', 'auto') == nil then ...@@ -37,7 +37,7 @@ if uci:get('network', 'mesh_lan', 'auto') == nil then
end end
end end
uci:set('network', 'mesh_lan', 'auto', enable or false) uci:set('network', 'mesh_lan', 'auto', enable)
end end
if uci:get('network', 'mesh_lan', 'transitive') == nil then if uci:get('network', 'mesh_lan', 'transitive') == nil then
......
#!/usr/bin/lua #!/usr/bin/lua
local fs = require 'nixio.fs' 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' local util = require 'gluon.util'
...@@ -15,11 +21,14 @@ subst['%%S'] = f:read() ...@@ -15,11 +21,14 @@ subst['%%S'] = f:read()
subst['%%A'] = f:read() subst['%%A'] = f:read()
f:close() f:close()
subst['%%GS'] = site.site_code subst['%%GS'] = site.site_code()
subst['%%GV'] = util.trim(fs.readfile('/lib/gluon/gluon-version')) subst['%%GV'] = util.trim(fs.readfile('/lib/gluon/gluon-version'))
subst['%%GR'] = util.trim(fs.readfile('/lib/gluon/release')) 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 for k, v in pairs(subst) do
url = url:gsub(k, v) url = url:gsub(k, v)
end end
...@@ -28,39 +37,39 @@ function replace_patterns(url) ...@@ -28,39 +37,39 @@ function replace_patterns(url)
end 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') local distfeeds = {}
for line in io.lines('/etc/opkg/distfeeds.conf') do
for _, line in ipairs(distfeeds) do table.insert(distfeeds, line)
local name = line:match('^src/gz%s' .. prefix .. '(%S+)%s') end
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
f:close() local f = io.open('/etc/opkg/distfeeds.conf', 'w')
if site.opkg and site.opkg.extra and next(site.opkg.extra) then for _, line in ipairs(distfeeds) do
local f = io.open('/etc/opkg/gluon.conf', 'w') 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:close()
f:write(string.format('src/gz %s %s\n', k, replace_patterns(v)))
end
f:close() if next(extra) then
local f = io.open('/etc/opkg/gluon.conf', 'w')
else for k, v in pairs(extra) do
os.remove('/etc/opkg/gluon.conf') f:write(string.format('src/gz %s %s\n', k, replace_patterns(v)))
end end
f:close()
else
os.remove('/etc/opkg/gluon.conf')
end end
prefix4 = require('gluon.site_config').prefix4 local prefix4 = require('gluon.site').prefix4()
if prefix4 then if prefix4 then
rule('LOCAL_FORWARD -p ARP --arp-ip-src ' .. prefix4 .. ' --arp-ip-dst ' .. prefix4 .. ' -j RETURN') 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 if prefix4 then
rule('LOCAL_FORWARD -p IPv4 --ip-protocol udp --ip-destination-port 67 -j RETURN') rule('LOCAL_FORWARD -p IPv4 --ip-protocol udp --ip-destination-port 67 -j RETURN')
......
...@@ -12,7 +12,7 @@ start_service () { ...@@ -12,7 +12,7 @@ start_service () {
procd_set_param respawn ${respawn_threshold:-3660} ${respawn_timeout:-5} ${respawn_retry:-0} 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; 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") [ "$(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 procd_close_instance
} }
...@@ -24,4 +24,3 @@ service_triggers() { ...@@ -24,4 +24,3 @@ service_triggers() {
procd_add_raw_trigger "interface.*" 0 "/etc/init.d/$name" reload procd_add_raw_trigger "interface.*" 0 "/etc/init.d/$name" reload
procd_close_trigger procd_close_trigger
} }
#!/usr/bin/lua #!/usr/bin/lua
local uci = require('simple-uci').cursor() local uci = require('simple-uci').cursor()
local site = require 'gluon.site_config' local site = require 'gluon.site'
uci:delete('network', 'l3roam') uci:delete('network', 'l3roam')
uci:section('network', 'interface', 'l3roam', { uci:section('network', 'interface', 'l3roam', {
...@@ -12,7 +12,7 @@ uci:section('network', 'interface', 'l3roam', { ...@@ -12,7 +12,7 @@ uci:section('network', 'interface', 'l3roam', {
uci:delete('network', 'l3roamd_client') uci:delete('network', 'l3roamd_client')
uci:section('network', 'route6', 'l3roamd_client', { uci:section('network', 'route6', 'l3roamd_client', {
interface = 'l3roam', interface = 'l3roam',
target = site.prefix6, target = site.prefix6(),
gateway = '::', gateway = '::',
table = '10', table = '10',
}) })
......
#!/usr/bin/lua #!/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 if site.dns.servers() and site.next_node.ip6() then
io.write(" --rdnss " .. site.next_node.ip6) io.write(" --rdnss " .. site.next_node.ip6())
end end
#!/usr/bin/lua #!/usr/bin/lua
local sysconfig = require 'gluon.sysconfig' local sysconfig = require 'gluon.sysconfig'
local site = require 'gluon.site_config' local site = require 'gluon.site'
local util = require 'gluon.util' local util = require 'gluon.util'
local uci = require('simple-uci').cursor() local uci = require('simple-uci').cursor()
local gw_mode, gw_sel_class, routing_algo local gw_mode = uci:get('batman-adv', 'bat0', 'gw_mode') or 'client'
local gw_sel_class = site.mesh.batman_adv.gw_sel_class()
gw_mode = uci:get('batman-adv', 'bat0', 'gw_mode') or 'client' local routing_algo = site.mesh.batman_adv.routing_algo()
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
uci:delete('batman-adv', 'bat0') uci:delete('batman-adv', 'bat0')
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
-- it overrides parts of network.client -- it overrides parts of network.client
local site = require 'gluon.site_config' local site = require 'gluon.site'
local sysconfig = require 'gluon.sysconfig' local sysconfig = require 'gluon.sysconfig'
local sysctl = require 'gluon.sysctl' local sysctl = require 'gluon.sysctl'
...@@ -15,7 +15,7 @@ uci:section('network', 'interface', 'client', { ...@@ -15,7 +15,7 @@ uci:section('network', 'interface', 'client', {
ipv6 = true, ipv6 = true,
proto = 'dhcpv6', proto = 'dhcpv6',
reqprefix = 'no', reqprefix = 'no',
peerdns = not (site.dns and site.dns.servers), peerdns = not site.dns.servers(),
sourcefilter = false, sourcefilter = false,
keep_ra_dnslifetime = true, keep_ra_dnslifetime = true,
robustness = 3, robustness = 3,
...@@ -28,7 +28,7 @@ uci:delete('network', 'client_lan') ...@@ -28,7 +28,7 @@ uci:delete('network', 'client_lan')
uci:delete('network', 'local_node_route6') uci:delete('network', 'local_node_route6')
uci:section('network', 'route6', 'local_node_route6', { uci:section('network', 'route6', 'local_node_route6', {
interface = 'client', interface = 'client',
target = site.prefix6, target = site.prefix6(),
gateway = '::', 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