diff --git a/CMakeLists.txt b/CMakeLists.txt index 3f19065b3..494f08fe0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -205,6 +205,10 @@ option (boost_show_deprecated "Allow boost to fail on deprecated usage. Only useful if you're trying\ to find deprecated calls." OFF) +option (beast_hashers + "Use local implementations for sha/ripemd hashes (experimental, not recommended)" + OFF) + if (WIN32) option (beast_disable_autolink "Disables autolinking of system libraries on WIN32" OFF) else () @@ -577,6 +581,9 @@ target_compile_definitions (opts BOOST_BEAST_ALLOW_DEPRECATED BOOST_FILESYSTEM_DEPRECATED > + $<$: + USE_BEAST_HASHER + > $<$:BEAST_NO_UNIT_TEST_INLINE=1> $<$:BEAST_DONT_AUTOLINK_TO_WIN32_LIBRARIES=1> $<$:RIPPLE_SINGLE_IO_SERVICE_THREAD=1> diff --git a/src/ripple/protocol/digest.h b/src/ripple/protocol/digest.h index 1d6f705b1..68f6bbd5c 100644 --- a/src/ripple/protocol/digest.h +++ b/src/ripple/protocol/digest.h @@ -122,14 +122,14 @@ private: // Aliases to choose the correct digest implementation -#if RIPPLE_USE_OPENSSL -using ripemd160_hasher = openssl_ripemd160_hasher; -using sha256_hasher = openssl_sha256_hasher; -using sha512_hasher = openssl_sha512_hasher; -#else +#if USE_BEAST_HASHER using ripemd160_hasher = beast::ripemd160_hasher; using sha256_hasher = beast::sha256_hasher; using sha512_hasher = beast::sha512_hasher; +#else +using ripemd160_hasher = openssl_ripemd160_hasher; +using sha256_hasher = openssl_sha256_hasher; +using sha512_hasher = openssl_sha512_hasher; #endif //------------------------------------------------------------------------------