diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2006-06-12 20:42:11 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2006-06-12 20:42:11 +0000 |
commit | 6153720350c135f4c07c93181bac0e6e55ecda23 (patch) | |
tree | 2f55f0d34c1a0f7058e6675f91864ff4f3a2fd4b /package/madwifi/patches | |
parent | 27828bb0a4d584e1869ce8aadbe62131479f7f97 (diff) |
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
Diffstat (limited to 'package/madwifi/patches')
-rw-r--r-- | package/madwifi/patches/105-no_forced_aes_dep.patch | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/package/madwifi/patches/105-no_forced_aes_dep.patch b/package/madwifi/patches/105-no_forced_aes_dep.patch new file mode 100644 index 000000000..fa439c6e9 --- /dev/null +++ b/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; + } + |