cfg80211: use key size constants
authorJohannes Berg <johannes@sipsolutions.net>
Sun, 24 May 2009 14:57:19 +0000 (16:57 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 3 Jun 2009 18:05:10 +0000 (14:05 -0400)
Instead of hardcoding the key length for validation, use the
constants Zhu Yi recently added and add one for AES_CMAC too.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
include/linux/ieee80211.h
net/wireless/util.c

index 34de8b21f6d4f2a097bf0236a62c735fcc4cf106..a9173d5434d1cd85fa15174ced031ccca34ee4fd 100644 (file)
@@ -1092,6 +1092,7 @@ enum ieee80211_key_len {
        WLAN_KEY_LEN_WEP104 = 13,
        WLAN_KEY_LEN_CCMP = 16,
        WLAN_KEY_LEN_TKIP = 32,
+       WLAN_KEY_LEN_AES_CMAC = 16,
 };
 
 /*
index d072bff463aa5a3da9685e5d854b23d2e999397d..5be9ed7ae1e9b71ad21b3f974b932c1ada95c2f1 100644 (file)
@@ -157,26 +157,25 @@ int cfg80211_validate_key_settings(struct key_params *params, int key_idx,
            params->cipher != WLAN_CIPHER_SUITE_WEP104)
                return -EINVAL;
 
-       /* TODO: add definitions for the lengths to linux/ieee80211.h */
        switch (params->cipher) {
        case WLAN_CIPHER_SUITE_WEP40:
-               if (params->key_len != 5)
+               if (params->key_len != WLAN_KEY_LEN_WEP40)
                        return -EINVAL;
                break;
        case WLAN_CIPHER_SUITE_TKIP:
-               if (params->key_len != 32)
+               if (params->key_len != WLAN_KEY_LEN_TKIP)
                        return -EINVAL;
                break;
        case WLAN_CIPHER_SUITE_CCMP:
-               if (params->key_len != 16)
+               if (params->key_len != WLAN_KEY_LEN_CCMP)
                        return -EINVAL;
                break;
        case WLAN_CIPHER_SUITE_WEP104:
-               if (params->key_len != 13)
+               if (params->key_len != WLAN_KEY_LEN_WEP104)
                        return -EINVAL;
                break;
        case WLAN_CIPHER_SUITE_AES_CMAC:
-               if (params->key_len != 16)
+               if (params->key_len != WLAN_KEY_LEN_AES_CMAC)
                        return -EINVAL;
                break;
        default: