Commit Graph

616 Commits

Author SHA1 Message Date
Frank Denis
088e78cc58 Simplify scalarmult{2,5} tests 2020-04-26 20:07:29 +02:00
Frank Denis
8cd121c989 Add a scalarmult test to show that the high bit is ignored 2020-04-26 20:07:24 +02:00
Frank Denis
5fa3afca7a One more test vector cannot hurt 2020-04-25 12:26:45 +02:00
Emil Bay
73aa0ebad2 fix crypto_stream_chacha20_ietf tests (#946) 2020-04-17 11:01:23 +02:00
Frank Denis
3b689a6ab4 New automake version 2020-03-22 22:56:19 +01:00
Frank Denis
b6e61122a4 Add wasm3 to the set of supported WebAssembly runtimes
Also add wasmer-js
2020-02-04 19:54:59 +01:00
Frank Denis
f20e6fdad2 Temporarily remove support for Lucet
Lucet doesn't work on MacOS any more, so testing it has become difficult.
2020-02-04 19:33:13 +01:00
Frank Denis
1d4017df58 Regen 2019-11-11 01:08:03 +01:00
Frank Denis
bfa866e2f0 Deprecate crypto_core_ed25519_from_hash() 2019-10-13 10:03:48 +02:00
Frank Denis
dbab49d48d Try Lucet as a last option, after wasmer, due to its unstable interface 2019-10-11 17:32:22 +02:00
Frank Denis
e06c260d0e Lucet removed the "fast" optimization level
We may drop Lucet support entirely until the interface gets more stable
2019-10-11 16:36:27 +02:00
Frank Denis
80807b30c5 WASI can't read its own writes without an explicit fflush() 2019-09-13 11:17:55 +02:00
Frank Denis
612d60f54a lucetc-wasi requires units with --max-heap-size 2019-07-09 20:42:46 +02:00
Frank Denis
940ef42797 1.0.18 2019-05-30 21:57:51 +02:00
Frank Denis
39083793f5 Remove an unreliable scrypt test
Fixes #837
2019-05-21 13:15:37 +02:00
Ilya Maykov
6bece9c8c4 Relax most __attribute__ ((nonnull)) to allow 0-length inputs to be NULL.
Justifications:
- crypto_(auth|hash|generichash|onetimeauth|shorthash)*:
  it's legal to hash or HMAC a 0-length message
- crypto_box*: it's legal to encrypt a 0-length message
- crypto_sign*: it's legal to sign a 0-length message
- utils:
  comparing two 0-length byte arrays is legal
  memzero on a 0-length byte array is a no-op
  converting an empty hex string to binary results in an empty binary string
  converting an empty binary string to hex results in an empty hex string
  converting an empty b64 string to binary results in an empty binary string
  converting an empty binary string to b64 results in an empty b64 string
  sodium_add / sodium_sub on zero-length arrays is a no-op

For the functions declared in utils.h, I moved the logic into private functions that
have the __attribute__ ((nonnull)) check, but they are only called when the
corresponding length argument is non-0. I didn't do this for the hash/box/sign
functions since it would have been a lot more work and quite a large refactor.

Only memset() may have issues with a zero length.

Fix tests, use guard page instead of NULL because of Wasm
2019-04-26 15:36:58 +02:00
Frank Denis
be8cfedea8 Make the stream and stream2 test object code 1000x smaller 2019-04-23 10:17:38 +02:00
Frank Denis
0f155d8736 Be positive 2019-04-23 10:17:33 +02:00
Frank Denis
fb29bda055 Just use some test vectors around the counter overflow 2019-04-23 10:17:25 +02:00
Frank Denis
d57cde5448 Remove useless tests, add more meaningful ones. 2019-04-23 10:17:10 +02:00
Frank Denis
cb5f937ca7 Additional salsa20 tests 2019-04-23 10:16:54 +02:00
Luca Boccassi
ecdcf55173 Add -pthread to pkgconfig's Libs.private if enabled
Allows static builds to correctly inherit the pthread dependency when
used with pkg-config --static --libs libsodium

AC_SUBST doesn't require explicit values

Regen autoconf

Fixes #800
2019-01-15 00:29:20 +01:00
Frank Denis
10ac185647 Merge branch 'master' into stable-1.0.17
* master: (190 commits)
  fileinput is not used any more
  2019
  local-dynamic is enough
  Set tls-model only if TLS is supported
  Enable -ftls-model=global-dynamic if available
  Set nonce in randombytes_salsa20_random_stir() instead of random_init()
  Bump .NET version examples
  Add another test
  Avoid memory leak and overflow in addition test
  Avoid partial array initialization
  Bump SODIUM_LIBRARY_VERSION_MINOR
  More tests
  More tests
  Improve clarity
  ALLOW_MEMORY_GROWTH is now enabled
  AVX512 detection has been improved
  Add a conditional to enable retpoline support
  must -> should
  Add comments, avoid implicit array initialization
  Add comments
  ...
2019-01-06 15:43:38 +01:00
Frank Denis
0cdf963799 Add another test 2019-01-05 23:11:02 +01:00
Frank Denis
909983a9d2 Avoid memory leak and overflow in addition test 2019-01-05 23:08:03 +01:00
Frank Denis
d4eec69ef1 More tests 2019-01-05 21:17:48 +01:00
Frank Denis
0205a8035e More tests 2019-01-05 20:56:22 +01:00
Frank Denis
7ac557498f C++ compat 2019-01-03 09:49:33 +01:00
Frank Denis
f0e9c368ea Nits 2019-01-02 16:17:35 +01:00
Frank Denis
bdfda5dc83 Nits 2019-01-02 16:14:15 +01:00
Frank Denis
d333f509a2 Add a test for sodium_sub() 2019-01-02 15:32:59 +01:00
Frank Denis
1542d473da Add crypto_core_ed25519_scalar_complement(), _negate(), _add(), _sub() 2018-12-30 01:48:58 +01:00
Frank Denis
cff3d7f6c7 Remove unused variables 2018-12-29 16:42:09 +01:00
Frank Denis
cce84d05b2 Use unsigned indices 2018-12-26 18:39:07 +01:00
Frank Denis
d3976446a0 ED25519_NONDETERMINISTIC: derive keys from the seed the same way
as when ED25519_NONDETERMINISTIC is not defined
2018-12-25 13:25:57 +01:00
Frank Denis
59bd82edab Add a crypto_core_ed25519_NONREDUCEDSCALARBYTES constant
and reject 0 in crypto_core_ed25519_random()
2018-12-24 17:26:38 +01:00
Frank Denis
8dd554d2c4 Leverage sodium_add() 2018-12-24 15:25:34 +01:00
Frank Denis
902f0997c0 Add a test for scalar_reduce() 2018-12-24 15:24:04 +01:00
Frank Denis
34e787030f Use a guard page instead of NULL for opt arguments in tests 2018-12-24 15:02:59 +01:00
Frank Denis
63573bb98c Add crypto_core_ed25519_scalar_random() 2018-12-23 12:32:07 +01:00
Frank Denis
6fa0220302 Export crypto_core_ed25519_scalar_reduce, add tests 2018-12-23 02:56:11 +01:00
Frank Denis
b6051b7ee2 Add tests for unclamped scalars 2018-12-18 23:11:15 +01:00
Frank Denis
0d948d4b7e Use chacha20_ietf in the tv_ietf test
Fixes #772
2018-10-18 00:43:55 +02:00
Frank Denis
cf217e3dfc Call misuse() if we ask too much data from the IETF variant of ChaCha20
Fix #753
2018-09-08 02:12:23 +02:00
Frank Denis
69a5643477 Add chacha20-poly1305 test from Project Wycheproof 2018-09-04 15:44:42 +02:00
Frank Denis
cb22446db1 Add aes256gcm tests from project wycheproof 2018-08-30 09:51:28 +02:00
Frank Denis
cdc4822c92 Remove unneeded trailing commas 2018-08-30 09:26:16 +02:00
Frank Denis
f8377e9818 Add x25519 test vectors from project wycheproof 2018-08-29 15:08:26 +02:00
Jakob Rieck
d7df251cd0 Fixes padding for blocksizes > 256 2018-08-27 12:22:07 +02:00
Jakob Rieck
543b5ad068 Fixes padding for blocksizes > 256 2018-08-27 11:42:49 +02:00