nfsd: move fsid_type choice out of fh_compose
[safe/jmp/linux-2.6] / net / mac80211 / tkip.c
index e710243..964b7fa 100644 (file)
@@ -13,6 +13,7 @@
 #include <asm/unaligned.h>
 
 #include <net/mac80211.h>
+#include "driver-ops.h"
 #include "key.h"
 #include "tkip.h"
 #include "wep.h"
@@ -164,10 +165,10 @@ void ieee80211_get_tkip_key(struct ieee80211_key_conf *keyconf,
        iv16 = data[2] | (data[0] << 8);
        iv32 = get_unaligned_le32(&data[4]);
 
-       tk = &key->conf.key[ALG_TKIP_TEMP_ENCR_KEY];
+       tk = &key->conf.key[NL80211_TKIP_DATA_OFFSET_ENCR_KEY];
        ctx = &key->u.tkip.tx;
 
-#ifdef CONFIG_TKIP_DEBUG
+#ifdef CONFIG_MAC80211_TKIP_DEBUG
        printk(KERN_DEBUG "TKIP encrypt: iv16 = 0x%04x, iv32 = 0x%08x\n",
                        iv16, iv32);
 
@@ -177,7 +178,7 @@ void ieee80211_get_tkip_key(struct ieee80211_key_conf *keyconf,
                printk(KERN_DEBUG "Wrap around of iv16 in the middle of a "
                        "fragmented packet\n");
        }
-#endif /* CONFIG_TKIP_DEBUG */
+#endif
 
        /* Update the p1k only when the iv16 in the packet wraps around, this
         * might occur after the wrap around of iv16 in the key in case of
@@ -205,7 +206,7 @@ void ieee80211_tkip_encrypt_data(struct crypto_blkcipher *tfm,
 {
        u8 rc4key[16];
        struct tkip_ctx *ctx = &key->u.tkip.tx;
-       const u8 *tk = &key->conf.key[ALG_TKIP_TEMP_ENCR_KEY];
+       const u8 *tk = &key->conf.key[NL80211_TKIP_DATA_OFFSET_ENCR_KEY];
 
        /* Calculate per-packet key */
        if (ctx->iv16 == 0 || !ctx->initialized)
@@ -231,7 +232,7 @@ int ieee80211_tkip_decrypt_data(struct crypto_blkcipher *tfm,
        u32 iv16;
        u8 rc4key[16], keyid, *pos = payload;
        int res;
-       const u8 *tk = &key->conf.key[ALG_TKIP_TEMP_ENCR_KEY];
+       const u8 *tk = &key->conf.key[NL80211_TKIP_DATA_OFFSET_ENCR_KEY];
 
        if (payload_len < 12)
                return -1;
@@ -240,7 +241,7 @@ int ieee80211_tkip_decrypt_data(struct crypto_blkcipher *tfm,
        keyid = pos[3];
        iv32 = get_unaligned_le32(pos + 4);
        pos += 8;
-#ifdef CONFIG_TKIP_DEBUG
+#ifdef CONFIG_MAC80211_TKIP_DEBUG
        {
                int i;
                printk(KERN_DEBUG "TKIP decrypt: data(len=%zd)", payload_len);
@@ -250,7 +251,7 @@ int ieee80211_tkip_decrypt_data(struct crypto_blkcipher *tfm,
                printk(KERN_DEBUG "TKIP decrypt: iv16=%04x iv32=%08x\n",
                       iv16, iv32);
        }
-#endif /* CONFIG_TKIP_DEBUG */
+#endif
 
        if (!(keyid & (1 << 5)))
                return TKIP_DECRYPT_NO_EXT_IV;
@@ -262,14 +263,13 @@ int ieee80211_tkip_decrypt_data(struct crypto_blkcipher *tfm,
            (iv32 < key->u.tkip.rx[queue].iv32 ||
             (iv32 == key->u.tkip.rx[queue].iv32 &&
              iv16 <= key->u.tkip.rx[queue].iv16))) {
-#ifdef CONFIG_TKIP_DEBUG
-               DECLARE_MAC_BUF(mac);
+#ifdef CONFIG_MAC80211_TKIP_DEBUG
                printk(KERN_DEBUG "TKIP replay detected for RX frame from "
-                      "%s (RX IV (%04x,%02x) <= prev. IV (%04x,%02x)\n",
-                      print_mac(mac, ta),
+                      "%pM (RX IV (%04x,%02x) <= prev. IV (%04x,%02x)\n",
+                      ta,
                       iv32, iv16, key->u.tkip.rx[queue].iv32,
                       key->u.tkip.rx[queue].iv16);
-#endif /* CONFIG_TKIP_DEBUG */
+#endif
                return TKIP_DECRYPT_REPLAY;
        }
 
@@ -283,40 +283,38 @@ int ieee80211_tkip_decrypt_data(struct crypto_blkcipher *tfm,
            key->u.tkip.rx[queue].iv32 != iv32) {
                /* IV16 wrapped around - perform TKIP phase 1 */
                tkip_mixing_phase1(tk, &key->u.tkip.rx[queue], ta, iv32);
-#ifdef CONFIG_TKIP_DEBUG
+#ifdef CONFIG_MAC80211_TKIP_DEBUG
                {
                        int i;
-                       DECLARE_MAC_BUF(mac);
-                       printk(KERN_DEBUG "TKIP decrypt: Phase1 TA=%s"
-                              " TK=", print_mac(mac, ta));
+                       u8 key_offset = NL80211_TKIP_DATA_OFFSET_ENCR_KEY;
+                       printk(KERN_DEBUG "TKIP decrypt: Phase1 TA=%pM"
+                              " TK=", ta);
                        for (i = 0; i < 16; i++)
                                printk("%02x ",
-                                      key->conf.key[
-                                               ALG_TKIP_TEMP_ENCR_KEY + i]);
+                                      key->conf.key[key_offset + i]);
                        printk("\n");
                        printk(KERN_DEBUG "TKIP decrypt: P1K=");
                        for (i = 0; i < 5; i++)
                                printk("%04x ", key->u.tkip.rx[queue].p1k[i]);
                        printk("\n");
                }
-#endif /* CONFIG_TKIP_DEBUG */
+#endif
                if (key->local->ops->update_tkip_key &&
                        key->flags & KEY_FLAG_UPLOADED_TO_HARDWARE) {
                        u8 bcast[ETH_ALEN] =
                                {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
-                       u8 *sta_addr = key->sta->addr;
+                       u8 *sta_addr = key->sta->sta.addr;
 
                        if (is_multicast_ether_addr(ra))
                                sta_addr = bcast;
 
-                       key->local->ops->update_tkip_key(
-                               local_to_hw(key->local), &key->conf,
-                               sta_addr, iv32, key->u.tkip.rx[queue].p1k);
+                       drv_update_tkip_key(key->local, &key->conf, sta_addr,
+                                           iv32, key->u.tkip.rx[queue].p1k);
                }
        }
 
        tkip_mixing_phase2(tk, &key->u.tkip.rx[queue], iv16, rc4key);
-#ifdef CONFIG_TKIP_DEBUG
+#ifdef CONFIG_MAC80211_TKIP_DEBUG
        {
                int i;
                printk(KERN_DEBUG "TKIP decrypt: Phase2 rc4key=");
@@ -324,7 +322,7 @@ int ieee80211_tkip_decrypt_data(struct crypto_blkcipher *tfm,
                        printk("%02x ", rc4key[i]);
                printk("\n");
        }
-#endif /* CONFIG_TKIP_DEBUG */
+#endif
 
        res = ieee80211_wep_decrypt_data(tfm, rc4key, 16, pos, payload_len - 12);
  done: