Commit Graph

3005 Commits (16442d2eae2547cb4c29ab9720c67c81af184e72)

Author SHA1 Message Date
Jeffrey Walton 16442d2eae
Test iOS Watch and TV builds.
Take 3
2017-08-14 05:45:22 -04:00
Jeffrey Walton 9f33d0f834
Test iOS Watch and TV builds. For real this time... 2017-08-14 04:36:17 -04:00
Jeffrey Walton a9fd2b6104
Test iOS Watch and TV builds 2017-08-14 04:34:24 -04:00
Jeffrey Walton 08191d5dff
Fix define used for SHA includes 2017-08-14 04:18:12 -04:00
Jeffrey Walton a92fc55d39
Remove duplicate test after updtream merge 2017-08-14 04:01:55 -04:00
Jeffrey Walton a25e63fcb7
Fix sources after sync with upstream 2017-08-14 03:19:20 -04:00
Jeffrey Walton c44f32d683 Sync with upstream master 2017-08-14 02:22:48 -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 011429583d
Fix sources after sync with upstream master 2017-08-13 07:06:19 -04:00
Jeffrey Walton e0ec92b541 Sync with Upstream master 2017-08-13 06:54:28 -04:00
Jeffrey Walton 5f441d28e5
Cleanup __m128 casts due to Clang 2017-08-13 06:53:35 -04:00
Jeffrey Walton 863bf9133c
Cleanup casts due to Clang 2017-08-13 06:32:09 -04:00
Jeffrey Walton d8e56b8250 Sync with Upstream master 2017-08-13 05:01:57 -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
Jeffrey Walton 95ee8975b4
Use blockSize in error message thrown 2017-08-12 20:29:33 -04:00
Jeffrey Walton 5f3a3f29e8
Sync with Upstream master 2017-08-12 19:28:59 -04:00
Jeffrey Walton 5e6e6c4eaa Sync with Upstream master 2017-08-12 19:24:00 -04:00
Jeffrey Walton 7d21cdd54e
Convert GCM to use runtime blocksize checking (Issue 408)
GCM is still only defined for 16-byte ciphers, but this is where we need to be when we add the larger polynomials
2017-08-12 16:14:29 -04:00
Jeffrey Walton 19ab62201d
Add files to Visual Studio filters 2017-08-12 00:15:09 -04:00
Jeffrey Walton 1463995c99
Add files to Visual Studio filters 2017-08-12 00:09:51 -04:00
Jeffrey Walton a84f568ee2
Add subfunc to CpuId for AVX and above 2017-08-11 22:56:01 -04:00
Jeffrey Walton f02503d08f Sync with Upstream master 2017-08-11 17:27:19 -04:00
Jeffrey Walton f5aa6f1f06
Cast enums to int for comparison 2017-08-11 17:15:13 -04:00
Jeffrey Walton 953252e44d
Move from 'static' to 'enum' for class constants
Enums don't take up space in class objects. Its should result in smaller objects and faster code
2017-08-11 17:13:15 -04:00
Jeffrey Walton 9ab233b52a
Switch from 'static const' to 'enum' for class constants
Enums do not take up space in a class. It should lead to smaller objects and faster runtimes
2017-08-11 16:09:28 -04:00
Jeffrey Walton 93a8f9e9b7
Fix compile with GCC on Solaris 2017-08-11 16:08:28 -04:00
Jeffrey Walton 5b945a5412
Update for earlier Apple compilers, like Apple Clang 6 and 8 2017-08-11 14:24:05 -04:00
Jeffrey Walton 8a66353b2c
Test <arm_acle.h> include under Apple
This is a compile test
2017-08-11 12:31:04 -04:00
Jeffrey Walton 22b7d74e1f
Test Apple ARM64 runtime detection
This is a compile test
2017-08-11 11:57:30 -04:00
Jeffrey Walton a46377caf7
Clear "C4189: 'keys': local variable is initialized but not referenced" 2017-08-11 08:32:09 -04:00
Jeffrey Walton f7978a6529
Sync with Upstream master 2017-08-11 07:53:37 -04:00
Jeffrey Walton 28a1fc2c60 Sync with Upstream master 2017-08-11 07:36:27 -04:00
Jeffrey Walton 173dd0b530
Add AES for ARMv8 (Issue 458) 2017-08-11 07:31:09 -04:00
Jeffrey Walton 6c28b521bd
Fix Illegal Instruction under SSE2+SSSE3
It appears SSE4.1 crept into our SSE2+SSSE3 implementation. We'll revisit it in the future
2017-08-11 06:43:14 -04:00
Jeffrey Walton 0c194bbc46
Fix "SSE4.2 instruction set not enabled"
Also see https://gcc.gnu.org/ml/gcc-help/2017-08/msg00015.html
2017-08-11 05:28:36 -04:00
Jeffrey Walton ce96a7974d Sync with Upstream master 2017-08-10 23:04:12 -04:00
Jeffrey Walton e5b1be035e
Add iOS testing to Travis 2017-08-10 22:59:00 -04:00
Jeffrey Walton 70a0ca0826
Try to enable Travis iOS testing
Take 18
2017-08-10 22:37:20 -04:00
Jeffrey Walton 7907742c1a
Try to enable Travis iOS testing
Take 17
2017-08-10 22:10:47 -04:00
Jeffrey Walton 0b31e7ff5e
Fix broken compiler under Apple Clang for ARMv8
Undefined symbols for architecture arm64:

  "CryptoPP::CRC32_Update_ARMV8(unsigned char const*, unsigned long, unsigned int&)", referenced from:

      CryptoPP::CRC32::Update(unsigned char const*, unsigned long) in libcryptopp.a(crc.o)

  "CryptoPP::CRC32C_Update_ARMV8(unsigned char const*, unsigned long, unsigned int&)", referenced from:

      CryptoPP::CRC32C::Update(unsigned char const*, unsigned long) in libcryptopp.a(crc.o)

ld: symbol(s) not found for architecture arm64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

make: *** [cryptest.exe] Error 1
2017-08-10 22:08:40 -04:00
Jeffrey Walton 4a6cdc34a5
Try to enable Travis iOS testing
Take 16
2017-08-10 21:19:29 -04:00
Jeffrey Walton c99beec2cd
Fix "error: use of undeclared identifier 'NULL'" on iOS 2017-08-10 21:18:29 -04:00
Jeffrey Walton 7cbadb43f9
Try to enable Travis iOS testing
Take 15
2017-08-10 21:11:33 -04:00
Jeffrey Walton 9df1c3b09b
Try to enable Travis iOS testing
Take 14
2017-08-10 21:07:20 -04:00
Jeffrey Walton cea2249608
Try to enable Travis iOS testing
Take 13
2017-08-10 21:01:24 -04:00
Jeffrey Walton 2d97cf8bf8
Try to enable Travis iOS testing
Take 12
2017-08-10 20:51:07 -04:00
Jeffrey Walton eae89e2af0
Try to enable Travis iOS testing
Take 11
2017-08-10 20:33:39 -04:00