Commit Graph

2915 Commits (c06995a71b8e90bb10c2f00d137f74b9108cfcc1)

Author SHA1 Message Date
Jeffrey Walton a9cd6755c7
Fix MSC C4100 warning for size
Also see commit 42b7c4ea56.
2017-08-18 10:07:47 -04:00
Jeffrey Walton 42b7c4ea56
Clear Coverity finding CONSTANT_EXPRESSION_RESULT (CID 182772)
This may create a MSC warning about a conditional expression being constant
2017-08-18 07:59:21 -04:00
Jeffrey Walton b61953a7a7
Clear Coverity finding UNINIT_CTOR (CID 182771) 2017-08-18 05:02:06 -04:00
Jeffrey Walton 5ef2b814bc
Clear Coverity finding UNINIT_CTOR (CID 148126) 2017-08-18 04:59:30 -04:00
Jeffrey Walton 0b31a12534
Fix missing backslash 2017-08-18 04:53:22 -04:00
Jeffrey Walton 2a7ccd6fd3
Clear Coverity finding CONSTANT_EXPRESSION_RESULT (CID 182768) 2017-08-18 04:52:20 -04:00
Jeffrey Walton adfb30a579
Clear Coverity finding CHECKED_RETURN (CID 182769) 2017-08-18 04:51:50 -04:00
Jeffrey Walton 4039b21b39
Add ARMv8 machine strings for Apple 2017-08-18 03:03:42 -04:00
Jeffrey Walton a9534a7cf3
Use CRYPTOPP_SSE2_INTRIN_AVAILABLE for consistent naming 2017-08-18 02:11:41 -04:00
Jeffrey Walton 2a2f6cb7b3
Fix SSSE3 issues under GCC 4.4.5 on Debian 6 2017-08-17 19:04:00 -04:00
Jeffrey Walton 1267c75369
Fix constexpr issues under GCC 4.1.2 found on CentOS 5 2017-08-17 18:35:06 -04:00
Jeffrey Walton 51fe8a7776
Guard use of SIGILL probes on Apple platforms 2017-08-17 18:06:57 -04:00
Jeffrey Walton 82456515c5
Update documentation 2017-08-17 16:56:35 -04:00
Jeffrey Walton e3c8e69ba3
Rework makefile cpu feature detection code for the BSDs 2017-08-17 16:35:56 -04:00
Jeffrey Walton 9d1f7f7539
Avoid use of SecBlock::m_ptr in Salsa 2017-08-17 16:27:56 -04:00
Jeffrey Walton ae84826d4b
Update documentation 2017-08-17 16:24:54 -04:00
Jeffrey Walton 803c1a78e7
Update documentation 2017-08-17 14:24:51 -04:00
Jeffrey Walton 2c44518fcb
Fix iOS ARM build
cpu.cpp:451:17: error: variable has incomplete type 'struct utsname'

        struct utsname systemInfo;

                       ^

cpu.cpp:451:9: note: forward declaration of 'utsname'

        struct utsname systemInfo;

               ^

