aboutsummaryrefslogtreecommitdiffstats
path: root/src/engine
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine')
-rw-r--r--src/engine/openssl/ossl_md.cpp10
-rw-r--r--src/engine/sse2_eng/eng_sse2.cpp23
-rw-r--r--src/engine/sse2_eng/eng_sse2.h5
-rw-r--r--src/engine/sse2_eng/info.txt9
4 files changed, 42 insertions, 5 deletions
diff --git a/src/engine/openssl/ossl_md.cpp b/src/engine/openssl/ossl_md.cpp
index 08672cfc8..7c8fb678c 100644
--- a/src/engine/openssl/ossl_md.cpp
+++ b/src/engine/openssl/ossl_md.cpp
@@ -95,20 +95,30 @@ EVP_HashFunction::~EVP_HashFunction()
HashFunction* OpenSSL_Engine::find_hash(const SCAN_Name& request,
Algorithm_Factory&) const
{
+#ifndef OPENSSL_NO_SHA
if(request.algo_name() == "SHA-160")
return new EVP_HashFunction(EVP_sha1(), "SHA-160");
+#endif
+#ifndef OPENSSL_NO_MD2
if(request.algo_name() == "MD2")
return new EVP_HashFunction(EVP_md2(), "MD2");
+#endif
+#ifndef OPENSSL_NO_MD4
if(request.algo_name() == "MD4")
return new EVP_HashFunction(EVP_md4(), "MD4");
+#endif
+#ifndef OPENSSL_NO_MD5
if(request.algo_name() == "MD5")
return new EVP_HashFunction(EVP_md5(), "MD5");
+#endif
+#ifndef OPENSSL_NO_RIPEMD
if(request.algo_name() == "RIPEMD-160")
return new EVP_HashFunction(EVP_ripemd160(), "RIPEMD-160");
+#endif
return 0;
}
diff --git a/src/engine/sse2_eng/eng_sse2.cpp b/src/engine/sse2_eng/eng_sse2.cpp
index c738b3d96..9f68a070e 100644
--- a/src/engine/sse2_eng/eng_sse2.cpp
+++ b/src/engine/sse2_eng/eng_sse2.cpp
@@ -1,6 +1,6 @@
/**
* SSE2 Assembly Engine
-* (C) 1999-2008 Jack Lloyd
+* (C) 1999-2009 Jack Lloyd
*
* Distributed under the terms of the Botan license
*/
@@ -11,10 +11,27 @@
#include <botan/sha1_sse2.h>
#endif
+#if defined(BOTAN_HAS_SERPENT_SSE2)
+ #include <botan/serp_sse2.h>
+#endif
+
namespace Botan {
-HashFunction* SSE2_Assembler_Engine::find_hash(const SCAN_Name& request,
- Algorithm_Factory&) const
+BlockCipher*
+SSE2_Assembler_Engine::find_block_cipher(const SCAN_Name& request,
+ Algorithm_Factory&) const
+ {
+#if defined(BOTAN_HAS_SERPENT_SSE2)
+ if(request.algo_name() == "Serpent")
+ return new Serpent_SSE2;
+#endif
+
+ return 0;
+ }
+
+HashFunction*
+SSE2_Assembler_Engine::find_hash(const SCAN_Name& request,
+ Algorithm_Factory&) const
{
#if defined(BOTAN_HAS_SHA1_SSE2)
if(request.algo_name() == "SHA-160")
diff --git a/src/engine/sse2_eng/eng_sse2.h b/src/engine/sse2_eng/eng_sse2.h
index 129697e8f..c6b0ce889 100644
--- a/src/engine/sse2_eng/eng_sse2.h
+++ b/src/engine/sse2_eng/eng_sse2.h
@@ -1,6 +1,6 @@
/**
* SSE2 Assembly Engine
-* (C) 1999-2008 Jack Lloyd
+* (C) 1999-2009 Jack Lloyd
*
* Distributed under the terms of the Botan license
*/
@@ -17,6 +17,9 @@ class BOTAN_DLL SSE2_Assembler_Engine : public Engine
public:
std::string provider_name() const { return "sse2"; }
private:
+ BlockCipher* find_block_cipher(const SCAN_Name&,
+ Algorithm_Factory&) const;
+
HashFunction* find_hash(const SCAN_Name& reqeust,
Algorithm_Factory&) const;
};
diff --git a/src/engine/sse2_eng/info.txt b/src/engine/sse2_eng/info.txt
index 6242c7fee..7595b8eb5 100644
--- a/src/engine/sse2_eng/info.txt
+++ b/src/engine/sse2_eng/info.txt
@@ -10,6 +10,13 @@ eng_sse2.h
</add>
<arch>
-ia32
+pentium-m
+pentium4
+prescott
amd64
</arch>
+
+<cc>
+gcc
+icc
+</cc>