Remove Host AP and Prism2 references from IEEE 802.11 crypto code. Clean
up coding style and some comments. Replace couple of kmalloc+memset with
kzalloc.

Signed-off-by: Jouni Malinen <[EMAIL PROTECTED]>


Index: wireless-2.6/include/net/ieee80211_crypt.h
===================================================================
--- wireless-2.6.orig/include/net/ieee80211_crypt.h
+++ wireless-2.6/include/net/ieee80211_crypt.h
@@ -1,10 +1,7 @@
 /*
- * Original code based on Host AP (software wireless LAN access point) driver
- * for Intersil Prism2/2.5/3.
+ * This file defines the interface to the ieee80211 crypto module.
  *
- * Copyright (c) 2001-2002, SSH Communications Security Corp and Jouni Malinen
- * <[EMAIL PROTECTED]>
- * Copyright (c) 2002-2003, Jouni Malinen <[EMAIL PROTECTED]>
+ * Copyright (c) 2002-2006, Jouni Malinen <[EMAIL PROTECTED]>
  *
  * Adaption to a generic IEEE 802.11 stack by James Ketrenos
  * <[EMAIL PROTECTED]>
@@ -17,9 +14,6 @@
  * more details.
  */
 
-/*
- * This file defines the interface to the ieee80211 crypto module.
- */
 #ifndef IEEE80211_CRYPT_H
 #define IEEE80211_CRYPT_H
 
