Commit Graph

45 Commits

Author SHA1 Message Date
Jonas Nick 4ad408faf3
Merge #782: Check if variable=yes instead of if var is set in travis.sh
34debf7a6d Modify .travis.yml to explictly pass no in env vars instead of setting to nothing (Elichai Turkel)
ef37761fee Change travis.sh to check if variables are equal to yes instead of not-empty. Before this, setting `VALGRIND=wat` was considered as true, and to make it evaluate as false you had to unset the variable `VALGRIND=` but not it checks if `VALGRIND=yes` and if it's not `yes` then it's evaluated to false (Elichai Turkel)

Pull request description:

ACKs for top commit:
  real-or-random:
    ACK 34debf7a6d
  jonasnick:
    ACK 34debf7a6d

Tree-SHA512: 91becfbc9cb7587ee55b2bceb604ea0aed8860990d63a5f414b11db92180c090ea8bcc048c2fb67a094e892138e3be46f00562bf78b7c3369232457289cde447
2020-09-15 17:48:23 +00:00
Elichai Turkel 34debf7a6d
Modify .travis.yml to explictly pass no in env vars instead of setting to nothing 2020-09-14 18:02:25 +03:00
Jonas Nick 4e43520026 schnorrsig: Add BIP-340 compatible signing and verification 2020-09-06 19:00:03 +00:00
Pieter Wuille 79f1f7a4f1 Autodetect __int128 availability on the C side
Instead of supporting configuration of the field and scalar size independently,
both are now controlled by the availability of a 64x64->128 bit multiplication
(currently only through __int128). This is autodetected from the C code through
__SIZEOF_INT128__, but can be overridden using configure's
--with-test-override-wide-multiply, or by defining
USE_FORCE_WIDEMUL_{INT64,INT128} manually.
2020-08-10 14:56:39 -07:00
Pieter Wuille 39295362cf Test travis s390x (big endian) 2020-08-07 12:46:22 +02:00
Elichai Turkel 71757da5cc
Explictly pass SECP256K1_BENCH_ITERS to the benchmarks in travis.sh 2020-05-18 12:01:07 +03:00
Elichai Turkel 99bd661d71
Replace travis_wait with a loop printing "\a" to stdout every minute 2020-05-11 16:02:25 +03:00
Elichai Turkel bc818b160c
Bump travis Ubuntu from xenial(16.04) to bionic(18.04) 2020-05-11 16:01:20 +03:00
Elichai Turkel 0c5ff9066e
Add macOS support to travis 2020-05-11 16:01:20 +03:00
Elichai Turkel b6807d91d8
Move travis script into a standalone sh file 2020-05-11 16:01:16 +03:00
Elichai Turkel 85b35afa76
Add running benchmarks regularly and under valgrind in travis 2020-03-18 16:17:27 +02:00
Jonas Nick 08fb6c4926 Run valgrind_ctime_test in travis 2020-02-24 18:59:30 +00:00
Gregory Maxwell 7b50483ad7 Adds a declassify operation to aid constant-time analysis.
ECDSA signing has a retry loop for the exceptionally unlikely case
 that S==0.  S is not a secret at this point and this case is so
 rare that it will never be observed but branching on it will trip
 up tools analysing if the code is constant time with respect to
 secrets.

Derandomized ECDSA can also loop on k being zero or overflowing,
 and while k is a secret these cases are too rare (1:2^255) to
 ever observe and are also of no concern.

This adds a function for marking memory as no-longer-secret and
 sets it up for use with the valgrind memcheck constant-time
 test.
2020-02-20 17:27:26 +00:00
Jonas Nick 642cd062bd Remove Java Native Interface 2020-01-08 09:13:09 +00:00
Jonas Nick fb424fbba2 Make travis show the ./tests seed by removing stdout buffering and always cat tests.log after a travis run. 2019-11-25 10:23:21 +00:00
Elichai Turkel dd98cc988f
travis: Added a valgrind test without endro and enabled recovery+ecdh 2019-11-11 14:35:14 +02:00
Elichai Turkel b4c1382a87
Add valgrind check to travis 2019-11-08 15:42:32 +02:00
Jonas Nick 5c5f71eea5 Fix ASM setting in travis 2019-11-05 10:56:02 +00:00
djb dcb2e3b3ff
variable signing precompute table
make ECMULT_GEN_PREC_BITS configurable

