1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-11-02 23:02:50 +02:00
openwrt-xburst/package/madwifi/patches/105-no_forced_aes_dep.patch
nbd 6153720350 madwifi: remove the hard dependency on kernel aes support - only needed for software crypto
git-svn-id: svn://svn.openwrt.org/openwrt/branches/buildroot-ng/openwrt@3934 3c298f89-4303-0410-b956-a3cf2f4a3e73
2006-06-12 20:42:11 +00:00

40 lines
1.0 KiB
Diff

diff -urN madwifi.old/net80211/ieee80211_crypto_ccmp.c madwifi.dev/net80211/ieee80211_crypto_ccmp.c
--- madwifi.old/net80211/ieee80211_crypto_ccmp.c 2006-02-06 21:20:57.000000000 +0100
+++ madwifi.dev/net80211/ieee80211_crypto_ccmp.c 2006-06-12 22:29:23.000000000 +0200
@@ -105,12 +105,6 @@
ctx->cc_vap = vap;
ctx->cc_ic = vap->iv_ic;
- ctx->cc_tfm = crypto_alloc_tfm("aes", 0);
- if (ctx->cc_tfm == NULL) {
- FREE(ctx, M_DEVBUF);
- _MOD_DEC_USE(THIS_MODULE);
- return NULL;
- }
return ctx;
}
@@ -137,8 +131,21 @@
__func__, k->wk_keylen, 128 / NBBY);
return 0;
}
- if (k->wk_flags & IEEE80211_KEY_SWCRYPT)
+
+ if (k->wk_flags & IEEE80211_KEY_SWCRYPT) {
+ if (ctx->cc_tfm == NULL)
+ ctx->cc_tfm = crypto_alloc_tfm("aes", 0);
+
+ if (ctx->cc_tfm == NULL) {
+ IEEE80211_DPRINTF(ctx->cc_vap, IEEE80211_MSG_CRYPTO,
+ "%s: Tried to add a software crypto key, but no software crypto available\n",
+ __func__);
+
+ return 0;
+ }
+
crypto_cipher_setkey(ctx->cc_tfm, k->wk_key, k->wk_keylen);
+ }
return 1;
}