Commit Graph

70 Commits

Author SHA1 Message Date
Jeffrey Walton
84063b0070
Remove cryptest-cmake.sh
CMake is now maintained by Abdessattar Sassi. The directory layout of the files changed and cryptest-cmake.sh no longer works as expected.
Also see https://groups.google.com/g/cryptopp-users/c/9oDbTm8qWps.
2022-08-23 16:32:31 -04:00
Jeffrey Walton
7b97214822
Update test scripts 2021-02-07 06:31:33 -05:00
Jeffrey Walton
980cc950b1 Move Clang 8 on PPC64 to Travis allow_failures 2020-04-04 08:52:05 -04:00
Jeffrey Walton
ccb3e869ed
Match arm64 wildcard in setenv-android.sh 2020-03-26 12:43:57 -04:00
Jeffrey Walton
08af1b569e
Add additional testing to Travis
OS X coverage is increased to test a fat binary
2020-03-25 08:02:29 -04:00
Jeffrey Walton
51b2df1012
Update Travis configuration (PR #938)
Switch from Clang 7 to Clang 8 for ppc64le and s390x. Use -qq option with apt.

Clang 8 clears the ppc64le issues. Debug build on s390x is still broke.
2020-03-11 23:56:30 -04:00
Jeffrey Walton
cdc2a4aaf5
Update iOS and Android scripts (GH #936, PR #937)
This commit updates Android and iOS to modern SDKs, NDKs and Xcode.
2020-03-09 21:53:08 -04:00
Jeffrey Walton
560924ba14
Update Travis configuration
It looks like there's a problem with ppc64
2020-01-02 18:25:48 -05:00
Jeffrey Walton
f045993723
Add s390 testing for Travis (PR #912)
Add s390 testing for Travis. Move ppc64 to include jobs. Travis now officially supports both. Also see https://blog.travis-ci.com/2019-11-12-multi-cpu-architecture-ibm-power-ibm-z.
2019-11-16 18:26:04 -05:00
Jeffrey Walton
743cb6a0e6
Update Travis comments 2019-10-24 04:17:08 -04:00
Jeffrey Walton
1f3e65fc35
More Clang workarounds on PowerPC (PR #901) 2019-10-23 12:40:45 -04:00
Jeffrey Walton
40f139074b
Port ppc_simd.h to Clang 3.8 (PR #900) 2019-10-23 08:36:52 -04:00
Jeffrey Walton
8f6e156394
Use Bionic for ARM64 testing 2019-10-22 20:13:47 -04:00
Jeffrey Walton
1cb796038d
Add PPC64 builds 2019-10-22 16:59:39 -04:00
Jeffrey Walton
5f57476178
Revert to Commit 0281083 (PR #899)
Travis CI is failing on arm64 testing. Commit 0281083 is the last known good, so we are reverting to it.

The failures are unusual given things did not materially change on our side of the equation. We think something changed with Travis.

Also see https://travis-ci.community/t/segfaults-in-arm64-environment/5617.
2019-10-22 09:21:38 -04:00
Jeffrey Walton
1ecf03141f
Update comments 2019-10-21 05:08:57 -04:00
Jeffrey Walton
75485b0536
Update comments 2019-10-20 23:05:56 -04:00
Jeffrey Walton
d58a00ba21
Cleanup config_*.h files, update travis.yml file (PR #898)
This started as an update to travis.yml to support ARM64 testing. Autotools had a failure under Clang, and it required a modification to config_asm.h. We eventually guarded the availability defines in CRYPTOPP_DISABLE_ASM.
2019-10-20 21:46:05 -04:00
Jeffrey Walton
8af5af0dfe
Remove iOS WatchOS and AppleTV simulators from Travis allowed failure list 2019-10-16 21:13:36 -04:00
Jeffrey Walton
3e171d51f7
Fix cryptest-android.sh and cryptest-ios.sh
The test programs were ignoring PLATFORM in the environment, and testing all platforms
2019-10-16 15:14:14 -04:00
Jeffrey Walton
ba517a6c31
Fix setenv-android.sh and cryptest-android.sh for NDK r19 (PR #893)
setenv-android.sh and cryptest-android.sh are up to date for NDK r19 again.
2019-10-15 18:05:54 -04:00
Jeffrey Walton
e6c643feda
Add cryptest-pem.sh to Travis and OS X 2019-10-14 23:05:05 -04:00
Jeffrey Walton
3a0c08aacb
Add cryptest-pem.sh to Travis 2019-10-14 23:01:27 -04:00
Jeffrey Walton
d481922a50
Re-enable UBsan tests on Travis
The Xenial image and the Xcode 10.1 toolchain are mature enough to enable the sanitizer.
2018-12-12 09:34:09 -05:00
Jeffrey Walton
fbb9b40397
Update Travis Android SDK and NDK gear 2018-12-09 09:43:15 -05:00
Jeffrey Walton
435b7cabd3
Update Travis Android SDK and NDK gear 2018-12-09 04:19:00 -05:00
Jeffrey Walton
b324f18777
Increase git clone depth for Travis 2018-12-09 03:31:50 -05:00
Jeffrey Walton
99b7a73047
Add missing iOS architectures for Travis 2018-12-08 12:50:16 -05:00
Jeffrey Walton
7777704a38
Move iOS simulator builds to allowed_failures in Travis 2018-12-08 11:40:53 -05:00
Jeffrey Walton
c531c1c550
Add iOS Watch and TV simulator testing 2018-12-08 08:28:53 -05:00
Jeffrey Walton
c52e99a3c1
Fix ANDROID_HOME path
ANDROID_HOME is /c/Users/Jeff/.android on desktops. It is a place where user's private data goes, like Android debug signing keys. It is not the SDK directory like answered on Stack Overflow.
2018-12-08 08:24:27 -05:00
Jeffrey Walton
5124ff7b20
Use OS X 10.1 image for Travis testing 2018-12-08 08:08:08 -05:00
Jeffrey Walton
cdefa5befe
Test Travis Xenial build
I can't test on my fork at the moment because it is tied up with some other changes. Also see https://blog.travis-ci.com/2018-11-08-xenial-release.
2018-12-04 11:05:16 -05:00
Jeffrey Walton
1db4115add
Allow all Android tests to fail until we fix the script for NDK 16b 2018-11-10 18:57:00 -05:00
Jeffrey Walton
81a5429e56
Remove iPhoneSimulator from Travis allowed failures 2018-08-03 05:44:30 -04:00
Jeffrey Walton
f0fdb3bc16
Bump Travis OS X image to 9.4 2018-08-02 00:16:02 -04:00
Jeffrey Walton
70c9fe4712
Remove calls to chmod and xattr 2018-08-01 22:01:52 -04:00
Jeffrey Walton
a1b30685ab
Fix distclean rule in GNUmakefile-cross 2018-08-01 21:33:24 -04:00
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