ecmult_static_context.h: add compile time config assertion (#3) - Prevents accidentally using a file which was generated with a
different configuration.

README: mention valgrind issue

With --with-ecmult-gen-precision=8, valgrind needs a max stack size
adjustment to not run into a stack switching heuristic:

http://valgrind.org/docs/manual/manual-core.html

> -max-stackframe= [default: 2000000]
> The maximum size of a stack frame. If the stack pointer moves by more than this amount then Valgrind will assume that the program is switching to a different stack.
You may need to use this option if your program has large stack-allocated arrays.

basic-config: undef ECMULT_WINDOW_SIZE before (re-)defining it
2019-09-05 09:19:41 +02:00
MarcoFalke 7667532bd7 travis: Remove unused sudo:false 2019-03-30 12:35:32 -04:00
Karl-Johan Alm 57752d28b3
[build] Set --enable-jni to no by default instead of auto. 2017-08-17 17:10:57 +09:00
Pieter Wuille 8eecc4a302 Remove Schnorr from travis as well 2016-11-27 14:31:51 -08:00
GreenAddress 3093576aa4 JNI library
Squashed and rebased. Thanks to @theuni and @faizkhan00 for doing
the majority of work here! Also thanks to @btchip for help with debugging
and review.
2016-02-01 14:07:18 +01:00
Pieter Wuille 83221ecb00 Add experimental features to configure 2015-11-27 00:20:28 +01:00
Cory Fields 7c823e3030 travis: fixup module configs 2015-09-29 20:37:50 -04:00
Pieter Wuille 9f443be086 Move pubkey recovery code to separate module 2015-08-28 01:51:52 +02:00
Pieter Wuille 356b0e9c77 Actually test static precomputation in Travis 2015-08-03 22:39:20 +02:00
Pieter Wuille a5a66c70b6 Add support for custom EC-Schnorr-SHA256 signatures 2015-08-03 20:08:51 +02:00
Andrew Poelstra 0739bbb6f0 Add ECDH module which works by hashing the output of ecmult_const 2015-08-01 10:57:33 -05:00
Pieter Wuille a83bb48068 Make ecmult static precomputation default 2015-07-15 21:41:51 -04:00
Thomas Daede 733c1e695e Add travis build to test the static context. 2015-07-13 18:00:03 -07:00
Cory Fields 2d2707a4d8 travis: test i686 builds with gmp
Test with and without endomorphism.
2015-04-22 04:51:32 -04:00
Cory Fields cf7f70229b travis: update to new build infrastructure
See here:
http://blog.travis-ci.com/2014-12-17-faster-builds-with-container-based-infrastructure/

These changes remove our use of sudo so that we can move to the container-based
builds. This yields quicker builds and less reliance on the old infrastructure.
2015-04-22 04:51:23 -04:00
Pieter Wuille 7277fd76e2 Remove GMP field implementation 2014-12-17 12:41:31 +01:00
Pieter Wuille 1ba4a60a51 Configure options reorganization 2014-12-13 15:04:28 +01:00
Pieter Wuille a3e0611014 Enable tests in x86 travis builds 2014-12-11 00:41:53 +01:00
Cory Fields 45da235e93 x86 builder 2014-12-11 00:41:53 +01:00
Cory Fields 992e03bc28 travis: add clang to the test matrix 2014-12-08 17:06:41 -05:00
Pieter Wuille c35ff1ea44 Convert lambda splitter to pure scalar code.
This enables the use of the endomorphism optimization without bignum.
2014-12-02 16:50:00 +01:00
Pieter Wuille 597128d389 Make num optional 2014-12-01 12:38:38 +01:00
Pieter Wuille f49b2ef840 Add DETERMINISTIC to avoid line number/source dependent binaries
This will make it easier to detect changes without semantic impact.
2014-11-18 11:08:44 +01:00
Pieter Wuille 1d52a8b155 Implementations for scalar without data-dependent branches. 2014-11-04 03:01:55 -08:00
Pieter Wuille 520ba3c921 Remove OpenSSL bignum implementation 2014-10-31 02:10:13 -07:00
Cory Fields 7280781c3a travis: minimize the dependencies available for each build config
This is a more realistic representation of a build environment. Helps to ensure
configure logic and that headers aren't accidentally assumed to be present.
2014-07-25 11:35:16 -04:00
Cory Fields b0cc21f896 build: add travis support
This adds a huge matrix of builds. The undesirable ones can be removed.
2014-06-19 14:56:23 -04:00