diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2007-09-26 09:19:40 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-10-10 19:53:13 -0400 |
commit | 4f0d18e26f8bc4c6507b69aa0080d0fae807c990 (patch) | |
tree | b9ef529b35cec6a81b8b7868c80088a30aa6bc9d /net/mac80211/wep.h | |
parent | b2e7771e556917cc301a3308561f49b2b2272c07 (diff) |
[PATCH] mac80211: consolidate decryption
Currently, we run through all three crypto algorithms for each
received frame even though we have previously determined which
key we have and as such already know which algorithm will be
used. Change it to invoke only the needed function. Also move
the WEP decrypt handler to wep.c so that fewer functions need
to be non-static.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/wep.h')
-rw-r--r-- | net/mac80211/wep.h | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/net/mac80211/wep.h b/net/mac80211/wep.h index bfe29e8e10aa..dfa5af143386 100644 --- a/net/mac80211/wep.h +++ b/net/mac80211/wep.h | |||
@@ -18,14 +18,9 @@ | |||
18 | 18 | ||
19 | int ieee80211_wep_init(struct ieee80211_local *local); | 19 | int ieee80211_wep_init(struct ieee80211_local *local); |
20 | void ieee80211_wep_free(struct ieee80211_local *local); | 20 | void ieee80211_wep_free(struct ieee80211_local *local); |
21 | void ieee80211_wep_get_iv(struct ieee80211_local *local, | ||
22 | struct ieee80211_key *key, u8 *iv); | ||
23 | u8 * ieee80211_wep_add_iv(struct ieee80211_local *local, | 21 | u8 * ieee80211_wep_add_iv(struct ieee80211_local *local, |
24 | struct sk_buff *skb, | 22 | struct sk_buff *skb, |
25 | struct ieee80211_key *key); | 23 | struct ieee80211_key *key); |
26 | void ieee80211_wep_remove_iv(struct ieee80211_local *local, | ||
27 | struct sk_buff *skb, | ||
28 | struct ieee80211_key *key); | ||
29 | void ieee80211_wep_encrypt_data(struct crypto_blkcipher *tfm, u8 *rc4key, | 24 | void ieee80211_wep_encrypt_data(struct crypto_blkcipher *tfm, u8 *rc4key, |
30 | size_t klen, u8 *data, size_t data_len); | 25 | size_t klen, u8 *data, size_t data_len); |
31 | int ieee80211_wep_decrypt_data(struct crypto_blkcipher *tfm, u8 *rc4key, | 26 | int ieee80211_wep_decrypt_data(struct crypto_blkcipher *tfm, u8 *rc4key, |
@@ -37,4 +32,7 @@ int ieee80211_wep_decrypt(struct ieee80211_local *local, struct sk_buff *skb, | |||
37 | int ieee80211_wep_get_keyidx(struct sk_buff *skb); | 32 | int ieee80211_wep_get_keyidx(struct sk_buff *skb); |
38 | u8 * ieee80211_wep_is_weak_iv(struct sk_buff *skb, struct ieee80211_key *key); | 33 | u8 * ieee80211_wep_is_weak_iv(struct sk_buff *skb, struct ieee80211_key *key); |
39 | 34 | ||
35 | ieee80211_txrx_result | ||
36 | ieee80211_crypto_wep_decrypt(struct ieee80211_txrx_data *rx); | ||
37 | |||
40 | #endif /* WEP_H */ | 38 | #endif /* WEP_H */ |