From 74590e710f65134522b9a654609ac38d0ce54852 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Sun, 22 Jan 2012 12:23:28 +0200 Subject: [PATCH] Work around interop issue with WPA type EAPOL-Key 4/4 in WPA2 mode Some deployed station implementations seem to send msg 4/4 with incorrect type value in WPA2 mode. Add a workaround to ignore that issue so that such stations can interoperate with hostapd authenticator. The validation checks were added in commit f8e96eb6fd960a017793942cff0eb43b09f444c6. Signed-hostap: Jouni Malinen --- src/ap/wpa_auth.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/ap/wpa_auth.c b/src/ap/wpa_auth.c index 9da5609aa..c4d77bf80 100644 --- a/src/ap/wpa_auth.c +++ b/src/ap/wpa_auth.c @@ -795,7 +795,14 @@ void wpa_receive(struct wpa_authenticator *wpa_auth, } 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);