diff options
author | Felix Fietkau <nbd@nbd.name> | 2017-10-16 11:39:23 +0200 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2017-10-16 12:01:57 +0200 |
commit | bbda81ce3077dfade2a43a39f772cfec2e82a9a5 (patch) | |
tree | 85d3ecb10669b2829220c0c2f134e80094bd837e /package/network/services/hostapd/patches/350-nl80211_del_beacon_bss.patch | |
parent | 0d5c1d7f238cd5aca207268950edc70ed6cf0a05 (diff) | |
download | upstream-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.patch | 12 |
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; } |