@@ -42,13 +36,13 @@ struct ieee80211_crypto_ops {
        /* init new crypto context (e.g., allocate private data space,
         * select IV, etc.); returns NULL on failure or pointer to allocated
         * private data on success */
-       void *(*init) (int keyidx);
+       void *(*init)(int keyidx);
 
        /* deinitialize crypto context and free allocated private data */
-       void (*deinit) (void *priv);
+       void (*deinit)(void *priv);
 
-       int (*build_iv) (struct sk_buff * skb, int hdr_len,
-                        u8 *key, int keylen, void *priv);
+       int (*build_iv)(struct sk_buff *skb, int hdr_len,
+                       u8 *key, int keylen, void *priv);
 
        /* encrypt/decrypt return < 0 on error or >= 0 on success. The return
         * value from decrypt_mpdu is passed as the keyidx value for
@@ -56,25 +50,25 @@ struct ieee80211_crypto_ops {
         * encryption; if not, error will be returned; these functions are
         * called for all MPDUs (i.e., fragments).
         */
-       int (*encrypt_mpdu) (struct sk_buff * skb, int hdr_len, void *priv);
-       int (*decrypt_mpdu) (struct sk_buff * skb, int hdr_len, void *priv);
+       int (*encrypt_mpdu)(struct sk_buff *skb, int hdr_len, void *priv);
+       int (*decrypt_mpdu)(struct sk_buff *skb, int hdr_len, void *priv);
 
        /* These functions are called for full MSDUs, i.e. full frames.
         * These can be NULL if full MSDU operations are not needed. */
-       int (*encrypt_msdu) (struct sk_buff * skb, int hdr_len, void *priv);
-       int (*decrypt_msdu) (struct sk_buff * skb, int keyidx, int hdr_len,
-                            void *priv);
+       int (*encrypt_msdu)(struct sk_buff *skb, int hdr_len, void *priv);
+       int (*decrypt_msdu)(struct sk_buff *skb, int keyidx, int hdr_len,
+                           void *priv);
 
-       int (*set_key) (void *key, int len, u8 * seq, void *priv);
-       int (*get_key) (void *key, int len, u8 * seq, void *priv);
+       int (*set_key)(void *key, int len, u8 *seq, void *priv);
+       int (*get_key)(void *key, int len, u8 *seq, void *priv);
 
        /* procfs handler for printing out key information and possible
         * statistics */
-       char *(*print_stats) (char *p, void *priv);
+       char * (*print_stats)(char *p, void *priv);
 
        /* Crypto specific flag get/set for configuration settings */
-       unsigned long (*get_flags) (void *priv);
-       unsigned long (*set_flags) (unsigned long flags, void *priv);
+       unsigned long (*get_flags)(void *priv);
+       unsigned long (*set_flags)(unsigned long flags, void *priv);
 
        /* maximum number of bytes added by encryption; encrypt buf is
         * allocated with extra_prefix_len bytes, copy of in_buf, and
@@ -88,7 +82,7 @@ struct ieee80211_crypto_ops {
 };
 
 struct ieee80211_crypt_data {
-       struct list_head list;  /* delayed deletion list */
+       struct list_head list; /* delayed deletion list */
        struct ieee80211_crypto_ops *ops;
        void *priv;
        atomic_t refcnt;
@@ -98,11 +92,11 @@ struct ieee80211_device;
 
 int ieee80211_register_crypto_ops(struct ieee80211_crypto_ops *ops);
 int ieee80211_unregister_crypto_ops(struct ieee80211_crypto_ops *ops);
-struct ieee80211_crypto_ops *ieee80211_get_crypto_ops(const char *name);
+struct ieee80211_crypto_ops * ieee80211_get_crypto_ops(const char *name);
 void ieee80211_crypt_deinit_entries(struct ieee80211_device *, int);
 void ieee80211_crypt_deinit_handler(unsigned long);
 void ieee80211_crypt_delayed_deinit(struct ieee80211_device *ieee,
                                    struct ieee80211_crypt_data **crypt);
 void ieee80211_crypt_quiescing(struct ieee80211_device *ieee);
 
-#endif
+#endif /* IEEE80211_CRYPT_H */
Index: wireless-2.6/net/ieee80211/Kconfig
===================================================================
--- wireless-2.6.orig/net/ieee80211/Kconfig
+++ wireless-2.6/net/ieee80211/Kconfig
@@ -28,14 +28,15 @@ config IEEE80211_DEBUG
          subsystem, you most likely want to say N here.
 
 config IEEE80211_CRYPT_WEP
-       tristate "IEEE 802.11 WEP encryption (802.1x)"
+       tristate "IEEE 802.11 WEP encryption"
        depends on IEEE80211
        select CRYPTO
        select CRYPTO_ARC4
        select CRC32
        ---help---
        Include software based cipher suites in support of IEEE
-       802.11's WEP.  This is needed for WEP as well as 802.1x.
+       802.11's WEP.  This is needed for both static WEP and
+       IEEE 802.1X with dynamic WEP keys.
 
        This can be compiled as a modules and it will be called
        "ieee80211_crypt_wep".
@@ -47,8 +48,7 @@ config IEEE80211_CRYPT_CCMP
        select CRYPTO_AES
        ---help---
        Include software based cipher suites in support of IEEE 802.11i
-       (aka TGi, WPA, WPA2, WPA-PSK, etc.) for use with CCMP enabled
-       networks.
+       (aka TGi, WPA, WPA2, etc.) for use with CCMP enabled networks.
 
        This can be compiled as a modules and it will be called
        "ieee80211_crypt_ccmp".
@@ -60,8 +60,7 @@ config IEEE80211_CRYPT_TKIP
        select CRYPTO_MICHAEL_MIC
        ---help---
        Include software based cipher suites in support of IEEE 802.11i
-       (aka TGi, WPA, WPA2, WPA-PSK, etc.) for use with TKIP enabled
-       networks.
+       (aka TGi, WPA, WPA2, etc.) for use with TKIP enabled networks.
 
        This can be compiled as a modules and it will be called
        "ieee80211_crypt_tkip".
Index: wireless-2.6/net/ieee80211/ieee80211_crypt.c
===================================================================
--- wireless-2.6.orig/net/ieee80211/ieee80211_crypt.c
+++ wireless-2.6/net/ieee80211/ieee80211_crypt.c
@@ -1,5 +1,5 @@
 /*
- * Host AP crypto routines
+ * IEEE 802.11 crypto routines
  *
  * Copyright (c) 2002-2003, Jouni Malinen <[EMAIL PROTECTED]>
  * Portions Copyright (C) 2004, Intel Corporation <[EMAIL PROTECTED]>
@@ -19,7 +19,7 @@
 #include <net/ieee80211.h>
 
 MODULE_AUTHOR("Jouni Malinen");
-MODULE_DESCRIPTION("HostAP crypto");
+MODULE_DESCRIPTION("IEEE 802.11 crypto");
 MODULE_LICENSE("GPL");
 
 struct ieee80211_crypto_alg {
@@ -63,7 +63,7 @@ void ieee80211_crypt_quiescing(struct ie
 
 void ieee80211_crypt_deinit_handler(unsigned long data)
 {
-       struct ieee80211_device *ieee = (struct ieee80211_device *)data;
+       struct ieee80211_device *ieee = (struct ieee80211_device *) data;
        unsigned long flags;
 
        ieee80211_crypt_deinit_entries(ieee, 0);
@@ -110,11 +110,10 @@ int ieee80211_register_crypto_ops(struct
        unsigned long flags;
        struct ieee80211_crypto_alg *alg;
 
-       alg = kmalloc(sizeof(*alg), GFP_KERNEL);
+       alg = kzalloc(sizeof(*alg), GFP_KERNEL);
        if (alg == NULL)
                return -ENOMEM;
 
-       memset(alg, 0, sizeof(*alg));
        alg->ops = ops;
 
        spin_lock_irqsave(&ieee80211_crypto_lock, flags);
@@ -140,7 +139,7 @@ int ieee80211_unregister_crypto_ops(stru
        spin_unlock_irqrestore(&ieee80211_crypto_lock, flags);
        return -EINVAL;
 
-      found:
+found:
        printk(KERN_DEBUG "ieee80211_crypt: unregistered algorithm "
               "'%s'\n", ops->name);
        list_del(&alg->list);
@@ -149,7 +148,7 @@ int ieee80211_unregister_crypto_ops(stru
        return 0;
 }
 
-struct ieee80211_crypto_ops *ieee80211_get_crypto_ops(const char *name)
+struct ieee80211_crypto_ops * ieee80211_get_crypto_ops(const char *name)
 {
        struct ieee80211_crypto_alg *alg;
        unsigned long flags;
@@ -162,14 +161,14 @@ struct ieee80211_crypto_ops *ieee80211_g
        spin_unlock_irqrestore(&ieee80211_crypto_lock, flags);
        return NULL;
 
-      found:
+found:
        spin_unlock_irqrestore(&ieee80211_crypto_lock, flags);
        return alg->ops;
 }
 
-static void *ieee80211_crypt_null_init(int keyidx)
+static void * ieee80211_crypt_null_init(int keyidx)
 {
-       return (void *)1;
+       return (void *) 1;
 }
 
 static void ieee80211_crypt_null_deinit(void *priv)
Index: wireless-2.6/net/ieee80211/ieee80211_crypt_ccmp.c
===================================================================
--- wireless-2.6.orig/net/ieee80211/ieee80211_crypt_ccmp.c
+++ wireless-2.6/net/ieee80211/ieee80211_crypt_ccmp.c
@@ -1,5 +1,5 @@
 /*
- * Host AP crypt: host-based CCMP encryption implementation for Host AP driver
+ * IEEE 802.11 crypt: Host-based CCMP encryption implementation
  *
  * Copyright (c) 2003-2004, Jouni Malinen <[EMAIL PROTECTED]>
  *
@@ -27,7 +27,7 @@
 #include <asm/scatterlist.h>
 
 MODULE_AUTHOR("Jouni Malinen");
-MODULE_DESCRIPTION("Host AP crypt: CCMP");
+MODULE_DESCRIPTION("IEEE 802.11 crypt: CCMP");
 MODULE_LICENSE("GPL");
 
 #define AES_BLOCK_LEN 16
@@ -53,7 +53,7 @@ struct ieee80211_ccmp_data {
 
        /* scratch buffers for virt_to_page() (crypto API) */
        u8 tx_b0[AES_BLOCK_LEN], tx_b[AES_BLOCK_LEN],
-           tx_e[AES_BLOCK_LEN], tx_s0[AES_BLOCK_LEN];
+               tx_e[AES_BLOCK_LEN], tx_s0[AES_BLOCK_LEN];
        u8 rx_b0[AES_BLOCK_LEN], rx_b[AES_BLOCK_LEN], rx_a[AES_BLOCK_LEN];
 };
 
