mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-03 17:40:04 +00:00
![John W. Linville](/assets/img/avatar_default.png)
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>
35 lines
1.2 KiB
C
35 lines
1.2 KiB
C
/*
|
|
* Software WEP encryption implementation
|
|
* Copyright 2002, Jouni Malinen <jkmaline@cc.hut.fi>
|
|
* Copyright 2003, Instant802 Networks, Inc.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
|
|
#ifndef WEP_H
|
|
#define WEP_H
|
|
|
|
#include <linux/skbuff.h>
|
|
#include <linux/types.h>
|
|
#include "ieee80211_i.h"
|
|
#include "key.h"
|
|
|
|
int ieee80211_wep_init(struct ieee80211_local *local);
|
|
void ieee80211_wep_free(struct ieee80211_local *local);
|
|
int ieee80211_wep_encrypt_data(struct crypto_blkcipher *tfm, u8 *rc4key,
|
|
size_t klen, u8 *data, size_t data_len);
|
|
int ieee80211_wep_encrypt(struct ieee80211_local *local,
|
|
struct sk_buff *skb,
|
|
const u8 *key, int keylen, int keyidx);
|
|
int ieee80211_wep_decrypt_data(struct crypto_blkcipher *tfm, u8 *rc4key,
|
|
size_t klen, u8 *data, size_t data_len);
|
|
bool ieee80211_wep_is_weak_iv(struct sk_buff *skb, struct ieee80211_key *key);
|
|
|
|
ieee80211_rx_result
|
|
ieee80211_crypto_wep_decrypt(struct ieee80211_rx_data *rx);
|
|
ieee80211_tx_result
|
|
ieee80211_crypto_wep_encrypt(struct ieee80211_tx_data *tx);
|
|
|
|
#endif /* WEP_H */
|