aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlloyd <[email protected]>2008-09-28 18:30:25 +0000
committerlloyd <[email protected]>2008-09-28 18:30:25 +0000
commited39cde548c5cbff3896dc4c9ab5803d1334dd29 (patch)
tree2aff7e517a1e8bf239f601b938f6930c30783526
parentc9d4ef2b4500ff890c91e9dcaef61ad844a08782 (diff)
Modularize RNG implementations
-rw-r--r--modules/rng/randpool/modinfo.txt10
-rw-r--r--modules/rng/randpool/randpool.cpp (renamed from src/randpool.cpp)0
-rw-r--r--modules/rng/randpool/randpool.h (renamed from include/randpool.h)0
-rw-r--r--modules/rng/x931_rng/modinfo.txt14
-rw-r--r--modules/rng/x931_rng/x931_rng.cpp (renamed from src/x931_rng.cpp)0
-rw-r--r--modules/rng/x931_rng/x931_rng.h (renamed from include/x931_rng.h)0
-rw-r--r--src/def_alg.cpp296
-rw-r--r--src/def_mode.cpp42
-rw-r--r--src/get_enc.cpp72
-rw-r--r--src/rng.cpp23
10 files changed, 247 insertions, 210 deletions
diff --git a/modules/rng/randpool/modinfo.txt b/modules/rng/randpool/modinfo.txt
new file mode 100644
index 000000000..1b2f79b56
--- /dev/null
+++ b/modules/rng/randpool/modinfo.txt
@@ -0,0 +1,10 @@
+realname "Randpool RNG"
+
+define RANDPOOL
+
+load_on auto
+
+<add>
+randpool.cpp
+randpool.h
+</add>
diff --git a/src/randpool.cpp b/modules/rng/randpool/randpool.cpp
index 69ef3b9e7..69ef3b9e7 100644
--- a/src/randpool.cpp
+++ b/modules/rng/randpool/randpool.cpp
diff --git a/include/randpool.h b/modules/rng/randpool/randpool.h
index b68dec765..b68dec765 100644
--- a/include/randpool.h
+++ b/modules/rng/randpool/randpool.h
diff --git a/modules/rng/x931_rng/modinfo.txt b/modules/rng/x931_rng/modinfo.txt
new file mode 100644
index 000000000..79e436822
--- /dev/null
+++ b/modules/rng/x931_rng/modinfo.txt
@@ -0,0 +1,14 @@
+realname "ANSI X9.31 PRNG"
+
+define X931_RNG
+
+load_on auto
+
+<add>
+x931_rng.cpp
+x931_rng.h
+</add>
+
+<requires>
+randpool
+</requires>
diff --git a/src/x931_rng.cpp b/modules/rng/x931_rng/x931_rng.cpp
index f4b0f71a9..f4b0f71a9 100644
--- a/src/x931_rng.cpp
+++ b/modules/rng/x931_rng/x931_rng.cpp
diff --git a/include/x931_rng.h b/modules/rng/x931_rng/x931_rng.h
index 7914b605d..7914b605d 100644
--- a/include/x931_rng.h
+++ b/modules/rng/x931_rng/x931_rng.h
diff --git a/src/def_alg.cpp b/src/def_alg.cpp
index 285cca8f2..7bcc84378 100644
--- a/src/def_alg.cpp
+++ b/src/def_alg.cpp
@@ -10,202 +10,202 @@
#include <botan/par_hash.h>
#include <botan/mode_pad.h>
-#ifdef BOTAN_HAS_AES
- #include <botan/aes.h>
+#if defined(BOTAN_HAS_AES)
+ #include <botan/aes.h>
#endif
-#ifdef BOTAN_HAS_BLOWFISH
- #include <botan/blowfish.h>
+#if defined(BOTAN_HAS_BLOWFISH)
+ #include <botan/blowfish.h>
#endif
-#ifdef BOTAN_HAS_CAST
- #include <botan/cast128.h>
- #include <botan/cast256.h>
+#if defined(BOTAN_HAS_CAST)
+ #include <botan/cast128.h>
+ #include <botan/cast256.h>
#endif
-#ifdef BOTAN_HAS_DES
- #include <botan/des.h>
+#if defined(BOTAN_HAS_DES)
+ #include <botan/des.h>
#endif
-#ifdef BOTAN_HAS_GOST
- #include <botan/gost.h>
+#if defined(BOTAN_HAS_GOST)
+ #include <botan/gost.h>
#endif
-#ifdef BOTAN_HAS_IDEA
- #include <botan/idea.h>
+#if defined(BOTAN_HAS_IDEA)
+ #include <botan/idea.h>
#endif
-#ifdef BOTAN_HAS_KASUMI
- #include <botan/kasumi.h>
+#if defined(BOTAN_HAS_KASUMI)
+ #include <botan/kasumi.h>
#endif
-#ifdef BOTAN_HAS_LION
- #include <botan/lion.h>
+#if defined(BOTAN_HAS_LION)
+ #include <botan/lion.h>
#endif
-#ifdef BOTAN_HAS_LUBY_RACKOFF
- #include <botan/lubyrack.h>
+#if defined(BOTAN_HAS_LUBY_RACKOFF)
+ #include <botan/lubyrack.h>
#endif
-#ifdef BOTAN_HAS_MARS
- #include <botan/mars.h>
+#if defined(BOTAN_HAS_MARS)
+ #include <botan/mars.h>
#endif
-#ifdef BOTAN_HAS_MISTY1
- #include <botan/misty1.h>
+#if defined(BOTAN_HAS_MISTY1)
+ #include <botan/misty1.h>
#endif
-#ifdef BOTAN_HAS_NOEKEON
- #include <botan/noekeon.h>
+#if defined(BOTAN_HAS_NOEKEON)
+ #include <botan/noekeon.h>
#endif
-#ifdef BOTAN_HAS_RC2
- #include <botan/rc2.h>
+#if defined(BOTAN_HAS_RC2)
+ #include <botan/rc2.h>
#endif
-#ifdef BOTAN_HAS_RC5
- #include <botan/rc5.h>
+#if defined(BOTAN_HAS_RC5)
+ #include <botan/rc5.h>
#endif
-#ifdef BOTAN_HAS_RC6
- #include <botan/rc6.h>
+#if defined(BOTAN_HAS_RC6)
+ #include <botan/rc6.h>
#endif
-#ifdef BOTAN_HAS_SAFER
- #include <botan/safer_sk.h>
+#if defined(BOTAN_HAS_SAFER)
+ #include <botan/safer_sk.h>
#endif
-#ifdef BOTAN_HAS_SEED
- #include <botan/seed.h>
+#if defined(BOTAN_HAS_SEED)
+ #include <botan/seed.h>
#endif
-#ifdef BOTAN_HAS_SERPENT
- #include <botan/serpent.h>
+#if defined(BOTAN_HAS_SERPENT)
+ #include <botan/serpent.h>
#endif
-#ifdef BOTAN_HAS_SKIPJACK
- #include <botan/skipjack.h>
+#if defined(BOTAN_HAS_SKIPJACK)
+ #include <botan/skipjack.h>
#endif
-#ifdef BOTAN_HAS_SQUARE
- #include <botan/square.h>
+#if defined(BOTAN_HAS_SQUARE)
+ #include <botan/square.h>
#endif
-#ifdef BOTAN_HAS_TEA
- #include <botan/tea.h>
+#if defined(BOTAN_HAS_TEA)
+ #include <botan/tea.h>
#endif
-#ifdef BOTAN_HAS_TWOFISH
- #include <botan/twofish.h>
+#if defined(BOTAN_HAS_TWOFISH)
+ #include <botan/twofish.h>
#endif
-#ifdef BOTAN_HAS_XTEA
- #include <botan/xtea.h>
+#if defined(BOTAN_HAS_XTEA)
+ #include <botan/xtea.h>
#endif
-#ifdef BOTAN_HAS_ARC4
- #include <botan/arc4.h>
+#if defined(BOTAN_HAS_ARC4)
+ #include <botan/arc4.h>
#endif
-#ifdef BOTAN_HAS_SALSA20
- #include <botan/salsa20.h>
+#if defined(BOTAN_HAS_SALSA20)
+ #include <botan/salsa20.h>
#endif
-#ifdef BOTAN_HAS_TURING
- #include <botan/turing.h>
+#if defined(BOTAN_HAS_TURING)
+ #include <botan/turing.h>
#endif
-#ifdef BOTAN_HAS_WID_WAKE
- #include <botan/wid_wake.h>
+#if defined(BOTAN_HAS_WID_WAKE)
+ #include <botan/wid_wake.h>
#endif
-#ifdef BOTAN_HAS_ADLER32
+#if defined(BOTAN_HAS_ADLER32)
#include <botan/adler32.h>
#endif
-#ifdef BOTAN_HAS_CRC24
- #include <botan/crc24.h>
+#if defined(BOTAN_HAS_CRC24)
+ #include <botan/crc24.h>
#endif
-#ifdef BOTAN_HAS_CRC32
- #include <botan/crc32.h>
+#if defined(BOTAN_HAS_CRC32)
+ #include <botan/crc32.h>
#endif
-#ifdef BOTAN_HAS_FORK_256
- #include <botan/fork256.h>
+#if defined(BOTAN_HAS_FORK_256)
+ #include <botan/fork256.h>
#endif
-#ifdef BOTAN_HAS_HAS_160
- #include <botan/has160.h>
+#if defined(BOTAN_HAS_HAS_160)
+ #include <botan/has160.h>
#endif
-#ifdef BOTAN_HAS_MD2
- #include <botan/md2.h>
+#if defined(BOTAN_HAS_MD2)
+ #include <botan/md2.h>
#endif
-#ifdef BOTAN_HAS_MD4
- #include <botan/md4.h>
+#if defined(BOTAN_HAS_MD4)
+ #include <botan/md4.h>
#endif
-#ifdef BOTAN_HAS_MD5
- #include <botan/md5.h>
+#if defined(BOTAN_HAS_MD5)
+ #include <botan/md5.h>
#endif
-#ifdef BOTAN_HAS_RIPEMD_128
- #include <botan/rmd128.h>
+#if defined(BOTAN_HAS_RIPEMD_128)
+ #include <botan/rmd128.h>
#endif
-#ifdef BOTAN_HAS_RIPEMD_160
- #include <botan/rmd160.h>
+#if defined(BOTAN_HAS_RIPEMD_160)
+ #include <botan/rmd160.h>
#endif
-#ifdef BOTAN_HAS_SHA1
- #include <botan/sha160.h>
+#if defined(BOTAN_HAS_SHA1)
+ #include <botan/sha160.h>
#endif
-#ifdef BOTAN_HAS_SHA2
- #include <botan/sha256.h>
- #include <botan/sha_64.h>
+#if defined(BOTAN_HAS_SHA2)
+ #include <botan/sha256.h>
+ #include <botan/sha_64.h>
#endif
-#ifdef BOTAN_HAS_TIGER
- #include <botan/tiger.h>
+#if defined(BOTAN_HAS_TIGER)
+ #include <botan/tiger.h>
#endif
-#ifdef BOTAN_HAS_WHIRLPOOL
- #include <botan/whrlpool.h>
+#if defined(BOTAN_HAS_WHIRLPOOL)
+ #include <botan/whrlpool.h>
#endif
-#ifdef BOTAN_HAS_CBC_MAC
- #include <botan/cbc_mac.h>
+#if defined(BOTAN_HAS_CBC_MAC)
+ #include <botan/cbc_mac.h>
#endif
-#ifdef BOTAN_HAS_CMAC
- #include <botan/cmac.h>
+#if defined(BOTAN_HAS_CMAC)
+ #include <botan/cmac.h>
#endif
-#ifdef BOTAN_HAS_HMAC
- #include <botan/hmac.h>
+#if defined(BOTAN_HAS_HMAC)
+ #include <botan/hmac.h>
#endif
-#ifdef BOTAN_HAS_SSL3_MAC
- #include <botan/ssl3_mac.h>
+#if defined(BOTAN_HAS_SSL3_MAC)
+ #include <botan/ssl3_mac.h>
#endif
-#ifdef BOTAN_HAS_ANSI_X919_MAC
- #include <botan/x919_mac.h>
+#if defined(BOTAN_HAS_ANSI_X919_MAC)
+ #include <botan/x919_mac.h>
#endif
-#ifdef BOTAN_HAS_PBKDF1
- #include <botan/pbkdf1.h>
+#if defined(BOTAN_HAS_PBKDF1)
+ #include <botan/pbkdf1.h>
#endif
-#ifdef BOTAN_HAS_PBKDF2
- #include <botan/pbkdf2.h>
+#if defined(BOTAN_HAS_PBKDF2)
+ #include <botan/pbkdf2.h>
#endif
-#ifdef BOTAN_HAS_PGPS2K
- #include <botan/pgp_s2k.h>
+#if defined(BOTAN_HAS_PGPS2K)
+ #include <botan/pgp_s2k.h>
#endif
namespace Botan {
@@ -262,97 +262,97 @@ Default_Engine::find_block_cipher(const std::string& algo_spec) const
return 0;
const std::string algo_name = global_state().deref_alias(name[0]);
-#ifdef BOTAN_HAS_AES
+#if defined(BOTAN_HAS_AES)
HANDLE_TYPE_NO_ARGS("AES", AES);
HANDLE_TYPE_NO_ARGS("AES-128", AES_128);
HANDLE_TYPE_NO_ARGS("AES-192", AES_192);
HANDLE_TYPE_NO_ARGS("AES-256", AES_256);
#endif
-#ifdef BOTAN_HAS_BLOWFISH
+#if defined(BOTAN_HAS_BLOWFISH)
HANDLE_TYPE_NO_ARGS("Blowfish", Blowfish);
#endif
-#ifdef BOTAN_HAS_CAST
+#if defined(BOTAN_HAS_CAST)
HANDLE_TYPE_NO_ARGS("CAST-128", CAST_128);
HANDLE_TYPE_NO_ARGS("CAST-256", CAST_256);
#endif
-#ifdef BOTAN_HAS_DES
+#if defined(BOTAN_HAS_DES)
HANDLE_TYPE_NO_ARGS("DES", DES);
HANDLE_TYPE_NO_ARGS("DESX", DESX);
HANDLE_TYPE_NO_ARGS("TripleDES", TripleDES);
#endif
-#ifdef BOTAN_HAS_GOST
+#if defined(BOTAN_HAS_GOST)
HANDLE_TYPE_NO_ARGS("GOST", GOST);
#endif
-#ifdef BOTAN_HAS_IDEA
+#if defined(BOTAN_HAS_IDEA)
HANDLE_TYPE_NO_ARGS("IDEA", IDEA);
#endif
-#ifdef BOTAN_HAS_KASUMI
+#if defined(BOTAN_HAS_KASUMI)
HANDLE_TYPE_NO_ARGS("KASUMI", KASUMI);
#endif
-#ifdef BOTAN_HAS_MARS
+#if defined(BOTAN_HAS_MARS)
HANDLE_TYPE_NO_ARGS("MARS", MARS);
#endif
-#ifdef BOTAN_HAS_MISTY1
+#if defined(BOTAN_HAS_MISTY1)
HANDLE_TYPE_ONE_U32BIT("MISTY1", MISTY1, 8);
#endif
-#ifdef BOTAN_HAS_NOEKEON
+#if defined(BOTAN_HAS_NOEKEON)
HANDLE_TYPE_NO_ARGS("Noekeon", Noekeon);
#endif
-#ifdef BOTAN_HAS_RC2
+#if defined(BOTAN_HAS_RC2)
HANDLE_TYPE_NO_ARGS("RC2", RC2);
#endif
-#ifdef BOTAN_HAS_RC5
+#if defined(BOTAN_HAS_RC5)
HANDLE_TYPE_ONE_U32BIT("RC5", RC5, 12);
#endif
-#ifdef BOTAN_HAS_RC6
+#if defined(BOTAN_HAS_RC6)
HANDLE_TYPE_NO_ARGS("RC6", RC6);
#endif
-#ifdef BOTAN_HAS_SAFER
+#if defined(BOTAN_HAS_SAFER)
HANDLE_TYPE_ONE_U32BIT("SAFER-SK", SAFER_SK, 10);
#endif
-#ifdef BOTAN_HAS_SEED
+#if defined(BOTAN_HAS_SEED)
HANDLE_TYPE_NO_ARGS("SEED", SEED);
#endif
-#ifdef BOTAN_HAS_SERPENT
+#if defined(BOTAN_HAS_SERPENT)
HANDLE_TYPE_NO_ARGS("Serpent", Serpent);
#endif
-#ifdef BOTAN_HAS_SKIPJACK
+#if defined(BOTAN_HAS_SKIPJACK)
HANDLE_TYPE_NO_ARGS("Skipjack", Skipjack);
#endif
-#ifdef BOTAN_HAS_SQUARE
+#if defined(BOTAN_HAS_SQUARE)
HANDLE_TYPE_NO_ARGS("Square", Square);
#endif
-#ifdef BOTAN_HAS_TEA
+#if defined(BOTAN_HAS_TEA)
HANDLE_TYPE_NO_ARGS("TEA", TEA);
#endif
-#ifdef BOTAN_HAS_TWOFISH
+#if defined(BOTAN_HAS_TWOFISH)
HANDLE_TYPE_NO_ARGS("Twofish", Twofish);
#endif
-#ifdef BOTAN_HAS_XTEA
+#if defined(BOTAN_HAS_XTEA)
HANDLE_TYPE_NO_ARGS("XTEA", XTEA);
#endif
-#ifdef BOTAN_HAS_LUBY_RACKOFF
+#if defined(BOTAN_HAS_LUBY_RACKOFF)
if(algo_name == "Luby-Rackoff" && name.size() >= 2)
{
HashFunction* hash = find_hash(name[1]);
@@ -361,7 +361,7 @@ Default_Engine::find_block_cipher(const std::string& algo_spec) const
}
#endif
-#ifdef BOTAN_HAS_LION
+#if defined(BOTAN_HAS_LION)
if(algo_name == "Lion")
{
if(name.size() != 4)
@@ -384,20 +384,20 @@ Default_Engine::find_stream_cipher(const std::string& algo_spec) const
return 0;
const std::string algo_name = global_state().deref_alias(name[0]);
-#ifdef BOTAN_HAS_ARC4
+#if defined(BOTAN_HAS_ARC4)
HANDLE_TYPE_ONE_U32BIT("ARC4", ARC4, 0);
HANDLE_TYPE_ONE_U32BIT("RC4_drop", ARC4, 768);
#endif
-#ifdef BOTAN_HAS_SALSA20
+#if defined(BOTAN_HAS_SALSA20)
HANDLE_TYPE_NO_ARGS("Salsa20", Salsa20);
#endif
-#ifdef BOTAN_HAS_TURING
+#if defined(BOTAN_HAS_TURING)
HANDLE_TYPE_NO_ARGS("Turing", Turing);
#endif
-#ifdef BOTAN_HAS_WID_WAKE
+#if defined(BOTAN_HAS_WID_WAKE)
HANDLE_TYPE_NO_ARGS("WiderWake4+1-BE", WiderWake_41_BE);
#endif
@@ -415,61 +415,61 @@ Default_Engine::find_hash(const std::string& algo_spec) const
return 0;
const std::string algo_name = global_state().deref_alias(name[0]);
-#ifdef BOTAN_HAS_ADLER32
+#if defined(BOTAN_HAS_ADLER32)
HANDLE_TYPE_NO_ARGS("Adler32", Adler32);
#endif
-#ifdef BOTAN_HAS_CRC24
+#if defined(BOTAN_HAS_CRC24)
HANDLE_TYPE_NO_ARGS("CRC24", CRC24);
#endif
-#ifdef BOTAN_HAS_CRC32
+#if defined(BOTAN_HAS_CRC32)
HANDLE_TYPE_NO_ARGS("CRC32", CRC32);
#endif
-#ifdef BOTAN_HAS_FORK_256
+#if defined(BOTAN_HAS_FORK_256)
HANDLE_TYPE_NO_ARGS("FORK-256", FORK_256);
#endif
-#ifdef BOTAN_HAS_HAS_160
+#if defined(BOTAN_HAS_HAS_160)
HANDLE_TYPE_NO_ARGS("HAS-160", HAS_160);
#endif
-#ifdef BOTAN_HAS_MD2
+#if defined(BOTAN_HAS_MD2)
HANDLE_TYPE_NO_ARGS("MD2", MD2);
#endif
-#ifdef BOTAN_HAS_MD4
+#if defined(BOTAN_HAS_MD4)
HANDLE_TYPE_NO_ARGS("MD4", MD4);
#endif
-#ifdef BOTAN_HAS_MD5
+#if defined(BOTAN_HAS_MD5)
HANDLE_TYPE_NO_ARGS("MD5", MD5);
#endif
-#ifdef BOTAN_HAS_RIPEMD_128
+#if defined(BOTAN_HAS_RIPEMD_128)
HANDLE_TYPE_NO_ARGS("RIPEMD-128", RIPEMD_128);
#endif
-#ifdef BOTAN_HAS_RIPEMD_160
+#if defined(BOTAN_HAS_RIPEMD_160)
HANDLE_TYPE_NO_ARGS("RIPEMD-160", RIPEMD_160);
#endif
-#ifdef BOTAN_HAS_SHA1
+#if defined(BOTAN_HAS_SHA1)
HANDLE_TYPE_NO_ARGS("SHA-160", SHA_160);
#endif
-#ifdef BOTAN_HAS_SHA2
+#if defined(BOTAN_HAS_SHA2)
HANDLE_TYPE_NO_ARGS("SHA-256", SHA_256);
HANDLE_TYPE_NO_ARGS("SHA-384", SHA_384);
HANDLE_TYPE_NO_ARGS("SHA-512", SHA_512);
#endif
-#ifdef BOTAN_HAS_TIGER
+#if defined(BOTAN_HAS_TIGER)
HANDLE_TYPE_TWO_U32BIT("Tiger", Tiger, 24);
#endif
-#ifdef BOTAN_HAS_WHIRLPOOL
+#if defined(BOTAN_HAS_WHIRLPOOL)
HANDLE_TYPE_NO_ARGS("Whirlpool", Whirlpool);
#endif
@@ -495,23 +495,23 @@ Default_Engine::find_mac(const std::string& algo_spec) const
return 0;
const std::string algo_name = global_state().deref_alias(name[0]);
-#ifdef BOTAN_HAS_CBC_MAC
+#if defined(BOTAN_HAS_CBC_MAC)
HANDLE_TYPE_ONE_STRING("CBC-MAC", CBC_MAC);
#endif
-#ifdef BOTAN_HAS_CMAC
+#if defined(BOTAN_HAS_CMAC)
HANDLE_TYPE_ONE_STRING("CMAC", CMAC);
#endif
-#ifdef BOTAN_HAS_HMAC
+#if defined(BOTAN_HAS_HMAC)
HANDLE_TYPE_ONE_STRING("HMAC", HMAC);
#endif
-#ifdef BOTAN_HAS_SSL3_MAC
+#if defined(BOTAN_HAS_SSL3_MAC)
HANDLE_TYPE_ONE_STRING("SSL3-MAC", SSL3_MAC);
#endif
-#ifdef BOTAN_HAS_ANSI_X919_MAC
+#if defined(BOTAN_HAS_ANSI_X919_MAC)
HANDLE_TYPE_NO_ARGS("X9.19-MAC", ANSI_X919_MAC);
#endif
@@ -529,15 +529,15 @@ S2K* Default_Engine::find_s2k(const std::string& algo_spec) const
const std::string algo_name = global_state().deref_alias(name[0]);
-#ifdef BOTAN_HAS_PBKDF1
+#if defined(BOTAN_HAS_PBKDF1)
HANDLE_TYPE_ONE_STRING("PBKDF1", PKCS5_PBKDF1);
#endif
-#ifdef BOTAN_HAS_PBKDF2
+#if defined(BOTAN_HAS_PBKDF2)
HANDLE_TYPE_ONE_STRING("PBKDF2", PKCS5_PBKDF2);
#endif
-#ifdef BOTAN_HAS_PGPS2K
+#if defined(BOTAN_HAS_PGPS2K)
HANDLE_TYPE_ONE_STRING("OpenPGP-S2K", OpenPGP_S2K);
#endif
diff --git a/src/def_mode.cpp b/src/def_mode.cpp
index 0645364a0..b062cc34b 100644
--- a/src/def_mode.cpp
+++ b/src/def_mode.cpp
@@ -8,32 +8,32 @@
#include <botan/filters.h>
#include <botan/lookup.h>
-#ifdef BOTAN_HAS_ECB
- #include <botan/ecb.h>
+#if defined(BOTAN_HAS_ECB)
+ #include <botan/ecb.h>
#endif
-#ifdef BOTAN_HAS_CBC
- #include <botan/cbc.h>
+#if defined(BOTAN_HAS_CBC)
+ #include <botan/cbc.h>
#endif
-#ifdef BOTAN_HAS_CTS
- #include <botan/cts.h>
+#if defined(BOTAN_HAS_CTS)
+ #include <botan/cts.h>
#endif
-#ifdef BOTAN_HAS_CFB
- #include <botan/cfb.h>
+#if defined(BOTAN_HAS_CFB)
+ #include <botan/cfb.h>
#endif
-#ifdef BOTAN_HAS_OFB
- #include <botan/ofb.h>
+#if defined(BOTAN_HAS_OFB)
+ #include <botan/ofb.h>
#endif
-#ifdef BOTAN_HAS_CTR
- #include <botan/ctr.h>
+#if defined(BOTAN_HAS_CTR)
+ #include <botan/ctr.h>
#endif
-#ifdef BOTAN_HAS_EAX
- #include <botan/eax.h>
+#if defined(BOTAN_HAS_EAX)
+ #include <botan/eax.h>
#endif
namespace Botan {
@@ -90,7 +90,7 @@ Keyed_Filter* Default_Engine::get_cipher(const std::string& algo_spec,
if(mode == "OFB")
{
-#ifdef BOTAN_HAS_OFB
+#if defined(BOTAN_HAS_OFB)
return new OFB(cipher);
#else
return 0;
@@ -98,7 +98,7 @@ Keyed_Filter* Default_Engine::get_cipher(const std::string& algo_spec,
}
else if(mode == "CTR-BE")
{
-#ifdef BOTAN_HAS_CTR
+#if defined(BOTAN_HAS_CTR)
return new CTR_BE(cipher);
#else
return 0;
@@ -109,7 +109,7 @@ Keyed_Filter* Default_Engine::get_cipher(const std::string& algo_spec,
{
if(mode == "ECB")
{
-#ifdef BOTAN_HAS_ECB
+#if defined(BOTAN_HAS_ECB)
if(direction == ENCRYPTION)
return new ECB_Encryption(cipher, padding);
else
@@ -120,7 +120,7 @@ Keyed_Filter* Default_Engine::get_cipher(const std::string& algo_spec,
}
else if(mode == "CFB")
{
-#ifdef BOTAN_HAS_CFB
+#if defined(BOTAN_HAS_CFB)
if(direction == ENCRYPTION)
return new CFB_Encryption(cipher, bits);
else
@@ -133,7 +133,7 @@ Keyed_Filter* Default_Engine::get_cipher(const std::string& algo_spec,
{
if(padding == "CTS")
{
-#ifdef BOTAN_HAS_CTS
+#if defined(BOTAN_HAS_CTS)
if(direction == ENCRYPTION)
return new CTS_Encryption(cipher);
else
@@ -143,7 +143,7 @@ Keyed_Filter* Default_Engine::get_cipher(const std::string& algo_spec,
#endif
}
-#ifdef BOTAN_HAS_CBC
+#if defined(BOTAN_HAS_CBC)
if(direction == ENCRYPTION)
return new CBC_Encryption(cipher, padding);
else
@@ -154,7 +154,7 @@ Keyed_Filter* Default_Engine::get_cipher(const std::string& algo_spec,
}
else if(mode == "EAX")
{
-#ifdef BOTAN_HAS_EAX
+#if defined(BOTAN_HAS_EAX)
if(direction == ENCRYPTION)
return new EAX_Encryption(cipher, bits);
else
diff --git a/src/get_enc.cpp b/src/get_enc.cpp
index 8137f4645..cdef00980 100644
--- a/src/get_enc.cpp
+++ b/src/get_enc.cpp
@@ -9,52 +9,52 @@
#include <botan/mgf1.h>
#include <botan/util.h>
-#ifdef BOTAN_HAS_EMSA1
- #include <botan/emsa1.h>
+#if defined(BOTAN_HAS_EMSA1)
+ #include <botan/emsa1.h>
#endif
-#ifdef BOTAN_HAS_EMSA2
- #include <botan/emsa2.h>
+#if defined(BOTAN_HAS_EMSA2)
+ #include <botan/emsa2.h>
#endif
-#ifdef BOTAN_HAS_EMSA3
- #include <botan/emsa3.h>
+#if defined(BOTAN_HAS_EMSA3)
+ #include <botan/emsa3.h>
#endif
-#ifdef BOTAN_HAS_EMSA4
- #include <botan/emsa4.h>
+#if defined(BOTAN_HAS_EMSA4)
+ #include <botan/emsa4.h>
#endif
-#ifdef BOTAN_HAS_EMSA_RAW
- #include <botan/emsa_raw.h>
+#if defined(BOTAN_HAS_EMSA_RAW)
+ #include <botan/emsa_raw.h>
#endif
-#ifdef BOTAN_HAS_EME1
- #include <botan/eme1.h>
+#if defined(BOTAN_HAS_EME1)
+ #include <botan/eme1.h>
#endif
-#ifdef BOTAN_HAS_EME_PKCS1v15
- #include <botan/eme_pkcs.h>
+#if defined(BOTAN_HAS_EME_PKCS1v15)
+ #include <botan/eme_pkcs.h>
#endif
-#ifdef BOTAN_HAS_KDF1
- #include <botan/kdf1.h>
+#if defined(BOTAN_HAS_KDF1)
+ #include <botan/kdf1.h>
#endif
-#ifdef BOTAN_HAS_KDF2
- #include <botan/kdf2.h>
+#if defined(BOTAN_HAS_KDF2)
+ #include <botan/kdf2.h>
#endif
-#ifdef BOTAN_HAS_X942_PRF
- #include <botan/prf_x942.h>
+#if defined(BOTAN_HAS_X942_PRF)
+ #include <botan/prf_x942.h>
#endif
-#ifdef BOTAN_HAS_SSL_V3_PRF
- #include <botan/prf_ssl3.h>
+#if defined(BOTAN_HAS_SSL_V3_PRF)
+ #include <botan/prf_ssl3.h>
#endif
-#ifdef BOTAN_HAS_TLS_V10_PRF
- #include <botan/prf_tls.h>
+#if defined(BOTAN_HAS_TLS_V10_PRF)
+ #include <botan/prf_tls.h>
#endif
namespace Botan {
@@ -67,7 +67,7 @@ EMSA* get_emsa(const std::string& algo_spec)
std::vector<std::string> name = parse_algorithm_name(algo_spec);
const std::string emsa_name = global_state().deref_alias(name[0]);
-#ifdef BOTAN_HAS_EMSA_RAW
+#if defined(BOTAN_HAS_EMSA_RAW)
if(emsa_name == "Raw")
{
if(name.size() == 1)
@@ -75,7 +75,7 @@ EMSA* get_emsa(const std::string& algo_spec)
}
#endif
-#ifdef BOTAN_HAS_EMSA1
+#if defined(BOTAN_HAS_EMSA1)
if(emsa_name == "EMSA1")
{
if(name.size() == 2)
@@ -83,7 +83,7 @@ EMSA* get_emsa(const std::string& algo_spec)
}
#endif
-#ifdef BOTAN_HAS_EMSA2
+#if defined(BOTAN_HAS_EMSA2)
if(emsa_name == "EMSA2")
{
if(name.size() == 2)
@@ -91,7 +91,7 @@ EMSA* get_emsa(const std::string& algo_spec)
}
#endif
-#ifdef BOTAN_HAS_EMSA3
+#if defined(BOTAN_HAS_EMSA3)
if(emsa_name == "EMSA3")
{
if(name.size() == 2)
@@ -99,7 +99,7 @@ EMSA* get_emsa(const std::string& algo_spec)
}
#endif
-#ifdef BOTAN_HAS_EMSA4
+#if defined(BOTAN_HAS_EMSA4)
if(emsa_name == "EMSA4")
{
if(name.size() == 2)
@@ -122,7 +122,7 @@ EME* get_eme(const std::string& algo_spec)
std::vector<std::string> name = parse_algorithm_name(algo_spec);
const std::string eme_name = global_state().deref_alias(name[0]);
-#ifdef BOTAN_HAS_EME_PKCS1v15
+#if defined(BOTAN_HAS_EME_PKCS1v15)
if(eme_name == "PKCS1v15")
{
if(name.size() == 1)
@@ -130,7 +130,7 @@ EME* get_eme(const std::string& algo_spec)
}
#endif
-#ifdef BOTAN_HAS_EME1
+#if defined(BOTAN_HAS_EME1)
if(eme_name == "EME1")
{
if(name.size() == 2)
@@ -151,7 +151,7 @@ KDF* get_kdf(const std::string& algo_spec)
std::vector<std::string> name = parse_algorithm_name(algo_spec);
const std::string kdf_name = global_state().deref_alias(name[0]);
-#ifdef BOTAN_HAS_KDF1
+#if defined(BOTAN_HAS_KDF1)
if(kdf_name == "KDF1")
{
if(name.size() == 2)
@@ -159,7 +159,7 @@ KDF* get_kdf(const std::string& algo_spec)
}
#endif
-#ifdef BOTAN_HAS_KDF2
+#if defined(BOTAN_HAS_KDF2)
if(kdf_name == "KDF2")
{
if(name.size() == 2)
@@ -167,7 +167,7 @@ KDF* get_kdf(const std::string& algo_spec)
}
#endif
-#ifdef BOTAN_HAS_X942_PRF
+#if defined(BOTAN_HAS_X942_PRF)
if(kdf_name == "X9.42-PRF")
{
if(name.size() == 2)
@@ -175,7 +175,7 @@ KDF* get_kdf(const std::string& algo_spec)
}
#endif
-#ifdef BOTAN_HAS_TLS_V10_PRF
+#if defined(BOTAN_HAS_TLS_V10_PRF)
if(kdf_name == "TLS-PRF")
{
if(name.size() == 1)
@@ -183,7 +183,7 @@ KDF* get_kdf(const std::string& algo_spec)
}
#endif
-#ifdef BOTAN_HAS_SSL_V3_PRF
+#if defined(BOTAN_HAS_SSL_V3_PRF)
if(kdf_name == "SSL3-PRF")
{
if(name.size() == 1)
diff --git a/src/rng.cpp b/src/rng.cpp
index 3d13533ab..9bed40dc1 100644
--- a/src/rng.cpp
+++ b/src/rng.cpp
@@ -4,12 +4,18 @@
*************************************************/
#include <botan/rng.h>
-#include <botan/randpool.h>
-#include <botan/x931_rng.h>
#include <botan/util.h>
#include <botan/parsing.h>
#include <botan/timers.h>
+#if defined(BOTAN_HAS_RANDPOOL)
+ #include <botan/randpool.h>
+#endif
+
+#if defined(BOTAN_HAS_X931_RNG)
+ #include <botan/x931_rng.h>
+#endif
+
#if defined(BOTAN_HAS_TIMER_HARDWARE)
#include <botan/tm_hard.h>
#elif defined(BOTAN_HAS_TIMER_POSIX)
@@ -73,9 +79,14 @@ byte RandomNumberGenerator::next_byte()
*************************************************/
RandomNumberGenerator* RandomNumberGenerator::make_rng()
{
- RandomNumberGenerator* rng =
- new ANSI_X931_RNG("AES-256",
- new Randpool("AES-256", "HMAC(SHA-256)"));
+ RandomNumberGenerator* rng = 0;
+
+#if defined(BOTAN_HAS_RANDPOOL)
+ rng = new Randpool("AES-256", "HMAC(SHA-256)");
+
+#if defined(BOTAN_HAS_X931_RNG)
+ rng = new ANSI_X931_RNG("AES-256", rng);
+#endif
#if defined(BOTAN_HAS_TIMER_HARDWARE)
rng->add_entropy_source(new Hardware_Timer);
@@ -125,6 +136,8 @@ RandomNumberGenerator* RandomNumberGenerator::make_rng()
rng->add_entropy_source(new FTW_EntropySource("/proc"));
#endif
+#endif
+
return rng;
}