X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/518a18b3e5f3834a3cdddf8a0fd08170d26997bf..96266367b7d0b9442c510b4c76a2b7d768c1f717:/package/kernel/modules/crypto.mk diff --git a/package/kernel/modules/crypto.mk b/package/kernel/modules/crypto.mk index 66e561494..9351056b7 100644 --- a/package/kernel/modules/crypto.mk +++ b/package/kernel/modules/crypto.mk @@ -1,5 +1,5 @@ # -# Copyright (C) 2006 OpenWrt.org +# Copyright (C) 2006-2008 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -8,15 +8,27 @@ CRYPTO_MENU:=Cryptographic API modules -# XXX: added CRYPTO_GENERIC as a workaround for modules renamed in 2.6.24: -# - aes > aes_generic -# - des > des_generic -# - sha1 > sha1_generic -# - sha256 > sha256_generic -ifeq ($(KERNEL_PATCHVER),2.6.24) +# XXX: added workarounds for modules renamed in 2.6 series: +# - aes > aes_generic (2.6.24) +# - blkcipher -> crypto_blkcipher (2.6.25) +# - des > des_generic (2.6.24) +# - sha1 > sha1_generic (2.6.24) +# - sha256 > sha256_generic (2.6.24) +# - sha512 > sha512_generic (2.6.26) +ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.24)),1) CRYPTO_GENERIC:=_generic + AES_SUFFIX:=$(CRYPTO_GENERIC) + DES_SUFFIX:=$(CRYPTO_GENERIC) + SHA1_SUFFIX:=$(CRYPTO_GENERIC) + SHA256_SUFFIX:=$(CRYPTO_GENERIC) +endif +ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.25)),1) + CRYPTO_PREFIX:=crypto_ + BLKCIPHER_PREFIX:=$(CRYPTO_PREFIX) +endif +ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.26)),1) + SHA512_SUFFIX:=$(CRYPTO_GENERIC) endif - # XXX: added CONFIG_CRYPTO_HMAC to KCONFIG so that CONFIG_CRYPTO_HASH is # always set, even if no hash modules are selected @@ -35,7 +47,7 @@ define KernelPackage/crypto-core CONFIG_CRYPTO_MANAGER FILES:= \ $(LINUX_DIR)/crypto/crypto_algapi.$(LINUX_KMOD_SUFFIX) \ - $(LINUX_DIR)/crypto/blkcipher.$(LINUX_KMOD_SUFFIX) \ + $(LINUX_DIR)/crypto/$(BLKCIPHER_PREFIX)blkcipher.$(LINUX_KMOD_SUFFIX) \ $(LINUX_DIR)/crypto/cbc.$(LINUX_KMOD_SUFFIX) \ $(LINUX_DIR)/crypto/deflate.$(LINUX_KMOD_SUFFIX) \ $(LINUX_DIR)/crypto/ecb.$(LINUX_KMOD_SUFFIX) \ @@ -45,7 +57,7 @@ define KernelPackage/crypto-core crypto_algapi \ cryptomgr \ crypto_hash \ - blkcipher \ + $(BLKCIPHER_PREFIX)blkcipher \ cbc \ ecb \ deflate \ @@ -64,17 +76,15 @@ define KernelPackage/crypto-aes SUBMENU:=$(CRYPTO_MENU) TITLE:=AES cipher CryptoAPI module DEPENDS:=+kmod-crypto-core - KCONFIG:= \ - CONFIG_CRYPTO_AES \ - CONFIG_CRYPTO_AES_586 - FILES:=$(LINUX_DIR)/crypto/aes$(CRYPTO_GENERIC).$(LINUX_KMOD_SUFFIX) - AUTOLOAD:=$(call AutoLoad,09,aes$(CRYPTO_GENERIC)) + KCONFIG:=CONFIG_CRYPTO_AES + FILES:=$(LINUX_DIR)/crypto/aes$(AES_SUFFIX).$(LINUX_KMOD_SUFFIX) + AUTOLOAD:=$(call AutoLoad,09,aes$(AES_SUFFIX)) endef define KernelPackage/crypto-aes/x86-2.6 - KCONFIG:=CONFIG_CRYPTO_AES_586 - FILES:=$(LINUX_DIR)/arch/i386/crypto/aes-i586.$(LINUX_KMOD_SUFFIX) - AUTOLOAD:=$(call AutoLoad,09,aes-i586) + KCONFIG+=CONFIG_CRYPTO_AES_586 + FILES+=$(LINUX_DIR)/arch/x86/crypto/aes-i586.$(LINUX_KMOD_SUFFIX) + AUTOLOAD:=$(call AutoLoad,09,aes$(AES_SUFFIX) aes-i586) endef $(eval $(call KernelPackage,crypto-aes)) @@ -92,13 +102,35 @@ endef $(eval $(call KernelPackage,crypto-arc4)) +define KernelPackage/crypto-aead + SUBMENU:=$(CRYPTO_MENU) + TITLE:=Authenticated Encryption with Associated Data + DEPENDS:=+kmod-crypto-core + KCONFIG:=CONFIG_CRYPTO_AEAD + FILES:=$(LINUX_DIR)/crypto/aead.$(LINUX_KMOD_SUFFIX) + AUTOLOAD:=$(call AutoLoad,09,aead) +endef + +$(eval $(call KernelPackage,crypto-aead)) + +define KernelPackage/crypto-authenc + SUBMENU:=$(CRYPTO_MENU) + TITLE:=Combined mode wrapper for IPsec + DEPENDS:=+kmod-crypto-core +kmod-crypto-aead + KCONFIG:=CONFIG_CRYPTO_AUTHENC + FILES:=$(LINUX_DIR)/crypto/authenc.$(LINUX_KMOD_SUFFIX) + AUTOLOAD:=$(call AutoLoad,09,authenc) +endef + +$(eval $(call KernelPackage,crypto-authenc)) + define KernelPackage/crypto-des SUBMENU:=$(CRYPTO_MENU) TITLE:=DES/3DES cipher CryptoAPI module DEPENDS:=+kmod-crypto-core KCONFIG:=CONFIG_CRYPTO_DES - FILES:=$(LINUX_DIR)/crypto/des$(CRYPTO_GENERIC).$(LINUX_KMOD_SUFFIX) - AUTOLOAD:=$(call AutoLoad,09,des$(CRYPTO_GENERIC)) + FILES:=$(LINUX_DIR)/crypto/des$(DES_SUFFIX).$(LINUX_KMOD_SUFFIX) + AUTOLOAD:=$(call AutoLoad,09,des$(DES_SUFFIX)) endef $(eval $(call KernelPackage,crypto-des)) @@ -145,8 +177,8 @@ define KernelPackage/crypto-sha1 TITLE:=SHA1 digest CryptoAPI module DEPENDS:=+kmod-crypto-core KCONFIG:=CONFIG_CRYPTO_SHA1 - FILES:=$(LINUX_DIR)/crypto/sha1$(CRYPTO_GENERIC).$(LINUX_KMOD_SUFFIX) - AUTOLOAD:=$(call AutoLoad,09,sha1$(CRYPTO_GENERIC)) + FILES:=$(LINUX_DIR)/crypto/sha1$(SHA1_SUFFIX).$(LINUX_KMOD_SUFFIX) + AUTOLOAD:=$(call AutoLoad,09,sha1$(SHA1_SUFFIX)) endef $(eval $(call KernelPackage,crypto-sha1)) @@ -182,8 +214,8 @@ define KernelPackage/crypto-misc $(LINUX_DIR)/crypto/khazad.$(LINUX_KMOD_SUFFIX) \ $(LINUX_DIR)/crypto/md4.$(LINUX_KMOD_SUFFIX) \ $(LINUX_DIR)/crypto/serpent.$(LINUX_KMOD_SUFFIX) \ - $(LINUX_DIR)/crypto/sha256$(CRYPTO_GENERIC).$(LINUX_KMOD_SUFFIX) \ - $(LINUX_DIR)/crypto/sha512.$(LINUX_KMOD_SUFFIX) \ + $(LINUX_DIR)/crypto/sha256$(SHA256_SUFFIX).$(LINUX_KMOD_SUFFIX) \ + $(LINUX_DIR)/crypto/sha512$(SHA512_SUFFIX).$(LINUX_KMOD_SUFFIX) \ $(LINUX_DIR)/crypto/tea.$(LINUX_KMOD_SUFFIX) \ $(LINUX_DIR)/crypto/twofish.$(LINUX_KMOD_SUFFIX) \ $(LINUX_DIR)/crypto/wp512.$(LINUX_KMOD_SUFFIX) @@ -199,6 +231,29 @@ endef $(eval $(call KernelPackage,crypto-misc)) +define KernelPackage/crypto-ocf + SUBMENU:=$(CRYPTO_MENU) + TITLE:=OCF modules + DEPENDS:=+kmod-crypto-core @!TARGET_uml + KCONFIG:= \ + CONFIG_OCF_OCF \ + CONFIG_OCF_CRYPTODEV \ + CONFIG_OCF_CRYPTOSOFT \ + CONFIG_OCF_FIPS=y \ + CONFIG_OCF_RANDOMHARVEST=y + FILES:= \ + $(LINUX_DIR)/crypto/ocf/ocf.$(LINUX_KMOD_SUFFIX) \ + $(LINUX_DIR)/crypto/ocf/cryptodev.$(LINUX_KMOD_SUFFIX) \ + $(LINUX_DIR)/crypto/ocf/cryptosoft.$(LINUX_KMOD_SUFFIX) + AUTOLOAD:=$(call AutoLoad,09, \ + ocf \ + cryptodev \ + cryptosoft \ + ) +endef + +$(eval $(call KernelPackage,crypto-ocf)) + define KernelPackage/crypto-null SUBMENU:=$(CRYPTO_MENU) @@ -216,7 +271,7 @@ define KernelPackage/crypto-test SUBMENU:=$(CRYPTO_MENU) TITLE:=Test CryptoAPI module DEPENDS:=+kmod-crypto-core - KCONFIG:=CONFIG_CRYPTO_NULL + KCONFIG:=CONFIG_CRYPTO_TEST FILES:=$(LINUX_DIR)/crypto/tcrypt.$(LINUX_KMOD_SUFFIX) AUTOLOAD:=$(call AutoLoad,09,tcrypt) endef