mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-19 15:32:59 +02:00
Add cryptodev support to kernel.
This commit is contained in:
@@ -70,6 +70,7 @@ $(subst %,%_MD5,$(objects)) :
|
||||
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
|
||||
@$(PREBUILD)
|
||||
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/openssl-0.9.8k-cryptodev.diff
|
||||
ifeq "$(PADLOCK)" "1"
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/openssl-0.9.8g-engine-padlock.patch
|
||||
endif
|
||||
|
||||
101
src/patches/openssl-0.9.8k-cryptodev.diff
Normal file
101
src/patches/openssl-0.9.8k-cryptodev.diff
Normal file
@@ -0,0 +1,101 @@
|
||||
diff -ur openssl-0.9.8k/crypto/engine/eng_all.c openssl-0.9.8k.new/crypto/engine/eng_all.c
|
||||
--- openssl-0.9.8k/crypto/engine/eng_all.c 2008-06-04 21:01:39.000000000 +0300
|
||||
+++ openssl-0.9.8k.new/crypto/engine/eng_all.c 2009-11-24 13:41:49.000000000 +0200
|
||||
@@ -104,16 +104,15 @@
|
||||
#endif
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_HW
|
||||
-#if defined(__OpenBSD__) || defined(__FreeBSD__)
|
||||
+# if (OpenBSD >= 200112) || ((__FreeBSD_version >= 470101 && __FreeBSD_version < 500000) || __FreeBSD_version >= 500041) || defined(__linux__)
|
||||
ENGINE_load_cryptodev();
|
||||
-#endif
|
||||
+# endif
|
||||
#if defined(OPENSSL_SYS_WIN32) && !defined(OPENSSL_NO_CAPIENG)
|
||||
ENGINE_load_capi();
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
-#if defined(__OpenBSD__) || defined(__FreeBSD__)
|
||||
void ENGINE_setup_bsd_cryptodev(void) {
|
||||
static int bsd_cryptodev_default_loaded = 0;
|
||||
if (!bsd_cryptodev_default_loaded) {
|
||||
@@ -122,4 +121,3 @@
|
||||
}
|
||||
bsd_cryptodev_default_loaded=1;
|
||||
}
|
||||
-#endif
|
||||
diff -ur openssl-0.9.8k/crypto/engine/eng_cryptodev.c openssl-0.9.8k.new/crypto/engine/eng_cryptodev.c
|
||||
--- openssl-0.9.8k/crypto/engine/eng_cryptodev.c 2004-06-15 14:45:42.000000000 +0300
|
||||
+++ openssl-0.9.8k.new/crypto/engine/eng_cryptodev.c 2009-11-24 13:45:31.000000000 +0200
|
||||
@@ -34,14 +34,15 @@
|
||||
#if (defined(__unix__) || defined(unix)) && !defined(USG) && \
|
||||
(defined(OpenBSD) || defined(__FreeBSD_version))
|
||||
#include <sys/param.h>
|
||||
-# if (OpenBSD >= 200112) || ((__FreeBSD_version >= 470101 && __FreeBSD_version < 500000) || __FreeBSD_version >= 500041)
|
||||
-# define HAVE_CRYPTODEV
|
||||
-# endif
|
||||
# if (OpenBSD >= 200110)
|
||||
# define HAVE_SYSLOG_R
|
||||
# endif
|
||||
#endif
|
||||
|
||||
+#if (OpenBSD >= 200112) || ((__FreeBSD_version >= 470101 && __FreeBSD_version < 500000) || __FreeBSD_version >= 500041) || defined(__linux__)
|
||||
+# define HAVE_CRYPTODEV
|
||||
+#endif
|
||||
+
|
||||
#ifndef HAVE_CRYPTODEV
|
||||
|
||||
void
|
||||
@@ -54,7 +55,12 @@
|
||||
#else
|
||||
|
||||
#include <sys/types.h>
|
||||
-#include <crypto/cryptodev.h>
|
||||
+#if defined(__linux__)
|
||||
+# include <linux/cryptodev.h>
|
||||
+# define HAVE_CRYPTODEV_NAME
|
||||
+#else
|
||||
+# include <crypto/cryptodev.h>
|
||||
+#endif
|
||||
#include <sys/ioctl.h>
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
@@ -77,7 +83,11 @@
|
||||
static int get_dev_crypto(void);
|
||||
static int cryptodev_max_iv(int cipher);
|
||||
static int cryptodev_key_length_valid(int cipher, int len);
|
||||
-static int cipher_nid_to_cryptodev(int nid);
|
||||
+#ifndef HAVE_CRYPTODEV_NAME
|
||||
+ static int cipher_nid_to_cryptodev(int nid);
|
||||
+#else
|
||||
+ static char *cipher_nid_to_cryptodev_name(int nid);
|
||||
+#endif
|
||||
static int get_cryptodev_ciphers(const int **cnids);
|
||||
static int get_cryptodev_digests(const int **cnids);
|
||||
static int cryptodev_usable_ciphers(const int **nids);
|
||||
diff -ur openssl-0.9.8k/crypto/engine/engine.h openssl-0.9.8k.new/crypto/engine/engine.h
|
||||
--- openssl-0.9.8k/crypto/engine/engine.h 2008-06-04 21:01:40.000000000 +0300
|
||||
+++ openssl-0.9.8k.new/crypto/engine/engine.h 2009-11-24 13:41:49.000000000 +0200
|
||||
@@ -703,9 +703,7 @@
|
||||
* values. */
|
||||
void *ENGINE_get_static_state(void);
|
||||
|
||||
-#if defined(__OpenBSD__) || defined(__FreeBSD__)
|
||||
void ENGINE_setup_bsd_cryptodev(void);
|
||||
-#endif
|
||||
|
||||
/* BEGIN ERROR CODES */
|
||||
/* The following lines are auto generated by the script mkerr.pl. Any changes
|
||||
diff -ur openssl-0.9.8k/crypto/evp/c_all.c openssl-0.9.8k.new/crypto/evp/c_all.c
|
||||
--- openssl-0.9.8k/crypto/evp/c_all.c 2004-08-29 19:36:04.000000000 +0300
|
||||
+++ openssl-0.9.8k.new/crypto/evp/c_all.c 2009-11-24 13:41:49.000000000 +0200
|
||||
@@ -83,8 +83,6 @@
|
||||
OpenSSL_add_all_ciphers();
|
||||
OpenSSL_add_all_digests();
|
||||
#ifndef OPENSSL_NO_ENGINE
|
||||
-# if defined(__OpenBSD__) || defined(__FreeBSD__)
|
||||
ENGINE_setup_bsd_cryptodev();
|
||||
-# endif
|
||||
#endif
|
||||
}
|
||||
Reference in New Issue
Block a user