diff options
author | John W. Linville <linville@tuxdriver.com> | 2010-07-07 15:07:49 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-07-08 16:35:50 -0400 |
commit | 3473187d2459a078e00e5fac8aafc30af69c57fa (patch) | |
tree | 93c3da6dbcbfd09ea81884bee790219d4cee0d56 /net/mac80211/cfg.c | |
parent | 73e194639d90594d06d0c10019c0ab4638869135 (diff) | |
download | op-kernel-dev-3473187d2459a078e00e5fac8aafc30af69c57fa.zip op-kernel-dev-3473187d2459a078e00e5fac8aafc30af69c57fa.tar.gz |
mac80211: remove wep dependency
The current mac80211 code assumes that WEP is always available. If WEP
fails to initialize, ieee80211_register_hw will always fail.
In some cases (e.g. FIPS certification), the cryptography used by WEP is
unavailable. However, in such cases there is no good reason why CCMP
encryption (or even no link level encryption) cannot be used. So, this
patch removes mac80211's assumption that WEP (and TKIP) will always be
available for use.
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/cfg.c')
-rw-r--r-- | net/mac80211/cfg.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c index e55970b..5b8b446 100644 --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c @@ -143,6 +143,11 @@ static int ieee80211_add_key(struct wiphy *wiphy, struct net_device *dev, return -EINVAL; } + /* reject WEP and TKIP keys if WEP failed to initialize */ + if ((alg == ALG_WEP || alg == ALG_TKIP) && + IS_ERR(sdata->local->wep_tx_tfm)) + return -EINVAL; + key = ieee80211_key_alloc(alg, key_idx, params->key_len, params->key, params->seq_len, params->seq); if (!key) |