@@ -73,14 +73,13 @@ static void ieee80211_ccmp_aes_encrypt(s
        crypto_cipher_encrypt(tfm, &dst, &src, AES_BLOCK_LEN);
 }
 
-static void *ieee80211_ccmp_init(int key_idx)
+static void * ieee80211_ccmp_init(int key_idx)
 {
        struct ieee80211_ccmp_data *priv;
 
-       priv = kmalloc(sizeof(*priv), GFP_ATOMIC);
+       priv = kzalloc(sizeof(*priv), GFP_ATOMIC);
        if (priv == NULL)
                goto fail;
-       memset(priv, 0, sizeof(*priv));
        priv->key_idx = key_idx;
 
        priv->tfm = crypto_alloc_tfm("aes", 0);
@@ -92,7 +91,7 @@ static void *ieee80211_ccmp_init(int key
 
        return priv;
 
-      fail:
+fail:
        if (priv) {
                if (priv->tfm)
                        crypto_free_tfm(priv->tfm);
@@ -110,7 +109,7 @@ static void ieee80211_ccmp_deinit(void *
        kfree(priv);
 }
 
-static inline void xor_block(u8 * b, u8 * a, size_t len)
+static inline void xor_block(u8 *b, u8 *a, size_t len)
 {
        int i;
        for (i = 0; i < len; i++)
@@ -119,7 +118,7 @@ static inline void xor_block(u8 * b, u8 
 
 static void ccmp_init_blocks(struct crypto_tfm *tfm,
                             struct ieee80211_hdr_4addr *hdr,
-                            u8 * pn, size_t dlen, u8 * b0, u8 * auth, u8 * s0)
+                            u8 *pn, size_t dlen, u8 *b0, u8 *auth, u8 *s0)
 {
        u8 *pos, qc = 0;
        size_t aad_len;
@@ -136,7 +135,7 @@ static void ccmp_init_blocks(struct cryp
        if (a4_included)
                aad_len += 6;
        if (qc_included) {
-               pos = (u8 *) & hdr->addr4;
+               pos = (u8 *) &hdr->addr4;
                if (a4_included)
                        pos += 6;
                qc = *pos & 0x0f;
@@ -163,14 +162,14 @@ static void ccmp_init_blocks(struct cryp
         * QC (if present)
         */
        pos = (u8 *) hdr;
-       aad[0] = 0;             /* aad_len >> 8 */
+       aad[0] = 0; /* aad_len >> 8 */
        aad[1] = aad_len & 0xff;
        aad[2] = pos[0] & 0x8f;
        aad[3] = pos[1] & 0xc7;
        memcpy(aad + 4, hdr->addr1, 3 * ETH_ALEN);
-       pos = (u8 *) & hdr->seq_ctl;
+       pos = (u8 *) &hdr->seq_ctl;
        aad[22] = pos[0] & 0x0f;
-       aad[23] = 0;            /* all bits masked */
+       aad[23] = 0; /* all bits masked */
        memset(aad + 24, 0, 8);
        if (a4_included)
                memcpy(aad + 24, hdr->addr4, ETH_ALEN);
@@ -218,7 +217,7 @@ static int ieee80211_ccmp_hdr(struct sk_
        *pos++ = key->tx_pn[5];
        *pos++ = key->tx_pn[4];
        *pos++ = 0;
-       *pos++ = (key->key_idx << 6) | (1 << 5) /* Ext IV included */ ;
+       *pos++ = (key->key_idx << 6) | (1 << 5) /* Ext IV included */;
        *pos++ = key->tx_pn[3];
        *pos++ = key->tx_pn[2];
        *pos++ = key->tx_pn[1];
@@ -248,7 +247,7 @@ static int ieee80211_ccmp_encrypt(struct
 
        pos = skb->data + hdr_len + CCMP_HDR_LEN;
        mic = skb_put(skb, CCMP_MIC_LEN);
-       hdr = (struct ieee80211_hdr_4addr *)skb->data;
+       hdr = (struct ieee80211_hdr_4addr *) skb->data;
        ccmp_init_blocks(key->tfm, hdr, key->tx_pn, data_len, b0, b, s0);
 
        blocks = (data_len + AES_BLOCK_LEN - 1) / AES_BLOCK_LEN;
@@ -291,13 +290,14 @@ static int ieee80211_ccmp_decrypt(struct
                return -1;
        }
 
-       hdr = (struct ieee80211_hdr_4addr *)skb->data;
+       hdr = (struct ieee80211_hdr_4addr *) skb->data;
        pos = skb->data + hdr_len;
        keyidx = pos[3];
        if (!(keyidx & (1 << 5))) {
                if (net_ratelimit()) {
                        printk(KERN_DEBUG "CCMP: received packet without ExtIV"
-                              " flag from " MAC_FMT "\n", MAC_ARG(hdr->addr2));
+                              " flag from " MAC_FMT "\n",
+                              MAC_ARG(hdr->addr2));
                }
                key->dot11RSNAStatsCCMPFormatErrors++;
                return -2;
@@ -375,7 +375,7 @@ static int ieee80211_ccmp_decrypt(struct
        return keyidx;
 }
 
-static int ieee80211_ccmp_set_key(void *key, int len, u8 * seq, void *priv)
+static int ieee80211_ccmp_set_key(void *key, int len, u8 *seq, void *priv)
 {
        struct ieee80211_ccmp_data *data = priv;
        int keyidx;
@@ -405,7 +405,7 @@ static int ieee80211_ccmp_set_key(void *
        return 0;
 }
 
-static int ieee80211_ccmp_get_key(void *key, int len, u8 * seq, void *priv)
+static int ieee80211_ccmp_get_key(void *key, int len, u8 *seq, void *priv)
 {
        struct ieee80211_ccmp_data *data = priv;
 
@@ -428,7 +428,7 @@ static int ieee80211_ccmp_get_key(void *
        return CCMP_TK_LEN;
 }
 
-static char *ieee80211_ccmp_print_stats(char *p, void *priv)
+static char * ieee80211_ccmp_print_stats(char *p, void *priv)
 {
        struct ieee80211_ccmp_data *ccmp = priv;
        p += sprintf(p, "key[%d] alg=CCMP key_set=%d "
Index: wireless-2.6/net/ieee80211/ieee80211_crypt_tkip.c
===================================================================
--- wireless-2.6.orig/net/ieee80211/ieee80211_crypt_tkip.c
+++ wireless-2.6/net/ieee80211/ieee80211_crypt_tkip.c
@@ -1,5 +1,5 @@
 /*
- * Host AP crypt: host-based TKIP encryption implementation for Host AP driver
+ * IEEE 802.11 crypt: Host-based TKIP encryption implementation
  *
  * Copyright (c) 2003-2004, Jouni Malinen <[EMAIL PROTECTED]>
  *
@@ -27,7 +27,7 @@
 #include <linux/crc32.h>
 
 MODULE_AUTHOR("Jouni Malinen");
-MODULE_DESCRIPTION("Host AP crypt: TKIP");
+MODULE_DESCRIPTION("IEEE 802.11 crypt: TKIP");
 MODULE_LICENSE("GPL");
 
 struct ieee80211_tkip_data {
@@ -76,14 +76,13 @@ static unsigned long ieee80211_tkip_get_
        return _priv->flags;
 }
 
-static void *ieee80211_tkip_init(int key_idx)
+static void * ieee80211_tkip_init(int key_idx)
 {
        struct ieee80211_tkip_data *priv;
 
        priv = kzalloc(sizeof(*priv), GFP_ATOMIC);
        if (priv == NULL)
                goto fail;
-
        priv->key_idx = key_idx;
 
        priv->tfm_arc4 = crypto_alloc_tfm("arc4", 0);
@@ -102,7 +101,7 @@ static void *ieee80211_tkip_init(int key
 
        return priv;
 
-      fail:
+fail:
        if (priv) {
                if (priv->tfm_michael)
                        crypto_free_tfm(priv->tfm_michael);
@@ -154,7 +153,7 @@ static inline u16 Mk16(u8 hi, u8 lo)
        return lo | (((u16) hi) << 8);
 }
 
-static inline u16 Mk16_le(u16 * v)
+static inline u16 Mk16_le(u16 *v)
 {
        return le16_to_cpu(*v);
 }
@@ -202,8 +201,7 @@ static inline u16 _S_(u16 v)
 
 #define PHASE1_LOOP_COUNT 8
 
-static void tkip_mixing_phase1(u16 * TTAK, const u8 * TK, const u8 * TA,
-                              u32 IV32)
+static void tkip_mixing_phase1(u16 *TTAK, const u8 *TK, const u8 *TA, u32 IV32)
 {
        int i, j;
 
@@ -224,12 +222,12 @@ static void tkip_mixing_phase1(u16 * TTA
        }
 }
 
-static void tkip_mixing_phase2(u8 * WEPSeed, const u8 * TK, const u16 * TTAK,
+static void tkip_mixing_phase2(u8 *WEPSeed, const u8 *TK, const u16 *TTAK,
                               u16 IV16)
 {
        /* Make temporary area overlap WEP seed so that the final copy can be
         * avoided on little endian hosts. */
-       u16 *PPK = (u16 *) & WEPSeed[4];
+       u16 *PPK = (u16 *) &WEPSeed[4];
 
        /* Step 1 - make copy of TTAK and bring in TSC */
        PPK[0] = TTAK[0];
@@ -240,15 +238,15 @@ static void tkip_mixing_phase2(u8 * WEPS
        PPK[5] = TTAK[4] + IV16;
 
        /* Step 2 - 96-bit bijective mixing using S-box */
-       PPK[0] += _S_(PPK[5] ^ Mk16_le((u16 *) & TK[0]));
-       PPK[1] += _S_(PPK[0] ^ Mk16_le((u16 *) & TK[2]));
-       PPK[2] += _S_(PPK[1] ^ Mk16_le((u16 *) & TK[4]));
-       PPK[3] += _S_(PPK[2] ^ Mk16_le((u16 *) & TK[6]));
-       PPK[4] += _S_(PPK[3] ^ Mk16_le((u16 *) & TK[8]));
-       PPK[5] += _S_(PPK[4] ^ Mk16_le((u16 *) & TK[10]));
+       PPK[0] += _S_(PPK[5] ^ Mk16_le((u16 *) &TK[0]));
+       PPK[1] += _S_(PPK[0] ^ Mk16_le((u16 *) &TK[2]));
+       PPK[2] += _S_(PPK[1] ^ Mk16_le((u16 *) &TK[4]));
+       PPK[3] += _S_(PPK[2] ^ Mk16_le((u16 *) &TK[6]));
+       PPK[4] += _S_(PPK[3] ^ Mk16_le((u16 *) &TK[8]));
+       PPK[5] += _S_(PPK[4] ^ Mk16_le((u16 *) &TK[10]));
 
-       PPK[0] += RotR1(PPK[5] ^ Mk16_le((u16 *) & TK[12]));
-       PPK[1] += RotR1(PPK[0] ^ Mk16_le((u16 *) & TK[14]));
+       PPK[0] += RotR1(PPK[5] ^ Mk16_le((u16 *) &TK[12]));
+       PPK[1] += RotR1(PPK[0] ^ Mk16_le((u16 *) &TK[14]));
        PPK[2] += RotR1(PPK[1]);
        PPK[3] += RotR1(PPK[2]);
        PPK[4] += RotR1(PPK[3]);
@@ -259,7 +257,7 @@ static void tkip_mixing_phase2(u8 * WEPS
        WEPSeed[0] = Hi8(IV16);
        WEPSeed[1] = (Hi8(IV16) | 0x20) & 0x7F;
        WEPSeed[2] = Lo8(IV16);
-       WEPSeed[3] = Lo8((PPK[5] ^ Mk16_le((u16 *) & TK[0])) >> 1);
+       WEPSeed[3] = Lo8((PPK[5] ^ Mk16_le((u16 *) &TK[0])) >> 1);
 
 #ifdef __BIG_ENDIAN
        {
@@ -271,14 +269,14 @@ static void tkip_mixing_phase2(u8 * WEPS
 }
 
 static int ieee80211_tkip_hdr(struct sk_buff *skb, int hdr_len,
-                             u8 * rc4key, int keylen, void *priv)
+                             u8 *rc4key, int keylen, void *priv)
 {
        struct ieee80211_tkip_data *tkey = priv;
        int len;
        u8 *pos;
        struct ieee80211_hdr_4addr *hdr;
 
-       hdr = (struct ieee80211_hdr_4addr *)skb->data;
+       hdr = (struct ieee80211_hdr_4addr *) skb->data;
 
        if (skb_headroom(skb) < 8 || skb->len < hdr_len)
                return -1;
@@ -301,7 +299,7 @@ static int ieee80211_tkip_hdr(struct sk_
        *pos++ = *rc4key;
        *pos++ = *(rc4key + 1);
        *pos++ = *(rc4key + 2);
-       *pos++ = (tkey->key_idx << 6) | (1 << 5) /* Ext IV included */ ;
+       *pos++ = (tkey->key_idx << 6) | (1 << 5) /* Ext IV included */;
        *pos++ = tkey->tx_iv32 & 0xff;
        *pos++ = (tkey->tx_iv32 >> 8) & 0xff;
        *pos++ = (tkey->tx_iv32 >> 16) & 0xff;
@@ -327,7 +325,7 @@ static int ieee80211_tkip_encrypt(struct
        if (tkey->flags & IEEE80211_CRYPTO_TKIP_COUNTERMEASURES) {
                if (net_ratelimit()) {
                        struct ieee80211_hdr_4addr *hdr =
-                           (struct ieee80211_hdr_4addr *)skb->data;
+                               (struct ieee80211_hdr_4addr *) skb->data;
                        printk(KERN_DEBUG ": TKIP countermeasures: dropped "
                               "TX packet to " MAC_FMT "\n",
                               MAC_ARG(hdr->addr1));
@@ -374,7 +372,7 @@ static int ieee80211_tkip_decrypt(struct
        struct scatterlist sg;
        int plen;
 
-       hdr = (struct ieee80211_hdr_4addr *)skb->data;
+       hdr = (struct ieee80211_hdr_4addr *) skb->data;
 
        if (tkey->flags & IEEE80211_CRYPTO_TKIP_COUNTERMEASURES) {
                if (net_ratelimit()) {
@@ -393,7 +391,8 @@ static int ieee80211_tkip_decrypt(struct
        if (!(keyidx & (1 << 5))) {
                if (net_ratelimit()) {
                        printk(KERN_DEBUG "TKIP: received packet without ExtIV"
-                              " flag from " MAC_FMT "\n", MAC_ARG(hdr->addr2));
+                              " flag from " MAC_FMT "\n",
+                              MAC_ARG(hdr->addr2));
                }
                return -2;
        }
@@ -473,8 +472,8 @@ static int ieee80211_tkip_decrypt(struct
        return keyidx;
 }
 
-static int michael_mic(struct ieee80211_tkip_data *tkey, u8 * key, u8 * hdr,
-                      u8 * data, size_t data_len, u8 * mic)
+static int michael_mic(struct ieee80211_tkip_data *tkey, u8 *key, u8 *hdr,
+                      u8 *data, size_t data_len, u8 *mic)
 {
        struct scatterlist sg[2];
 
@@ -498,33 +497,33 @@ static int michael_mic(struct ieee80211_
        return 0;
 }
 
-static void michael_mic_hdr(struct sk_buff *skb, u8 * hdr)
+static void michael_mic_hdr(struct sk_buff *skb, u8 *hdr)
 {
        struct ieee80211_hdr_4addr *hdr11;
 
-       hdr11 = (struct ieee80211_hdr_4addr *)skb->data;
+       hdr11 = (struct ieee80211_hdr_4addr *) skb->data;
        switch (le16_to_cpu(hdr11->frame_ctl) &
                (IEEE80211_FCTL_FROMDS | IEEE80211_FCTL_TODS)) {
        case IEEE80211_FCTL_TODS:
-               memcpy(hdr, hdr11->addr3, ETH_ALEN);    /* DA */
-               memcpy(hdr + ETH_ALEN, hdr11->addr2, ETH_ALEN); /* SA */
+               memcpy(hdr, hdr11->addr3, ETH_ALEN); /* DA */
+               memcpy(hdr + ETH_ALEN, hdr11->addr2, ETH_ALEN); /* SA */
                break;
        case IEEE80211_FCTL_FROMDS:
-               memcpy(hdr, hdr11->addr1, ETH_ALEN);    /* DA */
-               memcpy(hdr + ETH_ALEN, hdr11->addr3, ETH_ALEN); /* SA */
+               memcpy(hdr, hdr11->addr1, ETH_ALEN); /* DA */
+               memcpy(hdr + ETH_ALEN, hdr11->addr3, ETH_ALEN); /* SA */
                break;
        case IEEE80211_FCTL_FROMDS | IEEE80211_FCTL_TODS:
-               memcpy(hdr, hdr11->addr3, ETH_ALEN);    /* DA */
-               memcpy(hdr + ETH_ALEN, hdr11->addr4, ETH_ALEN); /* SA */
+               memcpy(hdr, hdr11->addr3, ETH_ALEN); /* DA */
+               memcpy(hdr + ETH_ALEN, hdr11->addr4, ETH_ALEN); /* SA */
                break;
        case 0:
-               memcpy(hdr, hdr11->addr1, ETH_ALEN);    /* DA */
-               memcpy(hdr + ETH_ALEN, hdr11->addr2, ETH_ALEN); /* SA */
+               memcpy(hdr, hdr11->addr1, ETH_ALEN); /* DA */
+               memcpy(hdr + ETH_ALEN, hdr11->addr2, ETH_ALEN); /* SA */
                break;
        }
 
-       hdr[12] = 0;            /* priority */
-       hdr[13] = hdr[14] = hdr[15] = 0;        /* reserved */
+       hdr[12] = 0; /* priority */
+       hdr[13] = hdr[14] = hdr[15] = 0; /* reserved */
 }
 
 static int ieee80211_michael_mic_add(struct sk_buff *skb, int hdr_len,
@@ -567,7 +566,7 @@ static void ieee80211_michael_mic_failur
        memcpy(ev.src_addr.sa_data, hdr->addr2, ETH_ALEN);
        memset(&wrqu, 0, sizeof(wrqu));
        wrqu.data.length = sizeof(ev);
-       wireless_send_event(dev, IWEVMICHAELMICFAILURE, &wrqu, (char *)&ev);
+       wireless_send_event(dev, IWEVMICHAELMICFAILURE, &wrqu, (char *) &ev);
 }
 
 static int ieee80211_michael_mic_verify(struct sk_buff *skb, int keyidx,
@@ -585,7 +584,7 @@ static int ieee80211_michael_mic_verify(
                return -1;
        if (memcmp(mic, skb->data + skb->len - 8, 8) != 0) {
                struct ieee80211_hdr_4addr *hdr;
-               hdr = (struct ieee80211_hdr_4addr *)skb->data;
+               hdr = (struct ieee80211_hdr_4addr *) skb->data;
                printk(KERN_DEBUG "%s: Michael MIC verification failed for "
                       "MSDU from " MAC_FMT " keyidx=%d\n",
                       skb->dev ? skb->dev->name : "N/A", MAC_ARG(hdr->addr2),
@@ -606,7 +605,7 @@ static int ieee80211_michael_mic_verify(
        return 0;
 }
 
-static int ieee80211_tkip_set_key(void *key, int len, u8 * seq, void *priv)
+static int ieee80211_tkip_set_key(void *key, int len, u8 *seq, void *priv)
 {
        struct ieee80211_tkip_data *tkey = priv;
        int keyidx;
@@ -621,10 +620,10 @@ static int ieee80211_tkip_set_key(void *
        if (len == TKIP_KEY_LEN) {
                memcpy(tkey->key, key, TKIP_KEY_LEN);
                tkey->key_set = 1;
-               tkey->tx_iv16 = 1;      /* TSC is initialized to 1 */
+               tkey->tx_iv16 = 1; /* TSC is initialized to 1 */
                if (seq) {
                        tkey->rx_iv32 = (seq[5] << 24) | (seq[4] << 16) |
-                           (seq[3] << 8) | seq[2];
+                               (seq[3] << 8) | seq[2];
                        tkey->rx_iv16 = (seq[1] << 8) | seq[0];
                }
        } else if (len == 0)
@@ -635,7 +634,7 @@ static int ieee80211_tkip_set_key(void *
        return 0;
 }
 
-static int ieee80211_tkip_get_key(void *key, int len, u8 * seq, void *priv)
+static int ieee80211_tkip_get_key(void *key, int len, u8 *seq, void *priv)
 {
        struct ieee80211_tkip_data *tkey = priv;
 
@@ -664,7 +663,7 @@ static int ieee80211_tkip_get_key(void *
        return TKIP_KEY_LEN;
 }
 
-static char *ieee80211_tkip_print_stats(char *p, void *priv)
+static char * ieee80211_tkip_print_stats(char *p, void *priv)
 {
        struct ieee80211_tkip_data *tkip = priv;
        p += sprintf(p, "key[%d] alg=TKIP key_set=%d "
@@ -702,9 +701,9 @@ static struct ieee80211_crypto_ops ieee8
        .set_key = ieee80211_tkip_set_key,
        .get_key = ieee80211_tkip_get_key,
        .print_stats = ieee80211_tkip_print_stats,
-       .extra_mpdu_prefix_len = 4 + 4, /* IV + ExtIV */
-       .extra_mpdu_postfix_len = 4,    /* ICV */
-       .extra_msdu_postfix_len = 8,    /* MIC */
+       .extra_mpdu_prefix_len = 4 + 4 /* IV + ExtIV */,
+       .extra_mpdu_postfix_len = 4 /* ICV */,
+       .extra_msdu_postfix_len = 8 /* MIC */,
        .get_flags = ieee80211_tkip_get_flags,
        .set_flags = ieee80211_tkip_set_flags,
        .owner = THIS_MODULE,
Index: wireless-2.6/net/ieee80211/ieee80211_crypt_wep.c
===================================================================
--- wireless-2.6.orig/net/ieee80211/ieee80211_crypt_wep.c
+++ wireless-2.6/net/ieee80211/ieee80211_crypt_wep.c
@@ -1,5 +1,5 @@
 /*
- * Host AP crypt: host-based WEP encryption implementation for Host AP driver
+ * IEEE 802.11 crypt: Host-based WEP encryption implementation
  *
  * Copyright (c) 2002-2004, Jouni Malinen <[EMAIL PROTECTED]>
  *
@@ -24,10 +24,10 @@
 #include <linux/crc32.h>
 
 MODULE_AUTHOR("Jouni Malinen");
-MODULE_DESCRIPTION("Host AP crypt: WEP");
+MODULE_DESCRIPTION("IEEE 802.11 crypt: WEP");
 MODULE_LICENSE("GPL");
 
-struct prism2_wep_data {
+struct ieee80211_wep_data {
        u32 iv;
 #define WEP_KEY_LEN 13
        u8 key[WEP_KEY_LEN + 1];
@@ -36,14 +36,13 @@ struct prism2_wep_data {
        struct crypto_tfm *tfm;
 };
 
-static void *prism2_wep_init(int keyidx)
+static void * ieee80211_wep_init(int keyidx)
 {
-       struct prism2_wep_data *priv;
+       struct ieee80211_wep_data *priv;
 
-       priv = kmalloc(sizeof(*priv), GFP_ATOMIC);
+       priv = kzalloc(sizeof(*priv), GFP_ATOMIC);
        if (priv == NULL)
                goto fail;
-       memset(priv, 0, sizeof(*priv));
        priv->key_idx = keyidx;
 
        priv->tfm = crypto_alloc_tfm("arc4", 0);
@@ -58,7 +57,7 @@ static void *prism2_wep_init(int keyidx)
 
        return priv;
 
-      fail:
+fail:
        if (priv) {
                if (priv->tfm)
                        crypto_free_tfm(priv->tfm);
@@ -67,19 +66,19 @@ static void *prism2_wep_init(int keyidx)
        return NULL;
 }
 
-static void prism2_wep_deinit(void *priv)
+static void ieee80211_wep_deinit(void *priv)
 {
-       struct prism2_wep_data *_priv = priv;
+       struct ieee80211_wep_data *_priv = priv;
        if (_priv && _priv->tfm)
                crypto_free_tfm(_priv->tfm);
        kfree(priv);
 }
 
 /* Add WEP IV/key info to a frame that has at least 4 bytes of headroom */
-static int prism2_wep_build_iv(struct sk_buff *skb, int hdr_len,
-                              u8 *key, int keylen, void *priv)
+static int ieee80211_wep_build_iv(struct sk_buff *skb, int hdr_len,
+                                 u8 *key, int keylen, void *priv)
 {
-       struct prism2_wep_data *wep = priv;
+       struct ieee80211_wep_data *wep = priv;
        u32 klen, len;
        u8 *pos;
        
@@ -119,20 +118,20 @@ static int prism2_wep_build_iv(struct sk
  *
  * WEP frame payload: IV + TX key idx, RC4(data), ICV = RC4(CRC32(data))
  */
-static int prism2_wep_encrypt(struct sk_buff *skb, int hdr_len, void *priv)
+static int ieee80211_wep_encrypt(struct sk_buff *skb, int hdr_len, void *priv)
 {
-       struct prism2_wep_data *wep = priv;
+       struct ieee80211_wep_data *wep = priv;
        u32 crc, klen, len;
        u8 *pos, *icv;
        struct scatterlist sg;
        u8 key[WEP_KEY_LEN + 3];
 
-       /* other checks are in prism2_wep_build_iv */
+       /* other checks are in ieee80211_wep_build_iv */
        if (skb_tailroom(skb) < 4)
                return -1;
        
        /* add the IV to the frame */
-       if (prism2_wep_build_iv(skb, hdr_len, NULL, 0, priv))
+       if (ieee80211_wep_build_iv(skb, hdr_len, NULL, 0, priv))
                return -1;
        
        /* Copy the IV into the first 3 bytes of the key */
@@ -145,7 +144,10 @@ static int prism2_wep_encrypt(struct sk_
        pos = skb->data + hdr_len + 4;
        klen = 3 + wep->key_len;
 
-       /* Append little-endian CRC32 over only the data and encrypt it to 
produce ICV */
+       /*
+        * Append little-endian CRC32 over only the data and encrypt it to
+        * produce ICV.
+        */
        crc = ~crc32_le(~0, pos, len);
        icv = skb_put(skb, 4);
        icv[0] = crc;
@@ -169,9 +171,9 @@ static int prism2_wep_encrypt(struct sk_
  * Returns 0 if frame was decrypted successfully and ICV was correct and -1 on
  * failure. If frame is OK, IV and ICV will be removed.
  */
-static int prism2_wep_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
+static int ieee80211_wep_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
 {
-       struct prism2_wep_data *wep = priv;
+       struct ieee80211_wep_data *wep = priv;
        u32 crc, klen, plen;
        u8 key[WEP_KEY_LEN + 3];
        u8 keyidx, *pos, icv[4];
@@ -220,9 +222,9 @@ static int prism2_wep_decrypt(struct sk_
        return 0;
 }
 
-static int prism2_wep_set_key(void *key, int len, u8 * seq, void *priv)
+static int ieee80211_wep_set_key(void *key, int len, u8 *seq, void *priv)
 {
-       struct prism2_wep_data *wep = priv;
+       struct ieee80211_wep_data *wep = priv;
 
        if (len < 0 || len > WEP_KEY_LEN)
                return -1;
@@ -233,9 +235,9 @@ static int prism2_wep_set_key(void *key,
        return 0;
 }
 
-static int prism2_wep_get_key(void *key, int len, u8 * seq, void *priv)
+static int ieee80211_wep_get_key(void *key, int len, u8 *seq, void *priv)
 {
-       struct prism2_wep_data *wep = priv;
+       struct ieee80211_wep_data *wep = priv;
 
        if (len < wep->key_len)
                return -1;
@@ -245,27 +247,28 @@ static int prism2_wep_get_key(void *key,
        return wep->key_len;
 }
 
-static char *prism2_wep_print_stats(char *p, void *priv)
+static char * ieee80211_wep_print_stats(char *p, void *priv)
 {
-       struct prism2_wep_data *wep = priv;
-       p += sprintf(p, "key[%d] alg=WEP len=%d\n", wep->key_idx, wep->key_len);
+       struct ieee80211_wep_data *wep = priv;
+       p += sprintf(p, "key[%d] alg=WEP len=%d\n",
+                    wep->key_idx, wep->key_len);
        return p;
 }
 
 static struct ieee80211_crypto_ops ieee80211_crypt_wep = {
        .name = "WEP",
-       .init = prism2_wep_init,
-       .deinit = prism2_wep_deinit,
-       .build_iv = prism2_wep_build_iv,
-       .encrypt_mpdu = prism2_wep_encrypt,
-       .decrypt_mpdu = prism2_wep_decrypt,
+       .init = ieee80211_wep_init,
+       .deinit = ieee80211_wep_deinit,
+       .build_iv = ieee80211_wep_build_iv,
+       .encrypt_mpdu = ieee80211_wep_encrypt,
+       .decrypt_mpdu = ieee80211_wep_decrypt,
        .encrypt_msdu = NULL,
        .decrypt_msdu = NULL,
-       .set_key = prism2_wep_set_key,
-       .get_key = prism2_wep_get_key,
-       .print_stats = prism2_wep_print_stats,
-       .extra_mpdu_prefix_len = 4,     /* IV */
-       .extra_mpdu_postfix_len = 4,    /* ICV */
+       .set_key = ieee80211_wep_set_key,
+       .get_key = ieee80211_wep_get_key,
+       .print_stats = ieee80211_wep_print_stats,
+       .extra_mpdu_prefix_len = 4 /* IV */,
+       .extra_mpdu_postfix_len = 4 /* ICV */,
        .owner = THIS_MODULE,
 };
 


-- 
Jouni Malinen                                            PGP id EFC895FA
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to