X-Git-Url: http://git.archive.openwrt.org/?a=blobdiff_plain;f=modules%2Fadmin-full%2Fluasrc%2Fmodel%2Fcbi%2Fadmin_network%2Fwifi.lua;fp=modules%2Fadmin-full%2Fluasrc%2Fmodel%2Fcbi%2Fadmin_network%2Fwifi.lua;h=d57c91f205e02ce081a66f7f02d5baabec376694;hb=2e924f7aa5d7c5c8ac2cc8f3490dfadf6fbfcccf;hp=b407408a3f4e97fbde48436327bd2874743b6d2b;hpb=fe7424b68e920cd5472978beeaf32763a83bd391;p=project%2Fluci.git diff --git a/modules/admin-full/luasrc/model/cbi/admin_network/wifi.lua b/modules/admin-full/luasrc/model/cbi/admin_network/wifi.lua index b407408a3..d57c91f20 100644 --- a/modules/admin-full/luasrc/model/cbi/admin_network/wifi.lua +++ b/modules/admin-full/luasrc/model/cbi/admin_network/wifi.lua @@ -14,6 +14,7 @@ $Id$ local wa = require "luci.tools.webadmin" local nw = require "luci.model.network" +local ut = require "luci.util" local fs = require "nixio.fs" arg[1] = arg[1] or "" @@ -415,7 +416,8 @@ network = s:taboption("general", Value, "network", translate("Network"), network.rmempty = true network.template = "cbi/network_netlist" -network.widget = "radio" +network.widget = "checkbox" +network.novirtual = true function network.write(self, section, value) local i = nw:get_interface(section) @@ -430,10 +432,18 @@ function network.write(self, section, value) if n then n:del_interface(i) end end else - local n = nw:get_network(value) - if n then - n:set("type", "bridge") - n:add_interface(i) + local v + for _, v in ipairs(i:get_networks()) do + v:del_interface(i) + end + for v in ut.imatch(value) do + local n = nw:get_network(v) + if n then + if not n:is_empty() then + n:set("type", "bridge") + end + n:add_interface(i) + end end end end @@ -718,8 +728,8 @@ if hwtype == "atheros" or hwtype == "mac80211" or hwtype == "prism2" then local supplicant = fs.access("/usr/sbin/wpa_supplicant") local hostapd = fs.access("/usr/sbin/hostapd") - -- Probe EAP support - local has_ap_eap = (os.execute("hostapd -veap >/dev/null 2>/dev/null") == 0) + -- Probe EAP support + local has_ap_eap = (os.execute("hostapd -veap >/dev/null 2>/dev/null") == 0) local has_sta_eap = (os.execute("wpa_supplicant -veap >/dev/null 2>/dev/null") == 0) if hostapd and supplicant then