aboutsummaryrefslogtreecommitdiffstats
path: root/package/network/services/hostapd/patches/350-nl80211_del_beacon_bss.patch
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2017-10-16 11:39:23 +0200
committerFelix Fietkau <nbd@nbd.name>2017-10-16 12:01:57 +0200
commitbbda81ce3077dfade2a43a39f772cfec2e82a9a5 (patch)
tree85d3ecb10669b2829220c0c2f134e80094bd837e /package/network/services/hostapd/patches/350-nl80211_del_beacon_bss.patch
parent0d5c1d7f238cd5aca207268950edc70ed6cf0a05 (diff)
downloadupstream-bbda81ce3077dfade2a43a39f772cfec2e82a9a5.tar.gz
upstream-bbda81ce3077dfade2a43a39f772cfec2e82a9a5.tar.bz2
upstream-bbda81ce3077dfade2a43a39f772cfec2e82a9a5.zip
hostapd: merge fixes for WPA packet number reuse with replayed messages and key reinstallation
Fixes: - CERT case ID: VU#228519 - CVE-2017-13077 - CVE-2017-13078 - CVE-2017-13079 - CVE-2017-13080 - CVE-2017-13081 - CVE-2017-13082 - CVE-2017-13086 - CVE-2017-13087 - CVE-2017-13088 For more information see: https://w1.fi/security/2017-1/wpa-packet-number-reuse-with-replayed-messages.txt Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'package/network/services/hostapd/patches/350-nl80211_del_beacon_bss.patch')
-rw-r--r--package/network/services/hostapd/patches/350-nl80211_del_beacon_bss.patch12
1 files changed, 6 insertions, 6 deletions
diff --git a/package/network/services/hostapd/patches/350-nl80211_del_beacon_bss.patch b/package/network/services/hostapd/patches/350-nl80211_del_beacon_bss.patch
index d77ab4462f..92e6ae9ae0 100644
--- a/package/network/services/hostapd/patches/350-nl80211_del_beacon_bss.patch
+++ b/package/network/services/hostapd/patches/350-nl80211_del_beacon_bss.patch
@@ -2,7 +2,7 @@
+++ b/src/drivers/driver_nl80211.c
@@ -2536,10 +2536,15 @@ static int wpa_driver_nl80211_del_beacon
struct nl_msg *msg;
- struct wpa_driver_nl80211_data *drv = bss->drv;
+ struct wpa_driver_nl80211_data *drv = bss->drv;
+ if (!bss->beacon_set)
+ return 0;
@@ -12,7 +12,7 @@
wpa_printf(MSG_DEBUG, "nl80211: Remove beacon (ifindex=%d)",
- drv->ifindex);
+ bss->ifindex);
- nl80211_put_wiphy_data_ap(bss);
+ nl80211_put_wiphy_data_ap(bss);
- msg = nl80211_drv_msg(drv, 0, NL80211_CMD_DEL_BEACON);
+ msg = nl80211_bss_msg(bss, 0, NL80211_CMD_DEL_BEACON);
return send_and_recv_msgs(drv, msg, NULL, NULL);
@@ -20,8 +20,8 @@
@@ -4753,7 +4758,7 @@ static void nl80211_teardown_ap(struct i
nl80211_mgmt_unsubscribe(bss, "AP teardown");
-
- nl80211_put_wiphy_data_ap(bss);
+
+ nl80211_put_wiphy_data_ap(bss);
- bss->beacon_set = 0;
+ wpa_driver_nl80211_del_beacon(bss);
}
@@ -39,7 +39,7 @@
@@ -7225,7 +7228,6 @@ static int wpa_driver_nl80211_deinit_ap(
if (!is_ap_interface(drv->nlmode))
return -1;
- wpa_driver_nl80211_del_beacon(bss);
+ wpa_driver_nl80211_del_beacon(bss);
- bss->beacon_set = 0;
/*
@@ -47,7 +47,7 @@
@@ -7245,7 +7247,6 @@ static int wpa_driver_nl80211_stop_ap(vo
if (!is_ap_interface(drv->nlmode))
return -1;
- wpa_driver_nl80211_del_beacon(bss);
+ wpa_driver_nl80211_del_beacon(bss);
- bss->beacon_set = 0;
return 0;
}