summaryrefslogtreecommitdiff
path: root/sys/dev/ic
diff options
context:
space:
mode:
authorStefan Sperling <stsp@cvs.openbsd.org>2020-11-11 22:45:10 +0000
committerStefan Sperling <stsp@cvs.openbsd.org>2020-11-11 22:45:10 +0000
commit10b373639c7a95f23003b9acf6691db73217158a (patch)
tree1922e5655818159af0ce414c26590bf0709ccaa6 /sys/dev/ic
parent94e4eeb612cb99cc64041123832b97a1ce672a2b (diff)
Fix athn(4) in client mode against APs that use WPA1/TKIP as the group cipher.
Problem confirmed and fix tested by Matej Nanut.
Diffstat (limited to 'sys/dev/ic')
-rw-r--r--sys/dev/ic/ar5008.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/ic/ar5008.c b/sys/dev/ic/ar5008.c
index 560db09a447..506df14e59c 100644
--- a/sys/dev/ic/ar5008.c
+++ b/sys/dev/ic/ar5008.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ar5008.c,v 1.62 2020/10/11 07:05:28 mpi Exp $ */
+/* $OpenBSD: ar5008.c,v 1.63 2020/11/11 22:45:09 stsp Exp $ */
/*-
* Copyright (c) 2009 Damien Bergamini <damien.bergamini@free.fr>
@@ -1003,7 +1003,8 @@ ar5008_rx_process(struct athn_softc *sc, struct mbuf_list *ml)
(wh->i_fc[1] & IEEE80211_FC1_PROTECTED) &&
(ic->ic_flags & IEEE80211_F_RSNON) &&
(ni->ni_flags & IEEE80211_NODE_RXPROT) &&
- (ni->ni_rsncipher == IEEE80211_CIPHER_CCMP ||
+ ((!IEEE80211_IS_MULTICAST(wh->i_addr1) &&
+ ni->ni_rsncipher == IEEE80211_CIPHER_CCMP) ||
(IEEE80211_IS_MULTICAST(wh->i_addr1) &&
ni->ni_rsngroupcipher == IEEE80211_CIPHER_CCMP))) {
if (ar5008_ccmp_decap(sc, m, ni) != 0) {