diff options
author | Felix Fietkau <nbd@openwrt.org> | 2012-01-24 01:49:23 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2012-01-24 01:49:23 +0000 |
commit | 53c6db5ab43194c89cc7fe2d03dbd630c39bcfda (patch) | |
tree | ac95f43ca393bda15b6733484b69c099a2f358cf | |
parent | 9cf1d4e06e836d0a6270bb70f6aee5ba5c607f18 (diff) | |
download | master-31e0f0ae-53c6db5ab43194c89cc7fe2d03dbd630c39bcfda.tar.gz master-31e0f0ae-53c6db5ab43194c89cc7fe2d03dbd630c39bcfda.tar.bz2 master-31e0f0ae-53c6db5ab43194c89cc7fe2d03dbd630c39bcfda.zip |
hostapd: merge an upstream workaround for broken clients sending the wrong wpa type (should fix #9561)
SVN-Revision: 29876
-rw-r--r-- | package/hostapd/patches/100-pending_work.patch | 18 | ||||
-rw-r--r-- | package/hostapd/patches/560-disable_ctrl_iface_mib.patch | 4 | ||||
-rw-r--r-- | package/hostapd/patches/740-group_key_timeout.patch | 2 |
3 files changed, 21 insertions, 3 deletions
diff --git a/package/hostapd/patches/100-pending_work.patch b/package/hostapd/patches/100-pending_work.patch index d9824f3178..8b318190fd 100644 --- a/package/hostapd/patches/100-pending_work.patch +++ b/package/hostapd/patches/100-pending_work.patch @@ -160,3 +160,21 @@ if (bss != &drv->first_bss) { struct i802_bss *tbss; +--- a/src/ap/wpa_auth.c ++++ b/src/ap/wpa_auth.c +@@ -776,7 +776,14 @@ void wpa_receive(struct wpa_authenticato + } + + if (sm->wpa == WPA_VERSION_WPA2) { +- if (key->type != EAPOL_KEY_TYPE_RSN) { ++ if (key->type == EAPOL_KEY_TYPE_WPA) { ++ /* ++ * Some deployed station implementations seem to send ++ * msg 4/4 with incorrect type value in WPA2 mode. ++ */ ++ wpa_printf(MSG_DEBUG, "Workaround: Allow EAPOL-Key " ++ "with unexpected WPA type in RSN mode"); ++ } else if (key->type != EAPOL_KEY_TYPE_RSN) { + wpa_printf(MSG_DEBUG, "Ignore EAPOL-Key with " + "unexpected type %d in RSN mode", + key->type); diff --git a/package/hostapd/patches/560-disable_ctrl_iface_mib.patch b/package/hostapd/patches/560-disable_ctrl_iface_mib.patch index 22f282ab5b..306c051178 100644 --- a/package/hostapd/patches/560-disable_ctrl_iface_mib.patch +++ b/package/hostapd/patches/560-disable_ctrl_iface_mib.patch @@ -123,7 +123,7 @@ struct sta_info *sta, int success) --- a/src/ap/wpa_auth.c +++ b/src/ap/wpa_auth.c -@@ -2534,6 +2534,7 @@ static int wpa_cipher_bits(int cipher) +@@ -2541,6 +2541,7 @@ static int wpa_cipher_bits(int cipher) } } @@ -131,7 +131,7 @@ #define RSN_SUITE "%02x-%02x-%02x-%d" #define RSN_SUITE_ARG(s) \ -@@ -2697,7 +2698,7 @@ int wpa_get_mib_sta(struct wpa_state_mac +@@ -2704,7 +2705,7 @@ int wpa_get_mib_sta(struct wpa_state_mac return len; } diff --git a/package/hostapd/patches/740-group_key_timeout.patch b/package/hostapd/patches/740-group_key_timeout.patch index 694b0661fb..c1493952cd 100644 --- a/package/hostapd/patches/740-group_key_timeout.patch +++ b/package/hostapd/patches/740-group_key_timeout.patch @@ -1,6 +1,6 @@ --- a/src/ap/wpa_auth.c +++ b/src/ap/wpa_auth.c -@@ -1330,7 +1330,7 @@ static void wpa_send_eapol(struct wpa_au +@@ -1337,7 +1337,7 @@ static void wpa_send_eapol(struct wpa_au keyidx, encr, 0); ctr = pairwise ? sm->TimeoutCtr : sm->GTimeoutCtr; |