Commit Graph

4073 Commits (590f8573c4ed9bd586410baa8082b4c502051c78)

Author SHA1 Message Date
Jeffrey Walton 590f8573c4
Fix LegacyDecryptor and LegacyDecryptorWithMAC (GH #714)
The classes used the wrong hash with the MAC. The legacy gear should have used SHA1, not SHA256.
2018-09-10 21:55:08 -04:00
Jeffrey Walton d0946abb0b
Use in cryptest-cmake.sh test 2018-09-10 09:00:25 -04:00
Jeffrey Walton fc5a73186f
Make config.sub and config.guess +w before download 2018-09-09 14:28:52 -04:00
Jeffrey Walton edbd57a41f
Make config.sub and config.guess +x after download 2018-09-09 12:00:54 -04:00
Jeffrey Walton b51faab9b3
Update comments in GNU Makefile 2018-09-09 03:44:50 -04:00
Jeffrey Walton 03297cdfa6
Add -xregs=no%appl for SunCC on Sparc 2018-09-09 03:01:10 -04:00
Jeffrey Walton 9a8b4a8024
Make TestStringSink a debug test 2018-09-08 21:52:14 -04:00
Jeffrey Walton ae34c2d2ff
Add throw to test recover plain text for DefaultDecryptorWithMAC 2018-09-08 17:08:44 -04:00
Jeffrey Walton 4ff34ee329
Add DefaultDecryptorWithMAC using binary file test
Also see https://groups.google.com/d/msg/cryptopp-users/QxPxSHkLM-4/pWmoBRuaBQAJ
2018-09-08 12:10:46 -04:00
Mouse ac43bee698
Merge pull request #334 from orangefour/feature/vector_sink
Add VectorSink
2018-09-05 15:56:55 -04:00
orangefour 9b81a545fc Add VectorSink 2018-09-05 09:25:09 +02:00
Jeffrey Walton 44cd7eb1ed
Fix missed conditions for XTR-DH domain parameters generation
Formerly we used asserts and they would fire on occassion. This commit makes the condition part of the generation process to avoid the assert.
2018-09-04 23:32:59 -04:00
Jeffrey Walton c01606e305
Add additional assert 2018-09-03 18:53:07 -04:00
Jeffrey Walton aa45eca561
Clear documentation warning due to specialization
The specialization pivoted on T_Align16 so it is not longer a template parameter
2018-08-28 21:27:48 -04:00
Jeffrey Walton a77f529ec2
Update cryptest-autotools.sh
Update config.sub and config.guess per GNU recommendations
2018-08-28 15:19:28 -04:00
Jeffrey Walton a552eff2fe
Break-up long lines in cryptest.nmake 2018-08-27 21:16:50 -04:00
Jeffrey Walton e8bf53cd9f
Fix Android Aarch32/Aarch64 code paths in neon-simd.cpp 2018-08-26 02:02:26 -04:00
Jeffrey Walton e8fc1b0422
Fix Android Aarch32/Aarch64 code paths in neon-simd.cpp 2018-08-26 01:54:38 -04:00
Jeffrey Walton eba078838f
Enable server-side search for Doxygen manual
It is too bad it does not work...
2018-08-24 14:09:08 -04:00
Jeffrey Walton 4fb9fbf5ac
Update comments 2018-08-24 12:19:42 -04:00
Jeffrey Walton beed647df2
Update assert 2018-08-24 09:25:19 -04:00
Jeffrey Walton 1bbbfb6b75
Fix partial specializations for FixedSizeAllocatorWithCleanup (PR #710)
Commit afbd3e60f6 effectively treated a symptom and not the underlying problem. The problem was linkers on 32-bit systems ignore CRYPTOPP_ALIGN_DAT(16) passed down by the compiler and align to 8-bytes or less. We have to use Wei's original code in some places. It is not a bad thing, but the bit fiddling is something we would like to contain a little more by depending more on language or platform features.

This commit keeps the original changes which improve partial specializations; but fixes 32-bit linker behavior by effectively reverting afbd3e60f6 and e054d36dc8. We also add more comments so the next person has understands why things are done they way they are.
2018-08-24 08:13:23 -04:00
Jeffrey Walton 243673c32a
Add notes on -stdlib=libc++ for MacOS 2018-08-24 04:43:12 -04:00
Jeffrey Walton afbd3e60f6
Fix alignment on Win32 and Solaris Sparc (PR #709)
These fixes were interesting in a morbid sort of way. I thought the FixedSizeAllocatorWithCleanup specializations faithfully reproduced semantics but I was wrong on Win32 and Sparc. Also see Commit e054d36dc8.

It seems there was another requirement or dependency that we missed, but it was not readily apparent. If I am parsing results correctly (which I may not be), it appears the bit twiddling using 8 byte alignment had more influence on alignment than I originally thought based on use of CRYPTOPP_BOOL_ALIGN16 and T_Align16. Or maybe the alignment attributes specified by CRYPTOPP_ALIGN_DATA are not being honored like they should for stack allocations.

This check-in avoids some uses of x86 movdqa (aligned) in favor of movdqu (unaligned). The uses were concentrated on memory operands which were 8-byte aligned instead of 16-byte aligned. It is not clear to me how the specializations lost 8-bytes of alignment. The check-in also enlists CRYPTOPP_ASSERT to tell us when there's a problem so we don't need to go hunting for bugs.
2018-08-23 14:42:29 -04:00
Jeffrey Walton e054d36dc8
Add partial specializations for FixedSizeAllocatorWithCleanup
This allocator still has some demons buried inside due to the bit fiddling. This commit should isolate the demons to aligned stack allocations when an alignment facility from the platform or OS is not available. That is, we use CRYPTOPP_ALIGN_DATA when we can because it is most reliable.
We can tell when things have gone sideways using Debug builds. The CRYPTOPP_ASSERT(m_allocated) will fire on destruction because the flag gets overwritten.
2018-08-23 07:08:34 -04:00
Jeffrey Walton 8382b49a1f
Fix compile using Nmake
LNK2019: unresolved external symbol CryptoPP::KeccakF1600(...)
2018-08-23 05:01:31 -04:00
Jeffrey Walton f3238742b2
Fix compile with IBM XLC
-pthread was causing "xlC: 1501-210 (W) command option t contains an incorrect subargument"
2018-08-23 04:56:45 -04:00
Jeffrey Walton 099883777d
Use ANONYMOUS_NAMESPACE_END 2018-08-23 01:11:45 -04:00
Jeffrey Walton 8c450a9f7a
Avoid Singleton when possible (GH #708)
Also clear several sign conversion warnings
2018-08-22 16:36:05 -04:00
Jeffrey Walton 0ba3687c39
Update comments 2018-08-22 14:46:30 -04:00
Jeffrey Walton af17fdf91b
Add -Wno-deprecated for PPC tests due to vec_ld and vec_st 2018-08-22 10:12:24 -04:00
Jeffrey Walton 4ab06b7803
Update Visual Studio 2005 project files 2018-08-22 03:17:04 -04:00
Jeffrey Walton 40d75271ec
Add keccakc.h and keccakc.cpp to Filelist.txt 2018-08-22 00:54:19 -04:00
Jeffrey Walton b9a6034a81
Add keccakc.h and keccakc.cpp for shared F1600 2018-08-22 00:40:30 -04:00
Jeffrey Walton 60c5146c5e
Update comments in integer.cpp 2018-08-21 15:10:22 -04:00
Jeffrey Walton a65cf70ff8
Update comments in integer.cpp 2018-08-21 15:03:20 -04:00
Jeffrey Walton 81f8c48faf
Avoid std::call_once (GH #707)
This commit also favors init priorities over C++ dynamic initialization. After the std::call_once problems on Sparc and PowerPC I'm worried about problems with Dynamic Initialization and Destruction with Concurrency.
We also do away with supressing warnings and use CRYPTOPP_UNUSED instead.
2018-08-21 12:53:10 -04:00
Jeffrey Walton 6b93c284fe
Use bitwise not 0 for last block flag 2018-08-21 11:25:39 -04:00
Jeffrey Walton a9c5c56d21
Switch to SaturatingSubtract to guard against wrap on user parameters 2018-08-21 11:21:20 -04:00
Jeffrey Walton 4a86ad67bf
Clear initialization warning due to non-trivial destructor 2018-08-21 10:45:44 -04:00
Jeffrey Walton 899236b99c
Tweak Makefile test to compile but not link (GH #707) 2018-08-21 06:28:28 -04:00
Jeffrey Walton c3dd09b93e
Update messages in cryptest.sh 2018-08-20 22:53:39 -04:00
Jeffrey Walton 87493974c7
Add Power8 VMULL tests to cryptest.sh 2018-08-20 22:48:38 -04:00
Jeffrey Walton c0b1116082
Fix compile on Visual Studio 2005 without service packs 2018-08-20 15:22:48 -04:00
Jeffrey Walton cb5795482d
Update Visual Studio 2005 project files 2018-08-20 15:12:35 -04:00
Jeffrey Walton 8db82708e3
Clear conversion wanrings under MSVC 2018-08-20 15:05:42 -04:00
Jeffrey Walton cb6f93c2ba
Update Visual Studio 2005 project files 2018-08-20 14:58:11 -04:00
Jeffrey Walton 3ad077ad82
Clear conversion wanrings under MSVC 2018-08-20 14:08:27 -04:00
Jeffrey Walton 2f906a031b
Clear conversion wanrings under MSVC 2018-08-20 14:01:05 -04:00
Jeffrey Walton 37828ff0ef
Clear conversion wanrings under MSVC 2018-08-20 13:58:58 -04:00