summaryrefslogtreecommitdiff
path: root/sys/net80211
diff options
context:
space:
mode:
authorDamien Bergamini <damien@cvs.openbsd.org>2007-08-01 16:23:49 +0000
committerDamien Bergamini <damien@cvs.openbsd.org>2007-08-01 16:23:49 +0000
commit02cd0ebb81150f4fdbf2ddb0431da33c52905817 (patch)
tree8bb65223d5982fe2c25bb31f9bc12919c6f94bea /sys/net80211
parent7e3961400285ba25b52492f91d5466f498fe3ed7 (diff)
make sure the MIC field is set in group key handshake messages before
passing the frame to the handlers.
Diffstat (limited to 'sys/net80211')
-rw-r--r--sys/net80211/ieee80211_input.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/net80211/ieee80211_input.c b/sys/net80211/ieee80211_input.c
index 4a800dd2feb..aa3117bc40a 100644
--- a/sys/net80211/ieee80211_input.c
+++ b/sys/net80211/ieee80211_input.c
@@ -1,5 +1,5 @@
/* $NetBSD: ieee80211_input.c,v 1.24 2004/05/31 11:12:24 dyoung Exp $ */
-/* $OpenBSD: ieee80211_input.c,v 1.57 2007/08/01 16:16:09 damien Exp $ */
+/* $OpenBSD: ieee80211_input.c,v 1.58 2007/08/01 16:23:48 damien Exp $ */
/*-
* Copyright (c) 2001 Atsushi Onoe
* Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting
@@ -2519,6 +2519,8 @@ ieee80211_recv_eapol(struct ieee80211com *ic, struct mbuf *m0,
ieee80211_recv_4way_msg1(ic, key, ni);
} else {
/* Group Key Handshake */
+ if (!(info & EAPOL_KEY_KEYMIC))
+ goto out;
if (info & EAPOL_KEY_KEYACK) {
if (key->desc == EAPOL_KEY_DESC_WPA1)
ieee80211_recv_wpa_group_msg1(ic, key, ni);