Frank Denis
a87d30f3af
Try MMX/SSE/SSE2/SSE3/SSSE4/SSE4.1 instructions on NativeClient
2016-04-30 16:08:52 +02:00
Frank Denis
00e156198a
Disable SIMD instructions on NativeClient
2016-04-30 13:03:31 +02:00
Frank Denis
d463dadc51
Disable ssp and aesni on nativeclient, nativeclient.sh->nativeclient-pnacl.sh
2016-04-29 22:29:34 +02:00
Frank Denis
fbad64f6ef
Disable asm on native client
2016-04-28 21:31:18 +02:00
Frank Denis
f8ff8ebf66
Add locks around sodium_init()
2016-04-25 18:33:11 +02:00
Frank Denis
e816ffb56c
Quotes
2016-04-19 00:24:46 +02:00
Frank Denis
bdf5c8246b
Compile with pthreads
2016-04-18 20:54:46 +02:00
Frank Denis
daeaf63f9c
Not an ELF system, not an Apple system, weak symbols may not work
2016-04-13 09:22:51 +02:00
Frank Denis
703120c1a2
Version bump [only the package]
2016-04-04 12:53:35 +02:00
Frank Denis
abdc839367
Workaround for old gcc versions missing _mm256_broadcastsi128_si256()
...
Some old gcc versions define vbroadcasti128 as
_mm_broadcastsi128_si256() not _mm256_broadcastsi128_si256().
Detect this, and use _mm_broadcastsi128_si256() in that case.
2016-04-03 10:41:28 +02:00
Frank Denis
c2b8ffb53d
NO_BROWSER is not required any more, even for tests
2016-04-02 12:18:52 +02:00
Frank Denis
2b1d7cb750
Revisit the default set of compiler warnings
2016-03-27 11:10:36 +02:00
Frank Denis
55c3eed151
Have the SSE2 test trigger a conversion with old gcc versions
2016-03-24 19:18:15 +01:00
Frank Denis
3f765f1737
Old gcc versions need -flax-vector-conversions to compile some intrinsics
2016-03-24 19:11:21 +01:00
Frank Denis
b31f59d835
-save-temps is messing with the detection of supported directives
...
Remove it from --enable-opt, and don't use any directives to restrict
symbol visibility if detection appears to be unreliable
2016-03-24 10:55:47 +01:00
Frank Denis
f4cc8aeb48
Force LITTLE_ENDIAN detection on x86 and x86_64
...
This is a sad workaround for CompCert 2.6
2016-03-24 09:24:35 +01:00
Frank Denis
7bb9b7fc70
Endianness
2016-03-24 09:05:09 +01:00
Frank Denis
3295752821
Of course, GNU ld doesn't know about .private_extern
2016-03-22 21:26:39 +01:00
Frank Denis
bafc9c70e1
Only use .private_extern if this is supported
2016-03-22 20:42:07 +01:00
Frank Denis
0131a72082
BLAKE2b AVX2 implementation
...
By the marvellous Samuel Neves - https://github.com/sneves/blake2-avx2
2016-03-17 16:24:04 +01:00
Frank Denis
7611ea6018
Add AVX2 detection
2016-03-17 11:15:18 +01:00
Frank Denis
f92cfae9d8
Have --enable-opt use -O3, not -Ofast
2016-03-08 12:53:34 +01:00
Frank Denis
aafff07689
Add support for running the test suite with Valgrind
2016-03-06 01:35:06 +01:00
Frank Denis
846a84b721
Version bump (not released yet)
2016-01-13 09:49:20 +01:00
Frank Denis
a78161981c
Check for _mm_set_epi64x() usability in the SSE2 test
2015-12-29 23:18:28 +01:00
Frank Denis
d740901df0
Have --enable-opt imply -Ofast
2015-12-29 15:46:23 +01:00
Frank Denis
953e959fba
Try --high-entropy-va on MinGW
2015-12-27 20:53:08 +01:00
Frank Denis
c08c21887e
Version bump
2015-12-23 21:15:12 +01:00
Frank Denis
90c49184fa
--enable-opt now enables -save-temps; remove -flto
2015-12-18 01:11:41 +01:00
Frank Denis
3796145631
autoconf: check that named registers work
2015-12-06 18:30:00 +01:00
Frank Denis
5b62287f98
Add a --enable-opt compile-time switch
2015-12-05 17:56:42 +01:00
Frank Denis
1e71f849b5
1.0.7 (not released yet)
2015-11-25 16:12:42 +01:00
Frank Denis
b74f644d3f
Replace CPU_ALIGNED_ACCESS_REQUIRED with CPU_UNALIGNED_ACCESS
...
Instead of defining a macro when aligned memory access is required,
define one when unaligned memory access is supported.
Safer when cross-compiling or not using autoconf
2015-11-16 22:01:19 +01:00
Frank Denis
eb8119d65c
Enable 128-bit arithmetic if __int128 is available
2015-11-15 18:16:15 +01:00
Frank Denis
dd238f518d
Bump major
2015-11-14 15:33:15 +01:00
Frank Denis
fb28119a38
Check inline assembly code using __asm__ __volatile__
2015-11-14 01:21:55 +01:00
Frank Denis
18906a078c
Unfortunately, some assemblers still don't know about AVX opcodes
2015-11-04 23:29:27 +01:00
Frank Denis
3f3969ffae
EMSCRIPTEN -> __EMSCRIPTEN__
2015-11-04 22:43:25 +01:00
Frank Denis
049fd8fd6a
Add sodium_runtime_has_avx()
2015-11-03 14:19:22 +01:00
Frank Denis
2a77b18ad8
Version bump (not released yet)
2015-11-01 15:45:36 +01:00
Frank Denis
19308c5d5b
Bump the library major version, since some functions have been removed
...
Even though these functions were exported, the number of applications
using them directly is very likely to be zero.
Still, bump the major library version to be safe and compliant.
2015-11-01 12:23:21 +01:00
Frank Denis
920c459ac3
Link optimized compression functions for Blake2b
2015-11-01 06:09:04 +01:00
Frank Denis
26fdfec99b
Add sodium_runtime_has_ssse3() and sodium_runtime_has_sse41()
2015-10-31 23:42:44 +01:00
Frank Denis
f11da70ce2
Package version bump. No ABI version changes required.
2015-10-24 19:12:49 +02:00
Frank Denis
e2124999cc
doesn't -> does not
2015-10-19 00:24:39 +02:00
Frank Denis
ec7b8e5605
Version bump [but still not released]
2015-10-14 14:43:22 +02:00
Frank Denis
84d92fc1bf
Try to enable specific cflags before testing each intructions set
2015-10-10 20:10:26 +02:00
Frank Denis
f267352eec
Use SIMD-specific compiler flags only for files needing them
2015-10-10 19:24:30 +02:00
Frank Denis
d4ff80e7a0
Define __SSSE3__ if required
2015-10-10 18:32:10 +02:00
Frank Denis
6ca06314fc
Do not try to compile aesni code if this is not going to compile
2015-10-10 18:22:03 +02:00
Frank Denis
e83e9b2d8e
Check for AESNI & PCLMUL presence/usability
2015-10-10 17:57:47 +02:00
Frank Denis
ab2e86748e
Replace the aes256gcm implementation with Romain Dolbeau's implementation
...
which is slightly faster than mine.
Reimplement features from the previous implementation: add batch mode and
use two passes in the decryption function in order to check the tag before
decrypting.
2015-10-10 16:21:08 +02:00
Frank Denis
571bfc99c8
Check for ssse3 presence
2015-10-07 23:26:13 +02:00
Frank Denis
e8e5d2fc18
Add crypto_aead_aes256gcm_aesni_*
...
Requires a CPU with aesni and pclmulqdq
This is a private branch for a reason. It is not going to be merged as-is.
2015-10-07 23:09:19 +02:00
Frank Denis
46f71fba9e
Check for getpid(2) presence instead of checking for Visual Studio
2015-09-13 15:04:26 +02:00
Frank Denis
c1f749e68a
Keep shell variables names consistent with their related C macros.
2015-09-04 15:37:31 +02:00
Matthijs van Duin
cfa9e95b6c
improve test for unaligned access
...
check target attribute on ARM
2015-09-04 02:29:34 +02:00
Frank Denis
7fca230be8
Nits after pnacl merge
2015-08-02 13:53:22 +02:00
Frank Denis
f610f781f2
Merge remote-tracking branch 'arbinger/pnacl' into nacl
...
* arbinger/pnacl:
removed comment
Added .final and .nexe output files to CLEANFILES
revert original hack
Initial patch for Chrome NaCl implementation
Added patch to obtain random bytes for Chrome NaCl via IRT -- allows build with NaCl SDK toolchain
2015-08-02 12:54:05 +02:00
Syrone Wong
4074470a31
Fix _FORTIFY_SOURCE redefined issue
2015-08-02 09:36:52 +08:00
James Robson
34a4931d9a
Initial patch for Chrome NaCl implementation
2015-06-22 13:02:21 -05:00
Frank Denis
b5fff1fcf5
Version bump
2015-04-26 17:09:00 +02:00
Frank Denis
33357dc52e
Running the JS tests requires the filesystem.
2015-01-18 00:46:48 +01:00
Frank Denis
98c96f4c99
No browser, no filesystem support required
2015-01-18 00:42:34 +01:00
Frank Denis
e7f410de10
Emscripten: don't use a memory init file any more.
...
It doesn't take that long to load the module, and it's going to make
users' life way easier.
2015-01-17 22:11:10 +01:00
Frank Denis
201821065d
Reserve slots for function pointers
2015-01-17 18:33:25 +01:00
Frank Denis
2c15c81ba5
Revert 17932c782e
...
It broke compilation on OpenBSD.
2015-01-15 16:21:09 +01:00
Frank Denis
f20ecbed94
Skip sodium_utils{2,3} tests when the target is Javascript
2015-01-15 11:12:58 +01:00
Frank Denis
5b8c2de267
Version bump
2015-01-12 09:41:46 +01:00
Frank Denis
aaf5fbf2e5
+ precomputed interface for crypto_box()
2015-01-06 17:52:42 +01:00
Jack Wink
f87ef76ee8
remove extra pie check
2014-12-28 13:19:07 -05:00
Jack Wink
1ce56adbef
a second stab at detecting valid linker flags
2014-12-28 13:17:09 -05:00
Jack Wink
9c9d1edf74
check to see if '-Wl,-pie' is supported before using it
2014-12-28 12:59:53 -05:00
Jack Wink
6ebf4030f8
change '-pie' to '-Wl,-pie' to squash clang errors
2014-12-28 12:27:35 -05:00
Frank Denis
4c4d04bb2a
Merge pull request #222 from stellar/master
...
Add libsodium-uninstalled.pc.in
2014-12-25 10:56:17 +01:00
Frank Denis
3a9c4f2c78
Merge branch 'master' of github.com:jedisct1/libsodium
...
* 'master' of github.com:jedisct1/libsodium:
Warn that libtool might fail if the build directory contains whitespaces
2014-12-23 20:26:29 +01:00
Frank Denis
c6e93b9f79
Discourage use of --enable-blocking-random
2014-12-23 20:24:23 +01:00
Graydon Hoare
9ae403b489
Add libsodium-uninstalled.pc.in
2014-12-22 16:14:22 -08:00
Frank Denis
0b58f87fef
Warn that libtool might fail if the build directory contains whitespaces
2014-12-21 09:51:32 +01:00
Frank Denis
9d71e18a22
Always generate libsodium.pc
2014-11-29 13:53:20 -08:00
Frank Denis
11ccb20512
If -fno-strict-overflow is available, don't add -fwrapv
2014-11-25 12:19:08 -08:00
Frank Denis
61620d7e42
Make 'make check' actually run the tests on Emscripten.
2014-11-25 09:51:39 -08:00
Frank Denis
69e3674c29
Include the test pre.js script only for tests.
2014-11-24 17:19:55 -08:00
Frank Denis
b421610110
AC_FUNC_MMAP assumes that mmap(2) is not available when cross-compiling
...
except on GNU systems. Just check for function presence instead.
2014-11-24 10:34:42 -08:00
Frank Denis
da2c9952db
Check if mmap(2) works, not just the presence of MAP_ANON
...
In particular, mmap(2) doesn't return an aligner pointer on Emscripten.
2014-11-24 10:22:50 -08:00
Frank Denis
5aeebd880e
Change EXEEXT to .js for Emscripten
2014-11-22 14:31:43 -08:00
Frank Denis
d0eab9323f
Don't assume that madvise() is available even if related macros are defined.
2014-11-22 13:32:54 -08:00
Frank Denis
133118ca4d
Skip mlock/mprotect/explicit_bzero when using Emscripten
2014-11-22 12:32:11 -08:00
Frank Denis
68b3191c90
Merge branch 'master' of github.com:jedisct1/libsodium
...
* 'master' of github.com:jedisct1/libsodium:
Prevent first-run ./autogen.sh error due to ltmain.sh absence.
2014-11-02 19:24:29 -08:00
Frank Denis
25e467bdea
Check that -D_FORTIFY_SOURCE=2 doesn't trigger a compiler bug
2014-11-02 19:24:08 -08:00
Phillip Mienk
2f5a4bd019
Prevent first-run ./autogen.sh error due to ltmain.sh absence.
2014-11-02 16:49:17 -08:00
Frank Denis
84972cbf9c
Version bump
2014-10-08 22:01:12 -07:00
Frank Denis
2c61530133
1.0.0
2014-09-24 00:18:44 -07:00
Frank Denis
05f46af70e
Version bump
2014-09-18 22:47:11 -07:00
Frank Denis
82c806ec07
Capitalize Android
2014-09-14 13:56:02 -07:00
Frank Denis
41ed891d56
Use -fstack-protector for all.
...
Might be replaced by -fstack-protector-strong later on.
2014-09-14 13:25:29 -07:00
Frank Denis
61449686ee
Version bump
2014-08-15 16:52:01 -07:00
Frank Denis
473e1718cc
Add sodium_{malloc,allocarray,free}() and sodium_mprotect_*()
...
ptr = sodium_malloc(size) returns a pointer from which exactly "size" bytes
can be accessed.
ptr = sodium_allocarray(count, size) allocates enough storage space for
"count" pointers or scalars of unit size "size".
In both cases, the region is immediately followed by a guard page.
As a result, any attempt to access a memory location after ptr[size - 1] will
immediately trigger a segmentation fault.
The allocated region is mlock()ed and filled with 0xd0 bytes.
A read-only page with the size, a guard page, as well as a canary are
placed before the returned pointer.
The canary is checked by sodium_free(); as a result, altering data right
before ptr is likely to cause sodium_free() to kill the process.
sodium_free() munlock()s the region and fills it with zeros before
actually calling free().
sodium_mprotect_noaccess(), sodium_mprotect_readonly() and
sodium_mprotect_readwrite() can be used to change the protection on the set
of allocated pages.
Reverting the protection to read+write is not required before calling
sodium_free().
2014-08-14 21:41:05 -07:00
Frank Denis
55bb50b855
Bump major
2014-08-06 10:09:21 -07:00
Frank Denis
ed76b41369
Rephrase
2014-08-04 16:29:13 -07:00