From f3112b06d2421cf9fed21605bd0950ec7d379f3a Mon Sep 17 00:00:00 2001
From: Luka Perkov <luka@openwrt.org>
Date: Wed, 11 Jul 2012 23:38:16 +0000
Subject: [PATCH] openssl: enable the use of cryptodev digests

SVN-Revision: 32673
---
 package/kernel/modules/crypto.mk | 6 +++---
 package/openssl/Config.in        | 7 ++++++-
 package/openssl/Makefile         | 9 ++++++---
 3 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/package/kernel/modules/crypto.mk b/package/kernel/modules/crypto.mk
index eb256be740..f9ce8f96da 100644
--- a/package/kernel/modules/crypto.mk
+++ b/package/kernel/modules/crypto.mk
@@ -393,7 +393,7 @@ $(eval $(call KernelPackage,crypto-misc))
 
 define KernelPackage/crypto-ocf
   TITLE:=OCF modules
-  DEPENDS:=+@OPENSSL_ENGINE @!TARGET_uml +kmod-crypto-manager
+  DEPENDS:=+@OPENSSL_ENGINE_CRYPTO @!TARGET_uml +kmod-crypto-manager
   KCONFIG:= \
 	CONFIG_OCF_OCF \
 	CONFIG_OCF_CRYPTODEV \
@@ -417,7 +417,7 @@ $(eval $(call KernelPackage,crypto-ocf))
 
 define KernelPackage/crypto-ocf-hifn7751
   TITLE:=OCF support for Hifn 6500/7751/7811/795x, Invertex AEON and NetSec 7751 devices
-  DEPENDS:=+@OPENSSL_ENGINE @PCI_SUPPORT @!TARGET_uml kmod-crypto-ocf
+  DEPENDS:=+@OPENSSL_ENGINE_CRYPTO @PCI_SUPPORT @!TARGET_uml kmod-crypto-ocf
   KCONFIG:=CONFIG_OCF_HIFN
   FILES:=$(LINUX_DIR)/crypto/ocf/hifn/hifn7751.ko
   AUTOLOAD:=$(call AutoLoad,10,hifn7751)
@@ -429,7 +429,7 @@ $(eval $(call KernelPackage,crypto-ocf-hifn7751))
 
 define KernelPackage/crypto-ocf-hifnhipp
   TITLE:=OCF support for Hifn 7855/8155 devices
-  DEPENDS:=+@OPENSSL_ENGINE @PCI_SUPPORT @!TARGET_uml kmod-crypto-ocf
+  DEPENDS:=+@OPENSSL_ENGINE_CRYPTO @PCI_SUPPORT @!TARGET_uml kmod-crypto-ocf
   KCONFIG:=CONFIG_OCF_HIFNHIPP
   FILES:=$(LINUX_DIR)/crypto/ocf/hifn/hifnHIPP.ko
   AUTOLOAD:=$(call AutoLoad,10,hifnHIPP)
diff --git a/package/openssl/Config.in b/package/openssl/Config.in
index 1d310bdb5d..11591de047 100644
--- a/package/openssl/Config.in
+++ b/package/openssl/Config.in
@@ -1,8 +1,13 @@
 menu "Configuration"
 	depends on PACKAGE_libopenssl
 
-config OPENSSL_ENGINE
+config OPENSSL_ENGINE_CRYPTO
 	bool
 	prompt "Crypto acceleration support"
 
+config OPENSSL_ENGINE_DIGEST
+	bool
+	depends OPENSSL_ENGINE_CRYPTO
+	prompt "Digests acceleration support"
+
 endmenu
diff --git a/package/openssl/Makefile b/package/openssl/Makefile
index 7043aeeb18..d95783aac9 100644
--- a/package/openssl/Makefile
+++ b/package/openssl/Makefile
@@ -19,7 +19,7 @@ PKG_SOURCE_URL:=http://www.openssl.org/source/ \
 PKG_MD5SUM:=ae412727c8c15b67880aef7bd2999b2e
 
 PKG_BUILD_DEPENDS:=ocf-crypto-headers
-PKG_CONFIG_DEPENDS:=CONFIG_OPENSSL_ENGINE
+PKG_CONFIG_DEPENDS:=CONFIG_OPENSSL_ENGINE_CRYPTO CONFIG_OPENSSL_ENGINE_DIGEST
 
 include $(INCLUDE_DIR)/package.mk
 
@@ -73,11 +73,14 @@ endef
 
 
 OPENSSL_NO_CIPHERS:= no-idea no-md2 no-mdc2 no-rc5 no-sha0 no-smime \
-					no-rmd160 no-aes192 no-ripemd no-camellia no-ans1 no-krb5
+	no-rmd160 no-aes192 no-ripemd no-camellia no-ans1 no-krb5
 OPENSSL_OPTIONS:= shared no-ec no-err no-hw no-threads zlib-dynamic no-sse2
 
-ifdef CONFIG_OPENSSL_ENGINE
+ifdef CONFIG_OPENSSL_ENGINE_CRYPTO
   OPENSSL_OPTIONS += -DHAVE_CRYPTODEV
+  ifdef CONFIG_OPENSSL_ENGINE_DIGEST
+    OPENSSL_OPTIONS += -DUSE_CRYPTODEV_DIGESTS
+  endif
 else
   OPENSSL_OPTIONS += no-engines
 endif
-- 
GitLab