diff options
Diffstat (limited to 'Swiften/StringCodecs/MD5.cpp')
-rw-r--r-- | Swiften/StringCodecs/MD5.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/Swiften/StringCodecs/MD5.cpp b/Swiften/StringCodecs/MD5.cpp index 6871f79..bd03314 100644 --- a/Swiften/StringCodecs/MD5.cpp +++ b/Swiften/StringCodecs/MD5.cpp @@ -1,11 +1,11 @@ /* - * Copyright (c) 2010 Remko Tronçon + * Copyright (c) 2010-2012 Remko Tronçon * Licensed under the GNU General Public License v3. * See Documentation/Licenses/GPLv3.txt for more information. */ /* * This implementation is shamelessly copied from L. Peter Deutsch's * implementation, and altered to use our own defines and datastructures. * Original license below. *//* @@ -35,18 +35,22 @@ #include <Swiften/StringCodecs/MD5.h> #include <cassert> #include <string.h> #include <Swiften/Base/ByteArray.h> #include <Swiften/Base/Platform.h> +#ifdef SWIFTEN_PLATFORM_WIN32 +#include <Swiften/Base/WindowsRegistry.h> +#endif + namespace Swift { typedef unsigned char md5_byte_t; /* 8-bit byte */ typedef unsigned int md5_word_t; /* 32-bit word */ /* Define the state of the MD5 Algorithm. */ typedef struct md5_state_s { md5_word_t count[2]; /* message length in bits, lsw first */ md5_word_t abcd[4]; /* digest buffer */ @@ -389,10 +393,18 @@ std::vector<unsigned char> MD5::getHash() { ByteArray MD5::getHash(const ByteArray& data) { return getMD5Hash(data); } ByteArray MD5::getHash(const SafeByteArray& data) { return getMD5Hash(data); } +bool MD5::isAllowedForCrypto() { +#ifdef SWIFTEN_PLATFORM_WIN32 + return !WindowsRegistry::isFIPSEnabled(); +#else + return true; +#endif +} + } |