diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-01-24 01:49:23 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-01-24 01:49:23 +0000 |
commit | 7824784240f8b1f5906b3b95cfe12b1825e04523 (patch) | |
tree | 9993362796129dc079bc33d360abf5053e377cd1 /package/hostapd/patches/100-pending_work.patch | |
parent | 20d9fd2c16d05b80250900c053f424050098a5c8 (diff) |
hostapd: merge an upstream workaround for broken clients sending the wrong wpa type (should fix #9561)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29876 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/hostapd/patches/100-pending_work.patch')
-rw-r--r-- | package/hostapd/patches/100-pending_work.patch | 18 |
1 files changed, 18 insertions, 0 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); |