summaryrefslogtreecommitdiffstats
path: root/usr.sbin/wpa/wpa_supplicant
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/wpa/wpa_supplicant')
-rw-r--r--usr.sbin/wpa/wpa_supplicant/driver_freebsd.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/usr.sbin/wpa/wpa_supplicant/driver_freebsd.c b/usr.sbin/wpa/wpa_supplicant/driver_freebsd.c
index e69dcd5..6a02df6 100644
--- a/usr.sbin/wpa/wpa_supplicant/driver_freebsd.c
+++ b/usr.sbin/wpa/wpa_supplicant/driver_freebsd.c
@@ -311,10 +311,11 @@ wpa_driver_bsd_set_key(void *priv, wpa_alg alg,
if (bcmp(addr, "\xff\xff\xff\xff\xff\xff", IEEE80211_ADDR_LEN) == 0) {
wk.ik_flags |= IEEE80211_KEY_GROUP;
wk.ik_keyix = key_idx;
- if (set_tx)
- wk.ik_flags |= IEEE80211_KEY_DEFAULT;
- } else
- wk.ik_keyix = IEEE80211_KEYIX_NONE;
+ } else {
+ wk.ik_keyix = (key_idx == 0 ? IEEE80211_KEYIX_NONE : key_idx);
+ }
+ if (wk.ik_keyix != IEEE80211_KEYIX_NONE && set_tx)
+ wk.ik_flags |= IEEE80211_KEY_DEFAULT;
wk.ik_keylen = key_len;
memcpy(&wk.ik_keyrsc, seq, seq_len);
memcpy(wk.ik_keydata, key, key_len);
OpenPOWER on IntegriCloud