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/tkip.c | |
parent | 73e194639d90594d06d0c10019c0ab4638869135 (diff) |
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/tkip.c')
-rw-r--r-- | net/mac80211/tkip.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/net/mac80211/tkip.c b/net/mac80211/tkip.c index 7ef491e9d66d..e840c9cd46db 100644 --- a/net/mac80211/tkip.c +++ b/net/mac80211/tkip.c | |||
@@ -202,9 +202,9 @@ EXPORT_SYMBOL(ieee80211_get_tkip_key); | |||
202 | * @payload_len is the length of payload (_not_ including IV/ICV length). | 202 | * @payload_len is the length of payload (_not_ including IV/ICV length). |
203 | * @ta is the transmitter addresses. | 203 | * @ta is the transmitter addresses. |
204 | */ | 204 | */ |
205 | void ieee80211_tkip_encrypt_data(struct crypto_blkcipher *tfm, | 205 | int ieee80211_tkip_encrypt_data(struct crypto_blkcipher *tfm, |
206 | struct ieee80211_key *key, | 206 | struct ieee80211_key *key, |
207 | u8 *pos, size_t payload_len, u8 *ta) | 207 | u8 *pos, size_t payload_len, u8 *ta) |
208 | { | 208 | { |
209 | u8 rc4key[16]; | 209 | u8 rc4key[16]; |
210 | struct tkip_ctx *ctx = &key->u.tkip.tx; | 210 | struct tkip_ctx *ctx = &key->u.tkip.tx; |
@@ -216,7 +216,7 @@ void ieee80211_tkip_encrypt_data(struct crypto_blkcipher *tfm, | |||
216 | 216 | ||
217 | tkip_mixing_phase2(tk, ctx, ctx->iv16, rc4key); | 217 | tkip_mixing_phase2(tk, ctx, ctx->iv16, rc4key); |
218 | 218 | ||
219 | ieee80211_wep_encrypt_data(tfm, rc4key, 16, pos, payload_len); | 219 | return ieee80211_wep_encrypt_data(tfm, rc4key, 16, pos, payload_len); |
220 | } | 220 | } |
221 | 221 | ||
222 | /* Decrypt packet payload with TKIP using @key. @pos is a pointer to the | 222 | /* Decrypt packet payload with TKIP using @key. @pos is a pointer to the |