The OpenBSD project has replaced the first implementation of the /dev/crypto
engine with something they claim is better. I have nothing to compare to, and I assume they know what they're talking about. The interesting part with this one is that it's loaded by default on OpenBSD systems. This change was originally introduced in OpenBSD's tracking of OpenSSL.
This commit is contained in:
@@ -28,13 +28,13 @@ LIBSRC= eng_err.c eng_lib.c eng_list.c eng_init.c eng_ctrl.c \
|
||||
tb_rsa.c tb_dsa.c tb_ecdsa.c tb_dh.c tb_rand.c tb_cipher.c tb_digest.c tb_ecdh.c \
|
||||
eng_openssl.c eng_dyn.c eng_cnf.c \
|
||||
hw_atalla.c hw_cswift.c hw_ncipher.c hw_nuron.c hw_ubsec.c \
|
||||
hw_openbsd_dev_crypto.c hw_aep.c hw_sureware.c hw_4758_cca.c
|
||||
hw_cryptodev.c hw_aep.c hw_sureware.c hw_4758_cca.c
|
||||
LIBOBJ= eng_err.o eng_lib.o eng_list.o eng_init.o eng_ctrl.o \
|
||||
eng_table.o eng_pkey.o eng_fat.o eng_all.o \
|
||||
tb_rsa.o tb_dsa.o tb_ecdsa.o tb_dh.o tb_rand.o tb_cipher.o tb_digest.o tb_ecdh.o \
|
||||
eng_openssl.o eng_dyn.o eng_cnf.o \
|
||||
hw_atalla.o hw_cswift.o hw_ncipher.o hw_nuron.o hw_ubsec.o \
|
||||
hw_openbsd_dev_crypto.o hw_aep.o hw_sureware.o hw_4758_cca.o
|
||||
hw_cryptodev.o hw_aep.o hw_sureware.o hw_4758_cca.o
|
||||
|
||||
SRC= $(LIBSRC)
|
||||
|
||||
|
||||
@@ -95,8 +95,19 @@ void ENGINE_load_builtin_engines(void)
|
||||
#ifndef OPENSSL_NO_HW_4758_CCA
|
||||
ENGINE_load_4758cca();
|
||||
#endif
|
||||
#ifdef OPENSSL_OPENBSD_DEV_CRYPTO
|
||||
ENGINE_load_openbsd_dev_crypto();
|
||||
#ifdef __OpenBSD__
|
||||
ENGINE_load_cryptodev();
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef __OpenBSD__
|
||||
void ENGINE_setup_openbsd(void) {
|
||||
static int openbsd_default_loaded = 0;
|
||||
if (!openbsd_default_loaded) {
|
||||
ENGINE_load_cryptodev();
|
||||
ENGINE_register_all_complete();
|
||||
}
|
||||
openbsd_default_loaded=1;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -326,7 +326,7 @@ void ENGINE_load_ubsec(void);
|
||||
void ENGINE_load_aep(void);
|
||||
void ENGINE_load_sureware(void);
|
||||
void ENGINE_load_4758cca(void);
|
||||
void ENGINE_load_openbsd_dev_crypto(void);
|
||||
void ENGINE_load_cryptodev(void);
|
||||
void ENGINE_load_builtin_engines(void);
|
||||
|
||||
/* Get and set global flags (ENGINE_TABLE_FLAG_***) for the implementation
|
||||
|
||||
1117
crypto/engine/hw_cryptodev.c
Normal file
1117
crypto/engine/hw_cryptodev.c
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user