Fix runtime crash when CRYPTOPP_INIT_PRIORITY=0 Couple use of initialization priorities to no NO_OS_DEPENDENCE Add comments explaining what integer does, how it does it, and why we want to inprove on the Singleton pattern as a resource manager. Update documentation.
Jeffrey Walton
2017-03-27 06:06:12 -0400
30033fde77Fix compilation under clang-cl.
RaptorFactor
2017-03-25 23:31:45 -0700
095740c1feFix linking of fipstest for MSVC targeting ARM (__crt_debugger_hook is not available).
RaptorFactor
2017-03-25 23:14:12 -0700
9b1d4c4c7dFix compilation on Windows with /DUNICODE
RaptorFactor
2017-03-25 23:08:10 -0700
59a45c52dcFix compilation with MSVC and /std:c++latest
RaptorFactor
2017-03-25 23:06:36 -0700
Remove g_pAssignIntToInteger pointer, add CRYPTOPP_NO_ASSIGN_TO_INTEGER (Issue 389) This effectively decouples Integer and Public Key from the rest of the library. The change means a compile time define is used rather than a runtime pointer. It avoids the race with Issue 389. The Public Key algorithms will fail if you use them. For example, running the self tests with CRYPTOPP_NO_ASSIGN_TO_INTEGER in effect results in "CryptoPP::Exception caught: NameValuePairs: type mismatch for 'EquivalentTo', stored 'i', trying to retrieve 'N8CryptoPP7IntegerE'". The exception is expected, and the same happend when g_pAssignIntToInteger was present.
Jeffrey Walton
2017-03-25 16:38:42 -0400
Fix GNUmakefile to keep *.s files The distclean recipe deleted ASM files (*.s) rather than preprocessed ASM files (*.S). Leave them both now.
Jeffrey Walton
2017-03-25 01:42:23 -0400
Fix Solaris compile due to StreamState "validate.h", line 155: Error: Overloading ambiguity between "std::ios::basic_ios(std::streambuf *)" and "std::ios::basic_ios(int)".
Jeffrey Walton
2017-03-24 23:24:46 -0400
Fix OpenBSD 6.0 compile with GCC 4.9 (Issue 395) This check-in also enables the 64-bit RDRAND routines for X32. The changes were with held until they could be tested. The testing occurred with Issue 395
Jeffrey Walton
2017-03-22 17:26:25 -0400
Simplify C++ dynamic object initialization Wrap DetectArmFeatures and DetectX86Features in InitializeCpu class Use init_priority for InitializeCpu Remove HAVE_GCC_CONSTRUCTOR1 and HAVE_GCC_CONSTRUCTOR0 Use init_seg(<name>) on Windows and explicitly insert at XCU segment Simplify logic for HAVE_GAS Remove special recipies for MACPORTS_GCC_COMPILER Move C++ static initializers into anonymous namespace when possible Add default NullNameValuePairs ctor for Clang
Jeffrey Walton
2017-03-20 08:51:10 -0400
3f128e4667Improved sha256 performance on ppc64 by 4x
Gustavo Serra Scalet
2017-03-20 08:56:23 -0300
Guard string assignment Visual Studio 2005 fired an assert on the negative self tests because the SecByteBlock was 0-sized and returned a null pointer.
Jeffrey Walton
2017-03-19 22:13:12 -0400
Fix compile under Visual Studio 2005/MSC 14.00 Previous testing occurred with Visual Studio 2005 SP 1, and it lacks some of the Safe C++/security enhanced functions.
Jeffrey Walton
2017-03-18 16:56:14 -0400
Clear Coverity CHECKED_RETURN (CID 177729) This was by design, but we cleared it because we want a dark and silent cockpit.
Jeffrey Walton
2017-03-18 08:52:32 -0400
Clear Coverity IDENTICAL_BRANCHES (CID 177731) This was by design, but we cleared it because we want a dark and silent cockpit.
Jeffrey Walton
2017-03-18 07:18:30 -0400
Clear Coverity STREAM_FORMAT_STATE (CID 177735) This was a valid finding in the Test suite. The stream state findings are annoying.
Jeffrey Walton
2017-03-18 05:08:04 -0400
Clear Coverity UNINIT_CTOR (CID 177743, 177744) This was a valid finding, but the only way to get into the codepath was leaving the drbg unkeyed.
Jeffrey Walton
2017-03-17 21:53:38 -0400
Clear Coverity UNINIT_CTOR (CID 177741) This was a valid finding, but the only way to get into the codepath leaving the hash unkeyed.
Jeffrey Walton
2017-03-17 21:48:52 -0400
Clear Coverity UNINIT_CTOR (CID 177739) This was a valid finding, but the only way to get into the codepath leaving the hash unkeyed.
Jeffrey Walton
2017-03-17 21:45:35 -0400
Clear Coverity UNINIT (CID 171239) It was a false positive, but dark and silent cockpits trump the uneeded initialization. The optimizer can remove it.
Jeffrey Walton
2017-03-17 21:29:15 -0400
Updated static initializers When MSVC init_seg or GCC init_priority is available, we don't need to use the Singleton. We only need to create a file scope class variable and place it in the segment for MSVC or provide the attribute for GCC. An additional upside is we cleared all the memory leaks that used to be reported by MSVC for debug builds.
Jeffrey Walton
2017-03-17 20:47:32 -0400
Add StringWiden function StringWiden converts a narrow C-style string to a wide string. It serves the opposite role of StringNarrow function. The function is useful on Windows platforms where the OS favors wide functions with the UTF-16 character set. For example, the Data Proction API (DPAPI) allows a description, but its a wide character C-string. There is no narrwo version of the API.
Jeffrey Walton
2017-03-17 04:57:38 -0400
Use C++03 Singleton on select Microsoft platforms (Issues 372, 373, 389, 391) We are back to the "... one object may end up being memory leaked" if faced with concurrent initialization
Jeffrey Walton
2017-03-15 06:20:45 -0400
Updated RDRAND and RDSEED under NASM Port rdrand.S to Solaris Port rdrand.S to X32 The X32 port is responsible for the loop unwinding. The unwind generates a 32-byte block (X64 and X32) or 16-byte block (X86). On X32, it increases throughut by 100% (doubles it). On X86 and X64, throughput increases by about 6%. Anything over 4 machine words slows things down.
Jeffrey Walton
2017-03-14 06:07:37 -0400
Updated RDRAND and RDSEED under NASM Port rdrand.S to Cygwin and OS X Add DISABLE_NATIVE_ARCH to CmakefileList and GNUmakefile. It supresses the addition of -march=native. DISABLE_NATIVE_ARCH replaces DISABLE_CXXFLAGS_OPTIMIZATIONS in CmakefileList (the latter is now deprecated).
Jeffrey Walton
2017-03-13 15:57:47 -0400
Speedup Hash_DRBG and HMAC_DRBG Add benchmarks for SHA1 and SHA256 variants Hash_DRBG sped-up by about 2 MiB/s by using word128 and word64 in the initial update loop. It did not benefit other loops HMAC_DRBG sped-up by about 5 MiB/s by reworking variables, access and loop control
Jeffrey Walton
2017-03-11 08:10:32 -0500
Remove HTML echo's from 'make benchmark' recipe
Jeffrey Walton
2017-03-08 15:45:38 -0500
3f528fef1fAdd guard for RDSEED64 on 32-bit platforms (Issue 387) Cleanup comments in rdrand.cpp and rdrand.asm
Jeffrey Walton
2017-03-08 14:09:58 -0500
Removed test define from rdrand.cpp The library should use the intrinsics if they are available. This change should have been included with Commit 14d92f9eba.
Jeffrey Walton
2017-03-07 04:39:08 -0500
Change next version from 5.7 to 6.0 Crypto++ 5.7 was the increment after the 5.6.5 release. Crypto++ 6.0 accurately reflects compatibility
Jeffrey Walton
2017-02-21 12:59:20 -0500
Remove old VerifierFilter, switch to SignatureVerificationFilter VerifierFilter was a typedef for SignatureVerificationFilter. The name changed at Crypto++ 5.0 Updated documentation
Jeffrey Walton
2017-02-07 18:51:44 -0500
Fix headers and data types for cpu.cpp (Issue 362) This is trickier than expected due to sporadic support for PMULL and PMULL2 among compilers
Jeffrey Walton
2017-01-29 03:08:19 -0500
Add SecBlock member to track number of elements to zeroize (Issue 346) By default the member, named m_mark, is set to the maximum number of elements. If SetMark() is called, then m_mark is adjusted. Upon deallocation and zeroization, STDMIN(m_size, m_mark) elements are zeroized. We wanted to use a high water mark, but we could not track the writes to the allocation. operator[] would have been OK, but ::memcpy would have been problematic
Jeffrey Walton
2017-01-28 13:23:50 -0500
Add BuildVersion and RuntimeVersion functions (Issue 371) These function are intended to catch mining and matching of library versions. BuildVersion provides CRYPTOPP_VERSION when the shared object was built. RuntimeVersion provides CRYPTOPP_VERSION the app compiled against, which could be different than the shared object's version
Jeffrey Walton
2017-01-28 05:43:24 -0500
Change file preamble to include "originally written by Wei Dai" We have made a fair number of changes, and we don't want WD to receive credit for issues he was not part of
Jeffrey Walton
2017-01-27 07:05:45 -0500