Commit Graph

2823 Commits

Author SHA1 Message Date
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
9d03fbb38c Merge branch 'master' of github.com:jedisct1/libsodium
* 'master' of github.com:jedisct1/libsodium:
  Simplify
  Just a simple script to match constants with functions
  + emscripten-wasm.sh
  Update the exported list of JS symbols
  Add *_messagebytes_max() wrappers
  Revert "wasm tests: skip over *.asm.js files"
  wasm tests: skip over *.asm.js files
  [Findsodium.cmake] DON'T OVERWRITE LIBRARY SUFFIXES (#576)
  Revert "+ sodium_alloc_overhead()"
  + sodium_alloc_overhead()
  Remove TOTAL_MEMORY from wasm builds
  Include private/common.h for COMPILER_ASSERT
  Sort
  Node need for --expose-wasm any more with recent nodejs versions
2017-08-04 17:43:23 +02:00
Frank Denis
196e03299e Preliminary ChangeLog 2017-08-04 17:42:36 +02:00
Frank Denis
19f76d7cb3 Simplify 2017-08-03 22:45:18 +02:00
Frank Denis
544ce64000 Just a simple script to match constants with functions 2017-08-03 16:28:29 +02:00
Frank Denis
f711c6d049 + emscripten-wasm.sh 2017-08-03 16:20:07 +02:00
Frank Denis
1a3b474f7f Update the exported list of JS symbols 2017-08-03 13:38:15 +02:00
Frank Denis
e1fa9cc90c Add *_messagebytes_max() wrappers 2017-08-03 13:34:31 +02:00
Frank Denis
53280aa28f Revert "wasm tests: skip over *.asm.js files"
This reverts commit ac8111c315.
2017-08-02 18:26:35 +02:00
Frank Denis
ac8111c315 wasm tests: skip over *.asm.js files 2017-08-02 17:17:04 +02:00
Henrik Gaßmann
29914ec821 [Findsodium.cmake] DON'T OVERWRITE LIBRARY SUFFIXES (#576) 2017-08-02 16:32: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
23c36615cd Remove TOTAL_MEMORY from wasm builds
asmjs builds need to be done separately to get actual asmjs code
and not almost-asmjs code.

Don't build html pages. It doesn't change anything, and support for
asmjs in libsodium.js remains a tricky problem to solve.
2017-08-01 23:21:57 +02:00
Frank Denis
c56fa3ccf9 Include private/common.h for COMPILER_ASSERT 2017-08-01 11:40:32 +02:00
Frank Denis
56eb70f8bb Sort 2017-08-01 10:38:23 +02:00
Frank Denis
3c3214fbd9 Node need for --expose-wasm any more with recent nodejs versions 2017-08-01 10:19:07 +02:00
Frank Denis
b5b67d074e Add -fembed-bitcode to the iOS 64 target, for WatchOS and TVOS 2017-07-31 14:54:15 +02:00
Frank Denis
580bf7a19d emscripten-wasm.sh: generate HTML files even if we don't use them
So that emscripten generates the stub to load the wasm code in web browsers.
2017-07-31 12:52:52 +02:00
Frank Denis
ae8cd7208c emscript-wasm: don't use --enable-minimal on sumo builds 2017-07-30 23:31:56 +02:00
Frank Denis
f2a7b61230 Update symbols 2017-07-30 21:34:09 +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
6ac18dae42 The MESSAGEBYTES_MAX constants are to be used with the libsodium API
Projects using the legacy API are unlikely to use these new macros.
OTOH, people using the Sodium API would be puzzled about the missing
16 bytes in the secretbox and box APIs.

More importantly, these macros are designed for bindings.
Having these bindings enforce proper limits (for the *_easy API
that they all use) and yet have the underlying library call
sodium_misuse() would be sad.
2017-07-29 23:29:58 +02:00
Frank Denis
180a89cb21 More tests for signatures 2017-07-29 22:42:05 +02:00
Frank Denis
90bd94e4e4 Coverage exclusion 2017-07-29 22:31:13 +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
3dd56fa91b Coverage exclusions 2017-07-29 22:07:36 +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
52bfc0325b Initialize the base&aligned addresses in argon2's allocate_memory
Also memzero() pseudo_rands, not the segments twice.
2017-07-29 18:54:52 +02:00
Frank Denis
fc90887921 Add missing include "core.h" 2017-07-29 18:42:39 +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
f28fe0ae29 Cap argon2*_BYTES_MAX to SODIUM_SIZE_MAX 2017-07-29 18:05:08 +02:00
Frank Denis
bac61ebf50 BYTES_MAX -> MESSAGEBYTES_MAX 2017-07-29 17:58:18 +02:00
Frank Denis
16179b87f3 Introduce *_BYTES_MAX constants
*_BYTES_MAX constants constants represent the maximum size of
a message.

No accessor functions for now. They will be renamed, as the
*_BYTES_MAX suffix was previously also used for the maximum output
size of stream ciphers.

These macros are designed to be used by language bindings, so they
can perform some sanity checks before calling the sodium API.
2017-07-29 17:39:31 +02:00
Frank Denis
568adb570d Trim crypto_pwhash_scryptsalsa208sha256_BYTES_MAX down to ~127 GB 2017-07-29 15:02:51 +02:00
Frank Denis
3525f032df Inline 2017-07-28 18:51:04 +02:00
Frank Denis
3ee2151f1d memzero(): with weak symbols, just call memset() 2017-07-28 18:26:36 +02:00
Frank Denis
105f7108d6 Argon2: wipe all blocks if the ARGON2_FLAG_CLEAR_MEMORY flag is set
Not ARGON2_FLAG_CLEAR_PASSWORD
2017-07-28 18:22:51 +02:00
Frank Denis
dc2c68067b C++ compat 2017-07-28 18:08:10 +02:00
Frank Denis
fb739acd7b fill_memory_blocks() cannot possibly fail 2017-07-28 18:07:45 +02:00
Frank Denis
c3908f87d6 Argon2: deallocate memory if fill_memory_blocks() ever fails
Also perform a single allocation to store random numbers.
2017-07-28 17:58:16 +02:00