Commit Graph

32 Commits

Author SHA1 Message Date
Jeffrey Walton
7ff5f0dcf1
Try fix Travis testing on OS X 2018-07-31 11:48:54 -04:00
Jeffrey Walton
36318790a2
Whitespace check-in 2018-07-30 14:11:54 -04:00
Jeffrey Walton
2510d978a0
Try fix Travis and "cryptest-ios.sh not found" 2018-07-30 14:10:52 -04:00
Jeffrey Walton
e6fb540c4c
Allow iPhoneSimulator failures (GH #684)
We still need to figure out what to do with this.
2018-07-16 17:12:02 -04:00
Jeffrey Walton
4e3a1ea962
Add ARMv8.4 cpu feature detection support (GH #685) (#687)
This PR adds ARMv8.4 cpu feature detection support. Previously we only needed ARMv8.1 and things were much easier. For example, ARMv8.1 `__ARM_FEATURE_CRYPTO` meant PMULL, AES, SHA-1 and SHA-256 were available. ARMv8.4 `__ARM_FEATURE_CRYPTO` means PMULL, AES, SHA-1, SHA-256, SHA-512, SHA-3, SM3 and SM4 are  available. 

We still use the same pattern as before. We make something available based on compiler version and/or preprocessor macros. But this time around we had to tighten things up a bit to ensure ARMv8.4 did not cross-pollinate down into ARMv8.1.

ARMv8.4 is largely untested at the moment. There is no hardware in the field and CI lacks QEMU with the relevant patches/support. We will probably have to revisit some of this stuff in the future.

Since this update applies to ARM gadgets we took the time to expand Android and iOS testing on Travis. Travis now tests more platforms, and includes Autotools and CMake builds, too.
2018-07-15 08:35:14 -04:00
Jeffrey Walton
4120e3a53f
Allow Travis iOS test failure for WatchOS (GH #570)
Also see https://stackoverflow.com/q/45671493/608639
2018-04-06 07:21:53 -04:00
Jeffrey Walton
d94ef9c70c
Re-enable OS X and iOS on Travis (GH #570, PR #627) 2018-04-01 02:37:32 -04:00
Jeffrey Walton
5631da3697
Disable Travis iOS testing (GH #570) 2018-01-21 12:48:50 -05:00
Jeffrey Walton
133b2411d4
Disable Travis OS X and iOS testing (GH #570)
Travis is having infrastructure problems since it migrated in November 2017. Our OS X and iOS tests hang for days. When the current job hangs, new jobs that enter the queue later hang too because the original job is still waiting.

The subsequent hangs effect Android and Linux, too. Our Travis scripts test Android, Linux, OS X and iOS. A hang effects everything.

We are going to disable Travis OS X and iOS tests until things improve.
2018-01-21 11:02:42 -05:00
Felix Barz
105f78495c Update Android build scripts to the latest NDK (#546)
Fix Environment setup for android to match the new unified headers.
Adjust the Makefile accordingly.
Updated the test scripts and travis to test these changes.
2018-01-21 09:05:34 -05:00
Jeffrey Walton
13ea8f374f
Add interface to TweetNaCl library (#566)
TweetNaCl is a compact reimplementation of the NaCl library by Daniel J. Bernstein, Bernard van Gastel, Wesley Janssen, Tanja Lange, Peter Schwabe and Sjaak Smetsers. The library is less than 20 KB in size and provides 25 of the NaCl library functions.

The compact library uses curve25519, XSalsa20, Poly1305 and SHA-512 as default primitives, and includes both x25519 key exchange and ed25519 signatures. The complete list of functions can be found in TweetNaCl: A crypto library in 100 tweets (20140917), Table 1, page 5.

Crypto++ retained the function names and signatures but switched to data types provided by <stdint.h> to promote interoperability with Crypto++ and avoid size problems on platforms like Cygwin. For example, NaCl typdef'd u64 as an unsigned long long, but Cygwin, MinGW and MSYS are LP64 systems (not LLP64 systems). In addition, Crypto++ was missing NaCl's signed 64-bit integer i64.

Crypto++ enforces the 0-key restriction due to small points. The TweetNaCl library allowed the 0-keys to small points. Also see RFC 7748, Elliptic Curves for Security, Section 6.

TweetNaCl is well written but not well optimized. It runs 2x to 3x slower than optimized routines from libsodium. However, the library is still 2x to 4x faster than the algorithms NaCl was designed to replace.

The Crypto++ wrapper for TweetNaCl requires OS features. That is, NO_OS_DEPENDENCE cannot be defined. It is due to TweetNaCl's internal function randombytes. Crypto++ used DefaultAutoSeededRNG within randombytes, so OS integration must be enabled. You can use another generator like RDRAND to avoid the restriction.
2018-01-17 22:02:09 -05:00
Jeffrey Walton
f3c04dbcb7
Remove CMake testing support (GH #506)
CMake can now be found at http://www.cryptopp.com/wiki/CMake. The Cmake project files are now maintianed by the community.
2017-09-16 21:23:35 -04:00
Jeffrey Walton
9c9e69119f Remove -march=native as default in Makefile and CMake (PR #465)
Remove -march=native as default in Makefile and CMake (PR #465)
2017-08-23 16:13:20 -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
e5b1be035e
Add iOS testing to Travis 2017-08-10 22:59:00 -04:00
Jeffrey Walton
dd42fa3ef6
Add notification address of cryptopp-build@googlegroups.com (Take 2) 2017-05-31 07:22:04 -04:00
Jeffrey Walton
a33504c8f8
Add notification address of cryptopp-build@googlegroups.com
Its a new Google Group created at https://groups.google.com/forum/#!forum/cryptopp-build. The list should allow us to run services on unprivileged forks and other unrelated accounts while making it easy to find results.
2017-05-31 04:36:31 -04:00
Jeffrey Walton
0df38c3506
Fix build timeout due to tracking vars under UBsan
Also see https://stackoverflow.com/q/2954473/608639 and https://stackoverflow.com/q/708807/608639
2017-05-28 17:00:09 -04:00
Jeffrey Walton
567e4f31b4
Update travis.yml for Clang, GCC and OS X
Thanks to Hiro Asari on the Travis GitHub for helping with the last of the issues
2017-05-28 02:42:40 -04:00
Hiro Asari
b120276f3e Define matrix exclusion (#432) 2017-05-28 01:17:28 -04:00
Jeffrey Walton
0885ce2bcc
Attempt to add Code Coverage report (Take 5)
This should be interesting...
2017-05-27 06:41:02 -04:00
Jeffrey Walton
ea3ea9deb5
Add missing semi-colon 2017-05-27 05:50:01 -04:00
Jeffrey Walton
b5240463f1
Attempt to add Code Coverage report (Take 4)
This should be interesting...
2017-05-27 04:21:51 -04:00
Jeffrey Walton
345b4e49e2
Attempt to add Code Coverage report (Take 2)
This should be interesting...
2017-05-27 03:42:50 -04:00
Jeffrey Walton
3c504b3401
Attempt to add Code Coverage report
This should be interesting...
2017-05-27 03:08:07 -04:00
Jeffrey Walton
b02ab0a0ba
Tune Travis configuration
Now that the jobs are running we can start fixing the little issues
2017-05-27 00:41:58 -04:00
Jeffrey Walton
84e6961457
Updated makefile trim and convert rules
Whitespace check-in
2017-05-26 10:08:44 -04:00
Jeffrey Walton
4f5dd74286
Update Travis config file 2017-05-26 09:41:15 -04:00
Jeffrey Walton
b770b21dc4
Fix Travis hang 2017-05-26 06:30:46 -04:00
Jeffrey Walton
f69504f6b4
Cleanup travis.yml file 2017-04-17 01:15:55 -04:00
Jeffrey Walton
3d9ac8f66f
Add Travis configuration file 2017-04-17 00:25:57 -04:00