aboutsummaryrefslogtreecommitdiffstats
path: root/src/engine/openssl
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/openssl')
-rw-r--r--src/engine/openssl/ossl_bc.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/engine/openssl/ossl_bc.cpp b/src/engine/openssl/ossl_bc.cpp
index dd6bb38db..9c85439ca 100644
--- a/src/engine/openssl/ossl_bc.cpp
+++ b/src/engine/openssl/ossl_bc.cpp
@@ -176,7 +176,7 @@ OpenSSL_Engine::find_block_cipher(const SCAN_Name& request,
if(request.algo_name() == NAME && request.arg_count() == 0) \
return new EVP_BlockCipher(EVP, NAME, MIN, MAX, MOD);
-#if 0 && !defined(OPENSSL_NO_AES)
+#if !defined(OPENSSL_NO_AES)
/*
Using OpenSSL's AES causes crashes inside EVP on x86-64 with OpenSSL 0.9.8g
cause is unknown
@@ -203,6 +203,12 @@ OpenSSL_Engine::find_block_cipher(const SCAN_Name& request,
HANDLE_EVP_CIPHER_KEYLEN("RC2", EVP_rc2_ecb(), 1, 32, 1);
#endif
+#if !defined(OPENSSL_NO_RC5)
+ if(request.algo_name() == "RC5")
+ if(request.arg_as_u32bit(0, 12) == 12)
+ return new EVP_BlockCipher(EVP_rc5_32_12_16_ecb(), "RC5(12)", 1, 32, 1);
+#endif
+
#if !defined(OPENSSL_NO_IDEA)
HANDLE_EVP_CIPHER("IDEA", EVP_idea_ecb());
#endif