Re: 2.6.19-rc2: ieee80211/ipw2200 regression

From: Patrick McHardy
Date: Mon Oct 23 2006 - 12:09:32 EST


Alistair John Strachan wrote:
> On Monday 23 October 2006 16:53, Alistair John Strachan wrote:
>
>>On Monday 23 October 2006 16:45, Patrick McHardy wrote:
>>
>>>Alistair John Strachan wrote:
>>>
>>>>Tried compiling as a module too and the ieee80211 system doesn't load
>>>>arc4.ko before bailing out. If I reboot, load it myself and try again,
>>>>it still doesn't work.
>>>
>>>Do you have CONFIG_CRYPTO_ECB enabled? I think this patch is needed.
>>
>>Good catch, I did need this and it wasn't enabled.
>>
>>Thanks Patrick. From a quick grep of the tree for ecb(, I think
>>CONFIG_PPP_MPPE and IEEE80211_CRYPT_TKIP will also need a similar patch.
>
>
> Patrick, these also need CRYPTO_MANAGER, or it still doesn't work. With
> CRYPTO_MANAGER, CRYPTO_ECB and CRYPTO_ARC4, ieee80211 WEP starts working
> again.

CRYPTO_MANAGER is selected automatically by CONFIG_ECB and CONFIG_CBC.

config CRYPTO_ECB
tristate "ECB support"
select CRYPTO_BLKCIPHER
select CRYPTO_MANAGER


I've added CONFIG_ECB to the ones you mentioned and CONFIG_CBC to
gssapi.

Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index e2ed249..e38846e 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -2717,6 +2717,7 @@ config PPP_MPPE
select CRYPTO
select CRYPTO_SHA1
select CRYPTO_ARC4
+ select CRYPTO_ECB
---help---
Support for the MPPE Encryption protocol, as employed by the
Microsoft Point-to-Point Tunneling Protocol.
diff --git a/fs/Kconfig b/fs/Kconfig
index fee318e..133dcc8 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -1777,6 +1777,7 @@ config RPCSEC_GSS_KRB5
select CRYPTO
select CRYPTO_MD5
select CRYPTO_DES
+ select CRYPTO_CBC
help
Provides for secure RPC calls by means of a gss-api
mechanism based on Kerberos V5. This is required for
@@ -1795,6 +1796,7 @@ config RPCSEC_GSS_SPKM3
select CRYPTO_MD5
select CRYPTO_DES
select CRYPTO_CAST5
+ select CRYPTO_CBC
help
Provides for secure RPC calls by means of a gss-api
mechanism based on the SPKM3 public-key mechanism.
diff --git a/net/ieee80211/Kconfig b/net/ieee80211/Kconfig
index f7e84e9..a64be6c 100644
--- a/net/ieee80211/Kconfig
+++ b/net/ieee80211/Kconfig
@@ -32,6 +32,7 @@ config IEEE80211_CRYPT_WEP
depends on IEEE80211
select CRYPTO
select CRYPTO_ARC4
+ select CRYPTO_ECB
select CRC32
---help---
Include software based cipher suites in support of IEEE
@@ -58,6 +59,7 @@ config IEEE80211_CRYPT_TKIP
depends on IEEE80211 && NET_RADIO
select CRYPTO
select CRYPTO_MICHAEL_MIC
+ select CRYPTO_ECB
select CRC32
---help---
Include software based cipher suites in support of IEEE 802.11i