2019-02-05 01:34:12 +00:00
|
|
|
#!/usr/bin/lua
|
|
|
|
|
|
|
|
local site = require 'gluon.site'
|
2020-05-24 22:57:35 +00:00
|
|
|
local wireless = require 'gluon.wireless'
|
2019-02-05 01:34:12 +00:00
|
|
|
local hash = require 'hash'
|
|
|
|
local uci = require('simple-uci').cursor()
|
|
|
|
|
|
|
|
|
|
|
|
local function configure_sae(vif)
|
|
|
|
uci:set('wireless', vif, 'encryption', 'sae')
|
|
|
|
uci:set('wireless', vif, 'key', site.wifi.mesh.sae_passphrase() or hash.md5(site.prefix6()))
|
|
|
|
end
|
|
|
|
|
2021-05-02 00:19:58 +00:00
|
|
|
wireless.foreach_radio(uci, function(radio)
|
2019-02-05 01:34:12 +00:00
|
|
|
local radio_name = radio['.name']
|
|
|
|
local vif = 'mesh_' .. radio_name
|
|
|
|
local enable = site.wifi.mesh.sae(false)
|
|
|
|
|
|
|
|
if uci:get('wireless', vif) then
|
|
|
|
uci:delete('wireless', vif, 'encryption')
|
|
|
|
uci:delete('wireless', vif, 'key')
|
|
|
|
|
|
|
|
if enable then
|
|
|
|
configure_sae(vif)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end)
|
|
|
|
|
|
|
|
uci:save('wireless')
|