From 066158a27b5526479a8dad43e591da930fb62a11 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Tue, 5 Nov 2019 20:46:19 +0100 Subject: [PATCH] gluon-core: drop IBSS support --- package/gluon-core/check_site.lua | 9 +-- .../luasrc/lib/gluon/upgrade/200-wireless | 62 ++----------------- .../luasrc/usr/lib/lua/gluon/util.lua | 4 +- 3 files changed, 8 insertions(+), 67 deletions(-) diff --git a/package/gluon-core/check_site.lua b/package/gluon-core/check_site.lua index f953d8a1..7a4cd060 100644 --- a/package/gluon-core/check_site.lua +++ b/package/gluon-core/check_site.lua @@ -49,14 +49,7 @@ for _, config in ipairs({'wifi24', 'wifi5'}) do obsolete({config, 'supported_rates'}, '802.11b rates are disabled by default.') obsolete({config, 'basic_rate'}, '802.11b rates are disabled by default.') - - if need_table({config, 'ibss'}, nil, false) then - need_string_match(in_domain({config, 'ibss', 'ssid'}), '^' .. ('.?'):rep(32) .. '$') - need_string_match(in_domain({config, 'ibss', 'bssid'}), '^%x[02468aAcCeE]:%x%x:%x%x:%x%x:%x%x:%x%x$') - need_one_of({config, 'ibss', 'mcast_rate'}, supported_rates, false) - need_number({config, 'ibss', 'vlan'}, false) - need_boolean({config, 'ibss', 'disabled'}, false) - end + obsolete({config, 'ibss'}, 'IBSS support has been dropped.') if need_table({config, 'mesh'}, nil, false) then need_string_match(in_domain({config, 'mesh', 'id'}), '^' .. ('.?'):rep(32) .. '$') diff --git a/package/gluon-core/luasrc/lib/gluon/upgrade/200-wireless b/package/gluon-core/luasrc/lib/gluon/upgrade/200-wireless index eb120404..709cc909 100755 --- a/package/gluon-core/luasrc/lib/gluon/upgrade/200-wireless +++ b/package/gluon-core/luasrc/lib/gluon/upgrade/200-wireless @@ -98,49 +98,12 @@ local function first_non_nil(first, ...) end -local function configure_ibss(config, radio, index, suffix, disabled) - local radio_name = radio['.name'] +local function delete_ibss(radio_name) local name = 'ibss_' .. radio_name uci:delete('network', name) uci:delete('network', name .. '_vlan') uci:delete('wireless', name) - - if not config then - return - end - - local macaddr = util.get_wlan_mac(uci, radio, index, 3) - if not macaddr then - return - end - - if config.vlan then - uci:section('network', 'interface', name, { - proto = 'none', - }) - - uci:section('network', 'interface', name .. '_vlan', { - ifname = '@' .. name .. '.' .. config.vlan, - proto = 'gluon_mesh', - }) - else - uci:section('network', 'interface', name, { - proto = 'gluon_mesh', - }) - end - - uci:section('wireless', 'wifi-iface', name, { - device = radio_name, - network = name, - mode = 'adhoc', - ssid = config.ssid, - bssid = config.bssid, - macaddr = macaddr, - mcast_rate = config.mcast_rate, - ifname = suffix and 'ibss' .. suffix, - disabled = disabled, - }) end local function configure_mesh(config, radio, index, suffix, disabled) @@ -202,20 +165,9 @@ local function configure_mesh_wireless(radio, index, config) local radio_name = radio['.name'] local suffix = radio_name:match('^radio(%d+)$') - local ibss_disabled = is_disabled('ibss_' .. radio_name) - local mesh_disabled = is_disabled('mesh_' .. radio_name) - - configure_ibss(config.ibss(), radio, index, suffix, - first_non_nil( - ibss_disabled, - mesh_disabled, - config.ibss.disabled(false) - ) - ) configure_mesh(config.mesh(), radio, index, suffix, first_non_nil( - mesh_disabled, - ibss_disabled, + is_disabled('mesh_' .. radio_name), config.mesh.disabled(false) ) ) @@ -224,6 +176,8 @@ end util.foreach_radio(uci, function(radio, index, config) local radio_name = radio['.name'] + delete_ibss(radio_name) + if not config() then uci:set('wireless', radio_name, 'disabled', true) return @@ -259,7 +213,6 @@ util.foreach_radio(uci, function(radio, index, config) util.add_to_set(hostapd_options, 'country3=0x4f') uci:set_list('wireless', radio_name, 'hostapd_options', hostapd_options) - uci:delete('wireless', 'ibss_' .. radio_name) uci:delete('wireless', 'mesh_' .. radio_name) else uci:delete('wireless', radio_name, 'channels') @@ -277,12 +230,7 @@ end) if uci:get('system', 'rssid_wlan0') then - if uci:get('wireless', 'mesh_radio0') then - uci:set('system', 'rssid_wlan0', 'dev', 'mesh0') - else - uci:set('system', 'rssid_wlan0', 'dev', 'ibss0') - end - + uci:set('system', 'rssid_wlan0', 'dev', 'mesh0') uci:save('system') end diff --git a/package/gluon-core/luasrc/usr/lib/lua/gluon/util.lua b/package/gluon-core/luasrc/usr/lib/lua/gluon/util.lua index 6725958a..96a4a190 100644 --- a/package/gluon-core/luasrc/usr/lib/lua/gluon/util.lua +++ b/package/gluon-core/luasrc/usr/lib/lua/gluon/util.lua @@ -172,11 +172,11 @@ end -- IDs defined so far: -- 0: client0; WAN -- 1: mesh0 --- 2: ibss0 +-- 2: (unused) -- 3: wan_radio0 (private WLAN); batman-adv primary address -- 4: client1; LAN -- 5: mesh1 --- 6: ibss1 +-- 6: (unused) -- 7: wan_radio1 (private WLAN); mesh VPN function M.generate_mac(i) if i > 7 or i < 0 then return nil end -- max allowed id (0b111)