From 04643981263c2b4d6ee8393b91e1229e8ec085e2 Mon Sep 17 00:00:00 2001 From: Chris Fiege <cfi@pengutronix.de> Date: Sat, 27 Mar 2021 14:31:26 +0100 Subject: [PATCH] parker: remove prefix6 and prefix4 This change removes the prefix4 and prefix6 attributes from the site.conf. These do not make sense in the context of parker. Packages that are usually used in parker do not use these anymore. Some other packages do - you should not enable those :-) With this change a ipv6 route to prefix_6 will no longer be set on br-client. Systems that already have this route will keep it. With this change the (not working) redirect in the http status page has been removed. We should consider to add this later on. --- package/gluon-client-bridge/check_site.lua | 4 ---- .../310-gluon-client-bridge-local-node | 3 +-- package/gluon-core/check_site.lua | 2 -- .../320-gluon-mesh-batman-adv-client-bridge | 7 ------- .../lib/gluon/upgrade/400-respondd-firewall | 8 -------- .../status-page/controller/status-page.lua | 19 +------------------ 6 files changed, 2 insertions(+), 41 deletions(-) diff --git a/package/gluon-client-bridge/check_site.lua b/package/gluon-client-bridge/check_site.lua index b077f87bb..e32ff32eb 100644 --- a/package/gluon-client-bridge/check_site.lua +++ b/package/gluon-client-bridge/check_site.lua @@ -1,9 +1,5 @@ need_string_match(in_domain({'next_node', 'mac'}), '^%x[02468aAcCeE]:%x%x:%x%x:%x%x:%x%x:%x%x$', false) -if need_string_match(in_domain({'next_node', 'ip4'}), '^%d+.%d+.%d+.%d+$', false) then - need_string_match(in_domain({'prefix4'}), '^%d+.%d+.%d+.%d+/%d+$') -end - need_string_match(in_domain({'next_node', 'ip6'}), '^[%x:]+$', false) diff --git a/package/gluon-client-bridge/luasrc/lib/gluon/upgrade/310-gluon-client-bridge-local-node b/package/gluon-client-bridge/luasrc/lib/gluon/upgrade/310-gluon-client-bridge-local-node index 824d8d40e..4b51db0c7 100755 --- a/package/gluon-client-bridge/luasrc/lib/gluon/upgrade/310-gluon-client-bridge-local-node +++ b/package/gluon-client-bridge/luasrc/lib/gluon/upgrade/310-gluon-client-bridge-local-node @@ -23,8 +23,7 @@ uci:section('network', 'device', 'local_node_dev', { local ip4, ip6 if next_node.ip4 then - local plen = site.prefix4():match('/%d+$') - ip4 = next_node.ip4 .. plen + ip4 = next_node.ip4 .. '/32' end if next_node.ip6 then diff --git a/package/gluon-core/check_site.lua b/package/gluon-core/check_site.lua index 5f906a025..804a30260 100644 --- a/package/gluon-core/check_site.lua +++ b/package/gluon-core/check_site.lua @@ -26,8 +26,6 @@ need_string(in_site({'timezone'})) need_string_array({'ntp_servers'}, false) -need_string_match(in_domain({'prefix6'}), '^[%x:]+/64$') - local supported_rates = {6000, 9000, 12000, 18000, 24000, 36000, 48000, 54000} for _, config in ipairs({'wifi24', 'wifi5'}) do if need_table({config}, nil, false) then diff --git a/package/gluon-mesh-batman-adv/luasrc/lib/gluon/upgrade/320-gluon-mesh-batman-adv-client-bridge b/package/gluon-mesh-batman-adv/luasrc/lib/gluon/upgrade/320-gluon-mesh-batman-adv-client-bridge index 2f113ece9..0a4b9ea1a 100755 --- a/package/gluon-mesh-batman-adv/luasrc/lib/gluon/upgrade/320-gluon-mesh-batman-adv-client-bridge +++ b/package/gluon-mesh-batman-adv/luasrc/lib/gluon/upgrade/320-gluon-mesh-batman-adv-client-bridge @@ -25,13 +25,6 @@ uci:delete('network', 'client_lan') uci:delete('network', 'local_node_route') -uci:delete('network', 'local_node_route6') -uci:section('network', 'route6', 'local_node_route6', { - interface = 'client', - target = site.prefix6(), - gateway = '::', -}) - uci:save('network') local networks = uci:get_list('firewall', 'mesh', 'network') diff --git a/package/gluon-respondd/luasrc/lib/gluon/upgrade/400-respondd-firewall b/package/gluon-respondd/luasrc/lib/gluon/upgrade/400-respondd-firewall index 2419b108a..9342135a9 100755 --- a/package/gluon-respondd/luasrc/lib/gluon/upgrade/400-respondd-firewall +++ b/package/gluon-respondd/luasrc/lib/gluon/upgrade/400-respondd-firewall @@ -35,14 +35,6 @@ uci:section('firewall', 'rule', 'mesh_respondd_ll', { target = 'ACCEPT', }) -uci:section('firewall', 'rule', 'mesh_respondd_siteprefix', { - name = 'mesh_respondd_siteprefix', - src = 'mesh', - src_ip = site.prefix6(), - dest_port = '1001', - proto = 'udp', - target = 'ACCEPT', -}) uci:delete_all('firewall', 'rule', function(rule) return rule['.name']:find('^mesh_respondd_extraprefix') diff --git a/package/gluon-status-page/luasrc/lib/gluon/status-page/controller/status-page.lua b/package/gluon-status-page/luasrc/lib/gluon/status-page/controller/status-page.lua index ceb5d8552..21c4233a9 100644 --- a/package/gluon-status-page/luasrc/lib/gluon/status-page/controller/status-page.lua +++ b/package/gluon-status-page/luasrc/lib/gluon/status-page/controller/status-page.lua @@ -63,24 +63,7 @@ end entry({}, call(function(http, renderer) local nodeinfo = json.parse(util.exec('exec gluon-neighbour-info -d ::1 -p 1001 -t 1 -c 1 -r nodeinfo')) - local node_ip = parse_ip(http:getenv('SERVER_ADDR')) - if node_ip and ( - match(node_ip, parse_ip(site.next_node.ip4()), 8) or - match(node_ip, parse_ip(site.next_node.ip6()), 8) - ) then - -- The user has visited the status page via a next-node address - -- Redirect the user to a unique address to avoid switching nodes - local prefix = parse_ip(site.prefix6():match('^[^/]+')) - for _, addr in ipairs(nodeinfo.network.addresses) do - if match(prefix, parse_ip(addr), 4) then - http:header('Cache-Control', 'no-cache, no-store, must-revalidate') - http:redirect('http://[' .. addr .. ']' .. http:getenv('REQUEST_URI')) - http:close() - return - end - end - end - + -- TODO: Add a redirect to a local v6 addr for parker renderer.render('status-page', { nodeinfo = nodeinfo, site = site }, 'gluon-status-page') end)) -- GitLab