Enable management frame protection in wpa_supplicant, and make it
configurable in /etc/config/wireless.

Signed-off-by: Stijn Tintel <[email protected]>
---
 package/hostapd/files/wpa_supplicant-full.config |    2 +-
 package/hostapd/files/wpa_supplicant.sh          |   10 ++++++++++
 2 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/package/hostapd/files/wpa_supplicant-full.config 
b/package/hostapd/files/wpa_supplicant-full.config
index 5e7fd27..8d6813a 100644
--- a/package/hostapd/files/wpa_supplicant-full.config
+++ b/package/hostapd/files/wpa_supplicant-full.config
@@ -301,7 +301,7 @@ CONFIG_PEERKEY=y
 # This version is an experimental implementation based on IEEE 802.11w/D1.0
 # draft and is subject to change since the standard has not yet been finalized.
 # Driver support is also needed for IEEE 802.11w.
-#CONFIG_IEEE80211W=y
+CONFIG_IEEE80211W=y
 
 # Select TLS implementation
 # openssl = OpenSSL (default)
diff --git a/package/hostapd/files/wpa_supplicant.sh 
b/package/hostapd/files/wpa_supplicant.sh
index 522d423..8e9b5c3 100644
--- a/package/hostapd/files/wpa_supplicant.sh
+++ b/package/hostapd/files/wpa_supplicant.sh
@@ -50,6 +50,7 @@ wpa_supplicant_setup_vif() {
                        case "$enc" in
                                *psk2*)
                                        proto='proto=RSN'
+                                       config_get ieee80211w "$vif" ieee80211w
                                ;;
                                *psk*)
                                        proto='proto=WPA'
@@ -59,6 +60,7 @@ wpa_supplicant_setup_vif() {
                *wpa*|*8021x*)
                        proto='proto=WPA2'
                        key_mgmt='WPA-EAP'
+                       config_get ieee80211w "$vif" ieee80211w
                        config_get ca_cert "$vif" ca_cert
                        ca_cert=${ca_cert:+"ca_cert=\"$ca_cert\""}
                        case "$eap_type" in
@@ -82,6 +84,13 @@ wpa_supplicant_setup_vif() {
                        eap_type="eap=$(echo $eap_type | tr 'a-z' 'A-Z')"
                ;;
        esac
+
+       case "$ieee80211w" in
+               [012])
+                       ieee80211w="ieee80211w=$ieee80211w"
+               ;;
+       esac
+
        config_get ifname "$vif" ifname
        config_get bridge "$vif" bridge
        config_get ssid "$vif" ssid
@@ -96,6 +105,7 @@ network={
        $bssid
        key_mgmt=$key_mgmt
        $proto
+       $ieee80211w
        $passphrase
        $pairwise
        $group
-- 
1.6.4.4

_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to