Ilya Maykov
6934a8d0c8
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.
2019-02-09 20:26:10 +01:00
Frank Denis
be1f8b4d67
Revert "Coverity Scan is having hosting issues"
...
This reverts commit c999d07255
.
2019-01-30 18:45:53 +01:00
Frank Denis
05413d4ad3
Format
2019-01-16 18:18:45 +01:00
Frank Denis
2b43b3a829
sierra -> mojave
2019-01-16 18:18:05 +01:00
Frank Denis
c999d07255
Coverity Scan is having hosting issues
...
https://community.synopsys.com/s/article/Coverity-Scan-Update
2019-01-15 00:31:58 +01:00
Frank Denis
6954be914a
AC_SUBST doesn't require explicit values
2019-01-15 00:24:01 +01:00
Luca Boccassi
3933a7402c
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
2019-01-14 23:43:02 +01:00
Frank Denis
b3725dc2c9
Force clear the high bit in _noclamp variants
...
_noclamp variants should always be used with a scalar < L, but
if this is not the case, at least explicitly ignore the high bit.
2019-01-14 04:02:48 +01:00
Frank Denis
3946784883
Try -ftree-vectorize and -ftree-slp-vectorize for optimized builds
2019-01-07 12:22:09 +01:00
Frank Denis
7eec5b8716
Back to dev mode
2019-01-07 11:48:14 +01:00
Frank Denis
b732443c44
undef _box_curve25519xchacha20poly1305_messagebytes_max in !sumo builds
2019-01-06 20:32:54 +01:00
Frank Denis
31ccbdec96
Nits
2019-01-06 18:43:38 +01:00
Frank Denis
4adf25c39f
Bump DLL version
2019-01-06 17:25:35 +01:00
Frank Denis
0b3e2e5742
Offline documentation is only available in PDF format now
2019-01-06 15:55:36 +01:00
Frank Denis
a75c137020
fileinput is not used any more
2019-01-06 15:38:24 +01:00
Frank Denis
0cf74a3104
2019
2019-01-06 14:42:47 +01:00
Frank Denis
462e9a648b
local-dynamic is enough
2019-01-06 05:04:34 +01:00
Frank Denis
79d6a211b2
Set tls-model only if TLS is supported
2019-01-06 04:52:41 +01:00
Frank Denis
0157a378ca
Enable -ftls-model=global-dynamic if available
2019-01-06 04:45:50 +01:00
Frank Denis
358767f238
Set nonce in randombytes_salsa20_random_stir() instead of random_init()
2019-01-06 04:31:44 +01:00
Frank Denis
ab0932bf80
Bump .NET version examples
2019-01-06 03:50:18 +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
531b545578
Avoid partial array initialization
2019-01-05 22:58:07 +01:00
Frank Denis
b7cb241eb9
Bump SODIUM_LIBRARY_VERSION_MINOR
2019-01-05 22:09:32 +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
48852da7cd
Improve clarity
2019-01-05 14:31:44 +01:00
Frank Denis
f5c14a46d0
ALLOW_MEMORY_GROWTH is now enabled
2019-01-04 18:36:15 +01:00
Frank Denis
a04f09298d
AVX512 detection has been improved
2019-01-04 12:52:59 +01:00
Frank Denis
a01c5f8fd8
Add a conditional to enable retpoline support
...
Using retpoline in userland code that doesn't run arbitrary code is
questionable to start with.
Linux is also getting SPECTRE v2 userspace-to-userspace protection.
In addition, some platforms have a gcc version that advertises
support for retpolines, but the resulting binaries simply don't work
or cannot be linked.
So, do not enable this by default. Let builders choose if they
really want to enable this in their builds.
2019-01-04 12:43:47 +01:00
Frank Denis
3ab71f873f
must -> should
2019-01-04 11:55:17 +01:00
Frank Denis
e45fadffb1
Add comments, avoid implicit array initialization
2019-01-03 22:44:58 +01:00
Frank Denis
1647f0d53a
Add comments
2019-01-03 22:28:59 +01:00
Frank Denis
32385c6b9a
Avoid negative indices, especially with unsigned types
2019-01-03 22:28:42 +01:00
Frank Denis
1cd6641cde
Add an extra compile-time assertion
2019-01-03 18:52:43 +01:00
Frank Denis
74ccac9e83
Do not assume that CRYPTO_ALIGN works
2019-01-03 18:34:24 +01:00
Frank Denis
3c59cebe91
Make the blake2b and poly1305 state opaque
2019-01-03 18:18:20 +01:00
Frank Denis
7ac557498f
C++ compat
2019-01-03 09:49:33 +01:00
Frank Denis
e614671fc8
More paranoid AVX512 detection
2019-01-02 17:33:57 +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
6bbcab33ed
Consistent initialization
2019-01-01 22:59:23 +01:00
Frank Denis
8160d2b465
2019
2018-12-31 08:51:40 +01:00
Frank Denis
0e0dbde088
Emscripten: enable ALLOW_MEMORY_GROWTH
2018-12-30 14:57:06 +01:00
Frank Denis
ef3e5aadc7
Don't try to enable retpolines on Emscripten & pnacl
2018-12-30 13:45:09 +01:00
Frank Denis
f3ce049a98
Bump to 1.0.17
...
Not released yet. This is just to encourage people to test the current
code.
2018-12-30 12:04:52 +01:00
Frank Denis
b3dc89368e
Regen emscripten symbols
2018-12-30 10:37:02 +01:00
Frank Denis
f2942b9c88
Add sodium_sub(), simplify scalar_complement() and scalar_negate()
2018-12-30 10:26:44 +01:00
Frank Denis
1542d473da
Add crypto_core_ed25519_scalar_complement(), _negate(), _add(), _sub()
2018-12-30 01:48:58 +01:00