summaryrefslogtreecommitdiff
path: root/openwrt
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2006-06-12 20:42:11 +0000
committerFelix Fietkau <nbd@openwrt.org>2006-06-12 20:42:11 +0000
commite29845fcb8c0f9b1246b1b17e1c54d916f4014e1 (patch)
tree8335c63c7093eb05dd0329469fbad17df073bac7 /openwrt
parentb378b1d490b667efd6c61a2d25cb9cd7cda7e265 (diff)
downloadmtk-20170518-e29845fcb8c0f9b1246b1b17e1c54d916f4014e1.zip
mtk-20170518-e29845fcb8c0f9b1246b1b17e1c54d916f4014e1.tar.gz
mtk-20170518-e29845fcb8c0f9b1246b1b17e1c54d916f4014e1.tar.bz2
madwifi: remove the hard dependency on kernel aes support - only needed for software crypto
SVN-Revision: 3934
Diffstat (limited to 'openwrt')
-rw-r--r--openwrt/package/madwifi/patches/105-no_forced_aes_dep.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/openwrt/package/madwifi/patches/105-no_forced_aes_dep.patch b/openwrt/package/madwifi/patches/105-no_forced_aes_dep.patch
new file mode 100644
index 0000000..fa439c6
--- /dev/null
+++ b/openwrt/package/madwifi/patches/105-no_forced_aes_dep.patch
@@ -0,0 +1,39 @@
+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;
+ }
+