Ticket #688: aes.patch

File aes.patch, 1.0 kB (added by nbd@openwrt.org, 6 years ago)
  • madwifi.old/net80211/ieee80211_crypto_ccmp.c

    old new  
    105105 
    106106        ctx->cc_vap = vap; 
    107107        ctx->cc_ic = vap->iv_ic; 
    108         ctx->cc_tfm = crypto_alloc_tfm("aes", 0); 
    109         if (ctx->cc_tfm == NULL) { 
    110                 FREE(ctx, M_DEVBUF); 
    111                 _MOD_DEC_USE(THIS_MODULE); 
    112                 return NULL; 
    113         } 
    114108        return ctx; 
    115109} 
    116110 
     
    137131                        __func__, k->wk_keylen, 128 / NBBY); 
    138132                return 0; 
    139133        } 
    140         if (k->wk_flags & IEEE80211_KEY_SWCRYPT) 
     134 
     135        if (k->wk_flags & IEEE80211_KEY_SWCRYPT) { 
     136                if (ctx->cc_tfm == NULL) 
     137                        ctx->cc_tfm = crypto_alloc_tfm("aes", 0); 
     138 
     139                if (ctx->cc_tfm == NULL) { 
     140                        IEEE80211_DPRINTF(ctx->cc_vap, IEEE80211_MSG_CRYPTO, 
     141                                "%s: Tried to add a software crypto key, but no software crypto available\n", 
     142                                __func__); 
     143                 
     144                        return 0; 
     145                } 
     146 
    141147                crypto_cipher_setkey(ctx->cc_tfm, k->wk_key, k->wk_keylen); 
     148        } 
    142149        return 1; 
    143150} 
    144151