1 error generated.
2017-08-17 13:52:26 -04:00
Jeffrey Walton e2c377effd Split source files to support Base Implementation + SIMD implementation (GH #461)
Split source files to support Base Implementation + SIMD implementation
2017-08-17 12:33:43 -04:00
Jeffrey Walton 74d21068a1
Fix more Clang problems
I wish this god damn compiler would stop pretending to be other compilers when it can't consume the same program. Even the GCC devs have told the LLVM devs to stop ding that crap
2017-08-17 10:45:43 -04:00
Jeffrey Walton 7779fa3e7a
Fix NEON detection on Aarch32 and Aarch64
I wish GCC would get its head out of its ass and define the apprpriate defines. NEON/ASIMD cannot be disgorged from Aarch32/Aarch64 just like SSE2 cannot be disgorged from x86_64. They are core instruction sets
2017-08-17 02:15:42 -04:00
Jeffrey Walton 6e35e7387a
Add debug configuration to Travis 2017-08-17 01:47:08 -04:00
Jeffrey Walton f099d2df91
Remove ios-tv from allow_failures 2017-08-16 23:15:23 -04:00
Jeffrey Walton 3887c919c3
Clear unused variable warnings under MSVC 2017-08-16 22:56:36 -04:00
Jeffrey Walton df280a509a
Disable Carryless Multiplies for Clang
Clang causes too many problems. Early versions of the compiler simply crashes. Later versions of the compiler still have trouble with Intel ASM and still produce incorrect results on occassion. Additionally, we have to special case the integrated assemvler. Its making a mess of the code and causing self test failures
2017-08-16 22:10:53 -04:00
Jeffrey Walton 1450847e40
Update comments 2017-08-16 21:43:31 -04:00
Jeffrey Walton 5a32fbbeba
Fix "warning: binding dereferenced null pointer to reference has undefined behavior"
This shows up under debug builds when testing instantiations.

 warning: binding dereferenced null pointer to reference has
      undefined behavior [-Wnull-dereference]
        DH2 dh(*(SimpleKeyAgreementDomain*)NULLPTR);
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2017-08-16 20:49:03 -04:00
Jeffrey Walton b8e794cc6d
Add SHACAL2 optimizations
Thanks to Botan for providing these
2017-08-16 14:33:31 -04:00
Jeffrey Walton c40a4dc9f7
Fix Clang warning on missing template definitions 2017-08-16 12:21:07 -04:00
Jeffrey Walton 8f4b0dc081
Suppress C4251 and C4275 warnings in project files (Issue 412) 2017-08-16 11:24:48 -04:00
Jeffrey Walton b0b749f392
Fold shuffles after loads for SHACAL2 2017-08-16 10:40:00 -04:00
Jeffrey Walton 1ab1e08ac5
Add Intel SHA implementation for SHACAL2 encryption
The implementation came from Jack Lloyd and the Botan team. Jack and the Botan was gracious and allowed us to use Botan's x86_encrypt_blocks function. They also allowed us to release it under the Crypto++ licensing terms. Also see https://github.com/randombit/botan/pull/1151/files
2017-08-16 06:13:06 -04:00
Jeffrey Walton b311aabc31
Update documentation 2017-08-16 05:42:58 -04:00
Jeffrey Walton e19fad007f
Fix library version number in script 2017-08-16 05:36:11 -04:00
Jeffrey Walton c5c6a6af5c
Fix Doxygen constant documentation 2017-08-16 05:11:37 -04:00
Jeffrey Walton 08c37e5887
Update comments in Rijndael head comments 2017-08-15 14:26:30 -04:00
Jeffrey Walton 6f36c7deae
Cleared UBsan finding in Default's GenerateKeyIV
passed:  128 deflates and inflates
passed:  128 zlib decompress and compress
default.cpp:69:2: runtime error: null pointer passed as argument 2, which is declared to never be null
/usr/include/x86_64-linux-gnu/bits/string3.h:53:71: runtime error: null pointer passed as argument 2, which is declared to never be null

Information Dispersal and Secret Sharing...
2017-08-15 08:51:03 -04:00
Jeffrey Walton 092b3cb467
Backed off assert.
Its too noisy
2017-08-15 04:42:12 -04:00
Jeffrey Walton 659b47108a
Fix Address Sanitizer findings on GCC117
GCC117 is a Aarch64/ARM64 server with AMD's ARM chip and GCC 7.10. It looks like GCC is performing some std::string optimizations that generates a finding. We did not witness the finding on other platforms, like other Aarch64 devices and x86_64.

We will need to check if taking the address of element-0 is still approved way to get the non-const pointer to the elements
2017-08-15 03:11:03 -04:00
Jeffrey Walton 0110f8397f
Add ELEMS_MAX for SecBlock (Issue 346)
Reset the mark on additional class methods
2017-08-15 03:07:30 -04:00
Jeffrey Walton 876142b1b6
Update with latest sources and reproducible build 2017-08-15 03:05:45 -04:00
Jeffrey Walton cebeedfefd
Fix Address Sanitizer findings on GCC117
GCC117 is a Aarch64/ARM64 server powered by AMD's ARM chip. It runs GCC 7.10. It looks like GCC is performing some std::string optimizations that generates a finding. We have not witnessed the finding on other platforms
2017-08-15 01:15:08 -04:00
Jeffrey Walton 93f085c44c
Fix test script when running on machine with RO mount of / 2017-08-14 19:31:36 -04:00
Jeffrey Walton f8e77e0fe6
Add Apple Watch and TV to Travis testing 2017-08-14 07:54:10 -04:00
Jeffrey Walton effa446a61
Fix test script when running on machine with RO mount of / 2017-08-14 01:48:11 -04:00
Jeffrey Walton 6a29d8c56f
Use -O1 for Asan and UBsan 2017-08-14 01:05:03 -04:00
Jeffrey Walton 2ee8e3b26d
Move free standing function into anonymous namespace
Update comments and use class constants when available
2017-08-14 00:08:55 -04:00
Jeffrey Walton 2aff92ddb6
Fix bad SHA::Transform calculation (Issue 455)
Reworked SHA class internals to align all the implementations. Formerly all hashes were software based, IterHashBase handled endian conversions, IterHashBase repeatedly called the single block SHA{N}::Transform. The rework added SHA{N}::HashMultipleBlocks, and the SHA classes attempt to always use it.

Now SHA{N}::Transform calls into SHA{N}_HashMultipleBlocks, which is a free standing function. An added wrinkle is hardware wants little endian data and software presents big endian data, so HashMultipleBlocks accepts a ByteOrder for the incoming data. Hardware based SHA{N}_HashMultipleBlocks can often perform the endian swap much easier by setting an EPI mask so it was profitable to defer to hardware when available.

The rework also removed the hacked-in pointers to implementations. The class now looks more like AES, GCM, etc.
2017-08-13 16:05:39 -04:00
Jeffrey Walton 863bf9133c
Cleanup casts due to Clang 2017-08-13 06:32:09 -04:00
Jeffrey Walton f02bf91ee5
Revert 95ee8975b4 and 7d21cdd54e (Issue 408)
This broke some OS X builds. We need more testing. Ugh...
2017-08-13 04:31:17 -04:00