From 4d8b1352bfafd91e2243b2a515e1e22cf33b59fb Mon Sep 17 00:00:00 2001 From: Hannu Nyman Date: Tue, 28 Feb 2017 14:16:19 +0200 Subject: [PATCH] luci-mod-admin-full: new hostapd functionality for 80211w/r detection Use the new hostapd functionality (in LEDE) to detect 802.11r and 802.11w more properly. Leave the old logic in place for Openwrt. Signed-off-by: Hannu Nyman (partial cherry pick from commit b0943391d84546d7161709ef521410b9cfd21df9) --- .../luasrc/model/cbi/admin_network/wifi.lua | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi.lua b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi.lua index 709389ac4..222b36273 100644 --- a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi.lua +++ b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi.lua @@ -901,8 +901,8 @@ end if hwtype == "atheros" or hwtype == "mac80211" or hwtype == "prism2" then - -- Probe EAP support as a proxy for determining if 802.11r support is present - local has_ap_eap = (os.execute("hostapd -veap >/dev/null 2>/dev/null") == 0) + -- Probe 802.11r support (and EAP support as a proxy for Openwrt) + local has_80211r = (os.execute("hostapd -v11r 2>/dev/null || hostapd -veap 2>/dev/null") == 0) ieee80211r = s:taboption("encryption", Flag, "ieee80211r", translate("802.11r Fast Transition"), @@ -912,7 +912,7 @@ if hwtype == "atheros" or hwtype == "mac80211" or hwtype == "prism2" then ieee80211r:depends({mode="ap", encryption="wpa2"}) ieee80211r:depends({mode="ap-wds", encryption="wpa"}) ieee80211r:depends({mode="ap-wds", encryption="wpa2"}) - if has_ap_eap then + if has_80211r then ieee80211r:depends({mode="ap", encryption="psk"}) ieee80211r:depends({mode="ap", encryption="psk2"}) ieee80211r:depends({mode="ap", encryption="psk-mixed"}) @@ -1125,8 +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 + local has_80211w = (os.execute("hostapd -v11w 2>/dev/null || hostapd -veap 2>/dev/null") == 0) + if has_80211w then ieee80211w = s:taboption("encryption", ListValue, "ieee80211w", translate("802.11w Management Frame Protection"), translate("Requires the 'full' version of wpad/hostapd " .. -- 2.25.1