diff options
author | Stefan Sperling <stsp@cvs.openbsd.org> | 2020-11-11 22:45:10 +0000 |
---|---|---|
committer | Stefan Sperling <stsp@cvs.openbsd.org> | 2020-11-11 22:45:10 +0000 |
commit | 10b373639c7a95f23003b9acf6691db73217158a (patch) | |
tree | 1922e5655818159af0ce414c26590bf0709ccaa6 /sys/dev/ic | |
parent | 94e4eeb612cb99cc64041123832b97a1ce672a2b (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.c | 5 |
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) { |