Frank Denis
192fd92cc7
Plug memory leaks in the pwhash_argon2* tests
2017-12-16 14:53:01 +01:00
Frank Denis
bfc8ec1248
Add a memleak checker to the benchmark code
...
Plug the leaks it surfaced in pwhash_argon2* tests
2017-12-16 14:51:11 +01:00
Frank Denis
afbef83c6b
Add missing sodium_free() calls in the kdf test
2017-12-16 14:31:41 +01:00
Frank Denis
b84e4b9ddf
Add missing sodium_free() calls in the kdf test
2017-12-16 14:31:01 +01:00
Frank Denis
765710c1f4
Sort
2017-12-16 13:29:53 +01:00
Frank Denis
7e02306443
+ #include <limits.h>
2017-12-16 13:29:49 +01:00
Frank Denis
99fe302562
Make things more explicit
2017-12-16 13:12:07 +01:00
Frank Denis
b6dab1029d
Sort
2017-12-16 13:08:55 +01:00
Frank Denis
31b13ada14
+ #include <limits.h>
2017-12-16 13:08:34 +01:00
Frank Denis
18d5940bc6
Use a simple memory pool for benchmarks
...
In the test suite, a significant amount of time is spent in memory
allocations. A memory pool helps achieve more relevant results with
less iterations.
2017-12-16 13:07:15 +01:00
Frank Denis
5bc564cac1
1.0.16
...
* master: (221 commits)
Comment
Comments
msys2 build scripts: just use -Ofast
Always prefer vararrays to alloca()
Don't redefine alloca
Return -1 if the scalar is 0 in crypto_scalarmult_ed25519()
Remove trailing space
Import the regen-msvc script
Update ChangeLog
Do not wipe the workspace after argon2 completes
Remove tests for deprecated functions
Give the compiler a change to inline index_alpha()
Immediately allocate all required memory in argon2/scrypt
Check reduced-round salsa variants in non-minimal mode
Coverage exclusion -- this is just an extra, redundant check
Remove incorrect and useless cast
-fomit-frame-pointer makes a different on mips
WebAssembly benefits from the 128-bit types, too
Remove extra spaces
Undef devel
...
2017-12-13 16:21:20 +01:00
Frank Denis
ac8dffbecb
Return -1 if the scalar is 0 in crypto_scalarmult_ed25519()
...
For consistency with _base()
2017-12-12 14:35:08 +01:00
Frank Denis
21c1a3160c
Remove tests for deprecated functions
2017-12-11 23:22:34 +01:00
Frank Denis
cf59e049e7
Check reduced-round salsa variants in non-minimal mode
2017-12-11 20:11:27 +01:00
Frank Denis
bdca518edc
Remove incorrect and useless cast
2017-12-11 19:54:10 +01:00
Frank Denis
99fa31a595
More tests
2017-12-06 14:08:00 +00:00
Frank Denis
609e42be75
One more test
2017-12-06 13:53:22 +00:00
Frank Denis
43fa5ecc49
Add some tests for reduced-rounds salsa20
2017-12-06 13:38:46 +00:00
Frank Denis
0b6370dd0a
Always undef NDEBUG in tests
2017-12-06 12:17:57 +00:00
Frank Denis
625e313e74
Avoid an expression in a assert() with side effects
2017-12-06 12:16:37 +00:00
Frank Denis
e89c43edf6
secretstream: add a test for rekeying using TAG_REKEY
2017-12-06 11:45:47 +00:00
Frank Denis
22b65dc57c
Add a call to sodium_stackzero()
2017-12-05 17:49:58 +00:00
Frank Denis
01072a2f6a
More tests
2017-12-03 21:16:46 +01:00
Frank Denis
cdd7d5f37d
Add explicit cast
2017-12-03 21:02:17 +01:00
Frank Denis
8ad6ffa9d6
More tests
2017-12-03 20:56:17 +01:00
Frank Denis
b6262d982f
Don't even try to compile non-minimal code
2017-12-03 16:55:46 +01:00
Frank Denis
139cadc76d
Skip tests 13&14 in minimal mode
2017-12-03 16:49:55 +01:00
Frank Denis
99fe9eb67f
More misuse tests
2017-12-03 16:39:05 +01:00
Frank Denis
947cf4ada5
casts
2017-12-01 17:29:41 +01:00
Frank Denis
229dac07ee
casts
2017-12-01 17:29:29 +01:00
Frank Denis
217a9330a4
More tests
2017-12-01 17:21:59 +01:00
Frank Denis
84047b703a
More tests
2017-12-01 17:04:09 +01:00
Frank Denis
dbaa94fe27
Casts
2017-12-01 16:33:10 +01:00
Frank Denis
e44614505b
Casts
2017-12-01 16:32:25 +01:00
Frank Denis
18af4c61eb
Fix format string sign
2017-12-01 15:28:09 +01:00
Frank Denis
218dac349a
Fix format string sign
2017-12-01 15:24:48 +01:00
Frank Denis
d2a48e9f60
secretstream test: provide additional data to lift ambiguity on what is being tested
...
Spotted by @emilbayes - Thanks!
2017-11-26 22:04:18 +01:00
Frank Denis
46e2a46490
secretstream test: provide additional data to lift ambiguity on what is being tested
...
Spotted by @emilbayes - Thanks!
2017-11-26 22:02:26 +01:00
Frank Denis
ee2403deba
Check for RDRAND presence
2017-11-25 17:53:33 +01:00
Frank Denis
c190574cee
x25519-ref10: reject low order points before the multiplication
2017-11-17 10:47:00 +01:00
Frank Denis
fc10e78580
Add a test for constants
2017-11-15 16:58:31 +01:00
Frank Denis
a60d877327
Add a test for crypto_scalarmult_ed25519
2017-11-15 16:57:29 +01:00
Frank Denis
7653df070c
Keep only the second test
2017-11-15 16:15:25 +01:00
Frank Denis
222ab9857c
Check that add/sub don't enforce the canonical form
2017-11-15 15:31:01 +01:00
Frank Denis
4fe7f88063
Re-merge previous test; add the correct prime
2017-11-15 15:26:41 +01:00
Frank Denis
d8c36842eb
Remove a test that doesn't make sense
2017-11-15 01:59:43 +01:00
Frank Denis
97e6f73230
Add a pretty obvious assertion
2017-11-15 01:48:28 +01:00
Frank Denis
3d8889560e
Export constants
2017-11-15 01:47:54 +01:00
Frank Denis
1e06b32f45
Add a couple more tests for ed25519_is_valid_point()
2017-11-15 01:44:55 +01:00
Frank Denis
63f7727a74
C++ compat
2017-11-15 01:37:33 +01:00
Frank Denis
1df2285362
Add a preliminary test for core_ed25519
2017-11-15 01:34:43 +01:00
Frank Denis
7e75ad4ca9
Remove unused var
2017-10-23 23:43:19 +02:00
Frank Denis
f5e1767b22
sign_keygen(): don't hash the secret scalar in non-deterministic mode
...
Improve clarity
No need to clamp the key prior to computing a synthetic nonce
nonce -> Z for clarity
2017-10-11 21:30:52 +02:00
Frank Denis
f54c6db981
sign_keygen(): don't hash the secret scalar in non-deterministic mode
2017-10-11 21:27:48 +02:00
Frank Denis
99eee854fe
Add a compile-time switch to create non-deterministic signatures
2017-10-06 16:36:06 +02:00
Frank Denis
0dd8338b83
Add a compile-time switch to create non-deterministic signatures
2017-10-06 15:35:07 +02:00
Frank Denis
2a367074fe
Add actual performance API emulation for old browsers
2017-10-05 07:52:33 +02:00
Frank Denis
e784a3fb40
Add no-ops for very old browsers without the performance API
2017-10-05 01:46:02 +02:00
Frank Denis
4b4fce0be9
Use less memory for the pwhash tests
2017-10-05 00:42:58 +02:00
Frank Denis
37d9f09f5b
Round duration
2017-10-05 00:20:55 +02:00
Frank Denis
752c1fff2d
emscripten template: make the module global
2017-10-05 00:16:37 +02:00
Frank Denis
cc8cd391c9
Fix emscripten template
2017-10-05 00:11:40 +02:00
Frank Denis
93e39760b9
Wasm: add basic benchmark
...
Not really fair yet since the script isn't preloaded
2017-10-05 00:02:37 +02:00
Frank Denis
f0daa92f50
Remove index-wasm.html.tpl
2017-10-04 23:52:39 +02:00
Frank Denis
6a0e144899
Use less memory for the pwhash tests
2017-10-04 22:52:11 +02:00
Frank Denis
cd1b97d5a2
Regen autoconf files
2017-10-01 17:17:11 +02:00
Frank Denis
d3e20869af
crypto_pwhash_ALG_DEFAULT is now Argon2id
2017-10-01 12:12:13 +02:00
Frank Denis
2f51ed3397
Rename the test/pwhash.c -> test/pwhash_argon2i.c
2017-10-01 11:09:55 +02:00
Frank Denis
d49d7e8d4f
pwhash: don't enforce the same limits for argon2i and argon2id
...
Fixes #606
Also, keep enforcing a minimum number of iterations to create argon2i
hashes, but relax that restriction for verification, as it can be
useful to migrate from hashes made using other libraries.
2017-10-01 11:02:46 +02:00
Frank Denis
2542367c2d
secretstream: set the initial counter to 1
...
Avoids using the first block for two different purposes, and will be more
consistent with the AES-based version.
This breaks backwards compatibility, but better do it now that most distro are
still shipping < 1.0.14, that no applications seem to be already using that new
API, and that there will be an update to the library major due to the aes128ctr
removal.
2017-10-01 10:08:04 +02:00
Frank Denis
3e0b4dec6e
Add sodium_base64_encoded_len()
2017-09-21 11:25:09 +02:00
Frank Denis
18f0fff89e
More tests: verify that they key gets updated after the counter wraps
2017-09-20 17:10:10 +02:00
Frank Denis
ee1d5c96d8
Move the codecs tests to their own test file
2017-09-19 22:51:05 +02:00
Frank Denis
558355e566
Check if SIGABRT can be trapped multiple times in a row
2017-09-19 22:33:09 +02:00
Frank Denis
8ee67b1dd7
More tests
2017-09-19 22:19:50 +02:00
Frank Denis
1f72dec89d
More tests
2017-09-19 22:17:10 +02:00
Frank Denis
41dc933226
More tests
2017-09-19 22:08:31 +02:00
Frank Denis
aec433cecc
Additional check
2017-09-19 20:04:57 +02:00
Frank Denis
7423408cd3
Make the behavior of hex2bin() consistent with base642bin()
...
Return -1 on incomplete sequences and on complete sequences
with trailing, non-ignored characters if no pointers to store the
last parsed byte has been provided
2017-09-19 18:45:23 +02:00
Frank Denis
00660d79b9
secretstream test: don't pull twice if we don't test with AD
2017-09-19 17:32:15 +02:00
Frank Denis
3c8a7f17f0
Add tests for short, invalid unpadded base64 strings
2017-09-19 16:59:18 +02:00
Frank Denis
9209e89d96
More tests
2017-09-19 00:34:26 +02:00
Frank Denis
31e9a5541d
More tests
2017-09-18 23:57:29 +02:00
Frank Denis
525c21ed10
Tests
2017-09-18 23:29:58 +02:00
Frank Denis
1875980d33
More tests
2017-09-18 23:18:46 +02:00
Frank Denis
5b9680ead6
More tests
2017-09-18 23:13:50 +02:00
Frank Denis
e878bc141b
More keygen tests
2017-09-17 23:13:38 +02:00
Frank Denis
f244f658d6
int -> size_t
2017-09-17 23:13:27 +02:00
Frank Denis
9c53da4a6d
metamorphic tests for HMAC
2017-09-17 21:55:29 +02:00
Frank Denis
bd69a3083a
metamorphic tests for onetimeauth
2017-09-17 21:48:16 +02:00
Frank Denis
a7b75a2d7d
+ simple metamorphic tests for crypto_generichash()
...
This needs to be extended to other APIs with a streaming interface
2017-09-17 21:41:32 +02:00
Frank Denis
bfab44aa40
initbytes -> headerbytes for clarity
2017-09-16 23:21:28 +02:00
Frank Denis
19496bcc01
Don't try to access /usr/local on Travis CI
2017-09-15 13:08:14 +02:00
Frank Denis
ca43a12683
Old tcc versions miscompile while (++in[x])
...
So, let's just keep things readable, even for compilers.
2017-09-15 12:58:47 +02:00
Frank Denis
10edd16b40
Modernize the core3 test
2017-09-15 12:39:18 +02:00
Frank Denis
c6aa04108e
Move #ifdef up
2017-09-15 10:19:34 +02:00
Frank Denis
4aba976d5f
Explicit casts
2017-09-15 01:00:43 +02:00
Frank Denis
15ee95c64c
Remove unused var
2017-09-15 00:57:44 +02:00
Frank Denis
70f66c9a6d
Check for avx/avx2/avx512f linkage
2017-09-14 00:05:37 +02:00
Frank Denis
390f865e35
Add tests for scrypt rehash
2017-09-13 18:47:55 +02:00
Frank Denis
2a2b85eeea
Add tests for crypto_pwhash_str_needs_rehash()
2017-09-13 18:40:14 +02:00
Frank Denis
979b21d67b
Remove extra semicolumns
2017-09-13 12:45:04 +02:00
Frank Denis
0af31aeb26
Fill the max output buffer size in sodium_bin2base64()
...
Unlike hex encoding, due to optional padding, computing the correct size is
not straightforward. Ensuring that the string ends with `\0` is fine, but
if the size is not exact, some unrelated data might be send around by the
application. So, zero it to be safe.
2017-08-31 19:32:14 +02:00
Frank Denis
fd4478288e
Test sodium_pad() with a NULL pointer
2017-08-25 15:24:46 +02:00
Frank Denis
f8e535a446
messagesbytes -> messagebytes
2017-08-25 15:12:35 +02:00
Frank Denis
aa20d2e86e
Add secretstream constants
2017-08-25 14:51:02 +02:00
Frank Denis
a0b9bc46e4
constcheck: grab a few more constants
2017-08-25 14:49:47 +02:00
Frank Denis
4c93d0391c
C++ compat
2017-08-17 23:27:20 +02:00
Frank Denis
0850e55808
Check that a zero blocksize returns -1
2017-08-17 21:00:02 +02:00
Frank Denis
a27c18d0e8
No need for two buffers in the padding test
2017-08-17 20:58:14 +02:00
Frank Denis
d5574a69fa
Complete sodium_pad/unpad() and add a couple tests
2017-08-17 20:54:20 +02:00
Frank Denis
6e8e0a93f9
Add a couple tests for crypto_secretstream_*()
2017-08-16 14:53:54 +02:00
Frank Denis
265bdcfe07
bin2hex & bin2base64: return a null size on error
...
This might prevent applications that don't properly check return codes
from reusing previous data.
2017-08-09 22:41:20 +02:00
Frank Denis
a6480aec44
b64 test: intentionally overestimate sizes
...
overflows will be caught by the guard page, if any
2017-08-09 18:03:56 +02:00
Frank Denis
74fd8fd1ce
C++ compat
2017-08-09 16:08:03 +02:00
Frank Denis
cdbb43f444
base64 tests
2017-08-09 15:56:58 +02:00
Frank Denis
8f0953b31f
Merge branch 'master' of github.com:jedisct1/libsodium
...
* 'master' of github.com:jedisct1/libsodium:
Bench: don't tie the printed result to the number of iterations
Make the number of iterations configurable; reduce the default
Add an interesting test case for a custom randombytes_uniform implementation
Add a benchmark mode
randombytes test: restore the salsa20-based rng at the end, for benchmarks
Indent
2017-08-05 20:58:23 +02:00
Frank Denis
a894ec93f2
Add crypto_pwhash_str_alg()
2017-08-05 20:56:59 +02:00
Frank Denis
cde31281d1
Bench: don't tie the printed result to the number of iterations
2017-08-04 23:30:30 +02:00
Frank Denis
6d59a5897d
Make the number of iterations configurable; reduce the default
2017-08-04 23:16:42 +02:00
Frank Denis
28a1e6886e
Add an interesting test case for a custom randombytes_uniform implementation
2017-08-04 23:13:29 +02:00
Frank Denis
5b4db091df
Add a benchmark mode
2017-08-04 23:08:22 +02:00
Frank Denis
8813c36fff
randombytes test: restore the salsa20-based rng at the end, for benchmarks
2017-08-04 23:01:16 +02:00
Frank Denis
a8cc1634f4
Indent
2017-08-04 22:59:06 +02:00
Frank Denis
544ce64000
Just a simple script to match constants with functions
2017-08-03 16:28:29 +02:00
Frank Denis
e1fa9cc90c
Add *_messagebytes_max() wrappers
2017-08-03 13:34:31 +02:00
Frank Denis
f02770b2ad
Revert "+ sodium_alloc_overhead()"
...
This reverts commit c5b61d8129
.
2017-08-02 14:26:56 +02:00
Frank Denis
c5b61d8129
+ sodium_alloc_overhead()
2017-08-02 12:34:56 +02:00
Frank Denis
774ec67e22
Repair sodium_core test
2017-07-30 18:22:53 +02:00
Frank Denis
8a14f5c167
Don't call sodium_misuse() in the sodium_core test for Javascript/wasm targets
2017-07-30 18:10:00 +02:00
Frank Denis
0ce03b6cea
misuse test: just return from main() on unsupported platforms
2017-07-30 17:54:54 +02:00
Frank Denis
180a89cb21
More tests for signatures
2017-07-29 22:42:05 +02:00
Frank Denis
b34b89ab37
secrebox: add a test with in/out buffers next to each other
2017-07-29 22:27:17 +02:00
Frank Denis
ff8bb6705a
More tests for scrypt
2017-07-29 22:01:13 +02:00
Frank Denis
a3f90d6020
Indent
2017-07-29 21:49:20 +02:00
Frank Denis
63d8a896fe
Test KX with a weak PK
2017-07-29 21:46:14 +02:00
Frank Denis
7ad9a46cb7
More tests
2017-07-29 21:43:18 +02:00
Frank Denis
a9a21a7dff
Test Ed->X conversion with x not being a square root
2017-07-29 21:36:02 +02:00
Frank Denis
982cde1a77
Test crypto_box_open_detached() with a weak PK
2017-07-29 21:34:28 +02:00
Frank Denis
c15173de1e
Turn a few calls with an insane message length into a sodium_misuse()
2017-07-29 18:37:55 +02:00
Frank Denis
8d91a32754
Add more tests for crypto_sign_ed25519_pk_to_curve25519()
2017-07-24 23:56:56 +02:00
Frank Denis
214fe473f1
Add an invalid key to the signature tests
2017-07-24 23:40:14 +02:00
Frank Denis
e1b0448205
Test crypto_secretbox_open_detached() with a NULL message pointer
2017-07-24 23:17:55 +02:00
Frank Denis
c90ddae75e
Use the right state type for the auth256 test
2017-07-24 23:04:23 +02:00
Frank Denis
51a0b96f1d
Test crypto_hmac_sha256_update() with empty chunks
2017-07-24 22:25:33 +02:00
Frank Denis
33d6908f9b
Test crypto_auth_hmacsha256_*()
2017-07-24 22:08:07 +02:00
Frank Denis
f92c82537b
More tests
2017-07-24 15:16:22 +02:00
Frank Denis
b57f9668fc
More tests
2017-07-21 16:52:01 +02:00
Frank Denis
8b9b6a54be
Remove error string from sodium_misuse()
...
Returning the name of an internal function to bindings is useless.
They need way more context to recover from these errors, and
their own backtrace will be way more useful for diagnostics.
2017-07-19 00:57:19 +02:00
Frank Denis
63cbad7506
Visual Studio doesn't like abort() chains
...
Let's limit this test to systems this has been tested on for the
time being.
2017-07-19 00:20:06 +02:00