diff options
author | sam <sam@FreeBSD.org> | 2006-02-21 23:51:19 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2006-02-21 23:51:19 +0000 |
commit | 43320429a8b6b89bdac0ad52a071bb23c1d2e458 (patch) | |
tree | e7eb057bc352de6bdba251e9a4261a53a418c830 /sys | |
parent | 55b3bd61d28f09f0843c4772be973289d0a7a1ff (diff) | |
download | FreeBSD-src-43320429a8b6b89bdac0ad52a071bb23c1d2e458.zip FreeBSD-src-43320429a8b6b89bdac0ad52a071bb23c1d2e458.tar.gz |
honor user-specified key index for global key slots
Submitted by: Joe Love
Reviewed by: avatar
MFC after: 1 week
Diffstat (limited to 'sys')
-rw-r--r-- | sys/net80211/ieee80211_ioctl.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/net80211/ieee80211_ioctl.c b/sys/net80211/ieee80211_ioctl.c index 5ef51d7..363b194 100644 --- a/sys/net80211/ieee80211_ioctl.c +++ b/sys/net80211/ieee80211_ioctl.c @@ -1728,6 +1728,12 @@ ieee80211_ioctl_setkey(struct ieee80211com *ic, struct ieee80211req *ireq) if (kid >= IEEE80211_WEP_NKID) return EINVAL; wk = &ic->ic_nw_keys[kid]; + /* + * Global slots start off w/o any assigned key index. + * Force one here for consistency with IEEE80211_IOC_WEPKEY. + */ + if (wk->wk_keyix == IEEE80211_KEYIX_NONE) + wk->wk_keyix = kid; ni = NULL; } error = 0; |