Commit Graph
2727 Commits
Author SHA1 Message Date
Frank Denis 99f8c19a1b memzero(): call the weak function after zeroing
A weak function cannot be inlined, but even if it's a little bit
far stretched, a compiler could add code taking different paths
according to the callee.

With a weak function called after the zeroing, we can be sure
that the zeroing has to happen.
2017-07-16 00:49:31 +02:00
Frank Denis 30e8a2b231 The time has come to use memset_s() if available
memset_s() detection had been removed from the autoconf script a long
time ago because it was incorrectly defined in some obsolete Xcode version.

We're in year 2017, move on.
2017-07-15 23:16:55 +02:00
Frank Denis f0c15da02f We don't need these extra loads 2017-07-15 20:54:57 +02:00
Frank Denis bcdb042ad9 Revert "Explicitly include <limits.h>"
This reverts commit 0fd9aae17a.
2017-07-15 20:33:34 +02:00
Frank Denis 7dbbd266b5 Simple SSE2 implementation of crypto_verify*()
`z` being volatile implies more load/store than needed, but this should
be safer if we want to stick with pure C code, and gives us a chance to
zero the registers.

It's still way faster than byte-by-byte comparisons anyway.

Xored secrets don't matter much when compared byte-by-byte, but they
can be more annoying in 128-bit registers.
2017-07-15 20:29:27 +02:00
Frank Denis 94a8b3327f Simplify crypto_verify_*()
Do not expect any modern compiler not to be able to inline this.
2017-07-15 18:31:21 +02:00
Frank Denis 37e99aa4fc Make it more difficult for the compiler to optimize crypto_verify_*() 2017-07-15 18:17:44 +02:00
Frank Denis c746eb2776 Revert "Bail out if SIZE_MAX < crypto_pwhash_MEMLIMIT_MAX"
This reverts commit c2ef7d0882.
2017-07-15 17:59:55 +02:00
Frank Denis 0fd9aae17a Explicitly include <limits.h> 2017-07-15 17:53:18 +02:00
Frank Denis c2ef7d0882 Bail out if SIZE_MAX < crypto_pwhash_MEMLIMIT_MAX 2017-07-15 17:51:10 +02:00
Frank Denis 7d5d9204e5 Nuget -> NuGet 1.0.13 2017-07-14 00:23:18 +02:00
Frank Denis ff615b270a Fix the AES test on error path 2017-07-13 21:41:06 +02:00
Frank Denis c350bdd87c <winres.h> -> <windows.h> to unbreak builds with MSVC < 2013 2017-07-13 21:15:01 +02:00
Frank Denis a4fba60c5c Now available on Nugget! 2017-07-13 20:03:48 +02:00
Frank Denis 6a3dfb2658 python3 doesn't have to be in /usr/bin 2017-07-13 17:03:27 +02:00
Frank Denis 24335c250d Bump 2017-07-13 16:20:17 +02:00
Frank Denis 7cfbb5922b Dont expect EFBIG to be returned if a requested allocation is too large
Some environments return funny things such as "function not implemented",
EINVAL or "permission denied" instead.

So, don't assume anything.
2017-07-12 21:36:33 +02:00
Frank Denis b456ff2886 Merge branch 'master' of github.com:jedisct1/libsodium
* 'master' of github.com:jedisct1/libsodium:
  Hard to keep track of everyone
  Remove extra character in the list of sumo symbols for the js builds
  Update packaging for .NET Core (#566)
2017-07-12 20:31:55 +02:00
Frank Denis 5ab84aa8c6 More 2017-07-12 20:29:49 +02:00
Frank DENIS e02f2cce9e Hard to keep track of everyone
Small update, many people still missing.

I'll do my best to at least add all the people who wrote bindings for
other languages.

If you feel like your name should be there, but isn't, please let me
know!
2017-07-12 10:11:35 +02:00
Frank DENIS 5026954466 Remove extra character in the list of sumo symbols for the js builds 2017-07-12 09:55:33 +02:00
ektrah 6bc76bc31d Update packaging for .NET Core (#566) 2017-07-12 01:30:23 +02:00
Frank Denis d4708d0b88 Update ChangeLog 2017-07-11 22:08:42 +02:00
Frank Denis 28e32dd5a2 Remove scrypt from minimal builds 2017-07-11 22:08:02 +02:00
Frank Denis e58c30b3c3 + AVX2 optimized BlaMka 2017-07-11 16:32:12 +02:00
Frank Denis e325b6d76b Regen emscripten.sh export list 2017-07-07 22:03:24 +02:00
Frank Denis 957f0ab299 Add box_seal_curve25519xchacha20poly1305 to the MSVC projects 2017-07-07 19:31:53 +02:00
Frank Denis ccb842f488 Add a xchacha version of crypto_box_seal
No high level API for it, no reasons to, so not available in minimal mode.
2017-07-06 15:30:36 +02:00
Frank Denis c77ba98d7b Update emscripten symbols 2017-06-28 16:44:06 +02:00
Frank Denis f586752afe + Argon2id tests 2017-06-28 15:49:49 +02:00
Frank Denis c8425e6386 Encode Argon2id hashes 2017-06-28 15:49:28 +02:00
Frank Denis 16e9619d87 Indent 2017-06-28 15:09:18 +02:00
Frank Denis 044d063c93 Document Argon2id support 2017-06-27 16:39:15 +02:00
Frank Denis beac509209 Let crypto_pwhash_str_verify work both with Argon2i and Argon2id 2017-06-27 16:33:09 +02:00
Frank Denis 2805a23574 Regen MSVC projects 2017-06-27 16:23:53 +02:00
Frank Denis 313225f68a Group pick_best_implementation_*() prototypes in a private header 2017-06-27 16:23:12 +02:00
Frank Denis 77b1d8eeb3 implementations.h doesn't need C++ guards 2017-06-27 16:18:55 +02:00
Frank Denis efd27c6489 Remove redundant Argon2 algorithm ids 2017-06-27 16:12:07 +02:00
Frank Denis 2cb841539e Public Argon2id API 2017-06-27 16:06:43 +02:00
Frank Denis 989189890b More argon2id bits 2017-06-27 15:43:40 +02:00
Frank Denis 7057cca8a7 Prepare for Argon2id support 2017-06-27 14:42:11 +02:00
Frank Denis 935557cdf7 Add AVX2-optimized Argon2 blamka function 2017-06-27 14:26:40 +02:00
Frank Denis b1d847d6dd Indent 2017-06-27 14:17:35 +02:00
Frank Denis 624d4dd1e0 Indent 2017-06-27 13:39:26 +02:00
Frank Denis 7334060f43 Add a workaround for old asan versions (CentOS 7) 2017-06-23 17:30:48 +02:00
Frank Denis 2864701f1b C++ compat 2017-06-23 11:48:08 +02:00
Frank Denis 1900e07166 Don't run the catchable segv test on __EMSCRIPTEN__ 2017-06-23 11:33:24 +02:00
Frank Denis c3045e2cb0 Check that SIGSEGV handlers work
Tools such as ASAN may trap violations instead of our handlers,
making the sodium_utils{2,3} test fail.

This has been documented for a long time, but it's probably better
to detect this and ignore tests depending on working signal handlers.
2017-06-23 11:11:16 +02:00
Frank Denis 00777f7f10 Clarify what --disable-asm does 2017-06-15 18:32:03 +02:00
Frank Denis fbe3eb265f secretbox: avoid a useless memmove() if the source and destination addresses are the same 2017-06-14 15:57:06 +02:00