luci-mod-admin-full: place 80211w options behind a check for wpad-full
authorHannu Nyman <hannu.nyman@iki.fi>
Tue, 14 Feb 2017 21:30:51 +0000 (23:30 +0200)
committerHannu Nyman <hannu.nyman@iki.fi>
Tue, 14 Feb 2017 21:30:51 +0000 (23:30 +0200)
The default hostapd/wpad mini version does not support ieee80211w
and the option's visibility in LuCI may lead it to be placed in user's
/etc/config/wireless preventing wifi from starting.

Check for hostapd/wpad full before exposing the option.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi.lua

index d49786e541f723215e4b7cf213d86a665192c99e..359d977c5238a0066b07dbf5f3047a46c6b0335e 100644 (file)
@@ -1125,6 +1125,8 @@ end
 
 -- ieee802.11w options
 if hwtype == "mac80211" then
+   local has_ap_eap  = (os.execute("hostapd -veap >/dev/null 2>/dev/null") == 0)
+   if has_ap_eap then
        ieee80211w = s:taboption("encryption", ListValue, "ieee80211w",
                translate("802.11w Management Frame Protection"),
                translate("Requires the 'full' version of wpad/hostapd " ..
@@ -1159,6 +1161,7 @@ if hwtype == "mac80211" then
        retry_timeout.datatype = "uinteger"
        retry_timeout.placeholder = "201"
        retry_timeout.rmempty = true
+   end
 end
 
 if hwtype == "atheros" or hwtype == "mac80211" or hwtype == "prism2" then