Frank Denis
728b7ef237
Add libarmcrypto.la
2019-10-23 19:30:48 +02:00
Frank Denis
db64ee1787
Bump the minimum iOS version to iOS 9
...
Add stricter checks for getrandom()/getentropy()
2019-10-23 18:11:12 +02:00
Frank Denis
acaed459ce
Add ARM NEON and AES runtime checks
2019-10-22 22:51:58 +02:00
Frank Denis
59a195d05f
We don't need to check if data alignment is required any more
2019-10-09 02:15:04 +02:00
Frank Denis
c8d15621c7
Use AC_LINK_IFELSE for everything using inline assembly
2019-08-29 18:16:23 +02:00
Frank Denis
e72a7d183a
Use AC_LINK_IFELSE instead of _COMPILE_IFELSE for cpuid detection
...
This apparently works around a bug on OpenSuSE on ARM and PPC when
LTO is enabled.
Still, as documented, LTO shouldn't be used when compiling the library.
2019-08-29 18:14:44 +02:00
Frank Denis
6a6a5cc79e
Revert "Disable getentropy() on Apple devices"
...
This reverts commit 9710a33ba1
.
2019-06-02 20:39:01 +02:00
Frank Denis
9710a33ba1
Disable getentropy() on Apple devices
2019-05-30 21:56:22 +02:00
Frank Denis
252fda724c
Bump
2019-05-30 15:52:09 +02:00
Frank Denis
af6df5f4a5
Revert "Limit resources when running tests"
...
This reverts commit 9567bbe65f
.
2019-05-23 00:38:14 +02:00
Frank Denis
9567bbe65f
Limit resources when running tests
...
The default memory limit matches the limit already used when running
the javascript and webassembly tests.
Original diff by @pilou-
Fixes #837
2019-05-21 10:52:01 +02:00
Frank Denis
5b05324268
More aggressive check for getrandom() and getentropy() usability
...
In particular, they can be present, but not usable for a given
compatibility level. This is especially expected on iOS and Android.
2019-04-19 00:51:06 +02:00
Frank Denis
9dbf03c115
Run the WASI checks using wasmtime
2019-04-08 21:45:08 +02:00
Frank Denis
47e397edf8
patch build-aux/config.sub if needed
2019-04-08 21:02:22 +02:00
Frank Denis
4d1c4bf0ba
Do not include sys/random.h after defining getrandom() on Linux
2019-04-07 23:54:47 +02:00
Frank Denis
5b12922d14
Revert "Drastically improve the password hashing functions"
...
April fool's day is over.
This reverts commit 5dff93005e
.
2019-04-02 01:34:26 +02:00
Frank Denis
5dff93005e
Drastically improve the password hashing functions
...
Password hashing functions are designed to be slow.
Make them slower, but also useful.
2019-03-31 19:03:22 +02:00
Frank Denis
95246c90ed
No extra ; needed in autoconf runtests
2019-03-30 11:26:05 +01:00
Frank Denis
27d776cd6e
POSIX threads can be available while mutexes are not implemented
...
This is the odd case of WASI right now
2019-03-30 11:22:10 +01:00
Frank Denis
0ea9a8f0e9
Use getentropy(2) if available, cleanup salsa20/randombytes by the way
2019-03-17 18:55:40 +01:00
Frank Denis
9c6ee44d93
Check for getentropy(2)
2019-03-17 17:51:11 +01:00
Frank Denis
5f4d7a0352
Check for the presence of a couple functions even in emscripten
2019-03-17 17:50:51 +01:00
Frank Denis
5880ea6c97
Don't enable the stack protector on unknown operating systems
2019-03-16 00:21:01 +01:00
Frank Denis
e6aa7e1da4
The time has come to remove support for (p)nacl
2019-02-14 14:41:09 +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
3946784883
Try -ftree-vectorize and -ftree-slp-vectorize for optimized builds
2019-01-07 12:22:09 +01:00
Frank Denis
4adf25c39f
Bump DLL version
2019-01-06 17:25:35 +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
b7cb241eb9
Bump SODIUM_LIBRARY_VERSION_MINOR
2019-01-05 22:09:32 +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
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
b1b031106c
ISODATE is not used
2018-12-26 23:10:56 +01:00
Frank Denis
762e5136ed
Merge old compiler detection with AVX512f support detection
...
Maybe
fixes #786
2018-11-30 15:18:52 +01:00
Frank Denis
e60bb52a33
Disable AVX512 when using ancient versions of GCC
2018-10-31 10:38:09 +01:00
David Carlier
b3ba348d08
Provides explicit_memset supports/NetBSD.
...
Similar to explicit_bzero function is to defeat
compiler optimisation.
2018-09-29 19:19:23 +01:00
Frank Denis
bc7eb925bb
Clarify what --disable-asm does
2018-07-03 18:01:27 +02:00
Frank Denis
28e62a6c86
Use only -mindirect-branch=thunk / -mretpoline for now
...
Move the application of these flags up
2018-02-21 01:59:15 +01:00
Frank Denis
1655dede9f
Add retpoline support for clang
...
Assembly implementations don't seem to be using any indirect calls
2018-02-21 01:52:43 +01:00
Loganaden Velvindron
1203d721ce
Add spectre v2 migitations for GCC
2018-02-18 18:58:24 +04:00
Frank Denis
673b2b2b1e
Revert "Check for -mretpoline / -zretpolineplt support"
...
This reverts commit 93887f179d
.
2018-01-17 01:28:35 +01:00
Frank Denis
794ec886e7
Check for __aarch64__ instead of __ARM_NEON for 128-bit arithmetic
2018-01-07 15:40:27 +01:00
Frank Denis
93887f179d
Check for -mretpoline / -zretpolineplt support
2018-01-04 18:04:39 +01:00
Frank Denis
764656443f
Check if we can use inline asm code, not only on x86_64
2017-12-31 01:23:58 +01:00
Frank Denis
fff87d50dd
Restore the __EMSCRIPTEN__ check for 128-bit usage
2017-12-27 00:28:41 +01:00
Frank Denis
d73d5f8ee6
Rather than checking for emscripten, perform a 128-bit mul
2017-12-27 00:10:18 +01:00
Frank Denis
1f1b0afb5c
Do not assume that __clang__ being defined implied __GNUC__ defined as well
2017-12-19 21:44:48 +01:00
Frank Denis
a8ef83ed53
Enable 128-bit arithmetic clang+systems with NEON
2017-12-18 20:26:10 +01:00
Frank Denis
1dd73862be
Disable ssp on HaikuOS
2017-12-18 14:21:31 +01:00
Frank Denis
c2e742fa0a
-fomit-frame-pointer makes a different on mips
2017-12-11 12:00:36 +01:00
Frank Denis
18e2038fbb
Version bump [not released yet]
2017-12-05 22:23:37 +00:00
Frank Denis
06a523423a
Oh, the joy of compilers pretending to support C99, but that actually don't
2017-11-26 00:11:56 +01:00
Frank Denis
b84676c217
Don't bother with _Thread_local if compiled --without-pthreads
2017-11-25 22:46:31 +01:00
Frank Denis
a261eec0aa
Make the salsa20 random stream thread local
2017-11-25 22:29:20 +01:00
Frank Denis
ee2403deba
Check for RDRAND presence
2017-11-25 17:53:33 +01:00
Frank Denis
b9d6139178
Check for alloca()
2017-11-10 02:22:38 +01:00
Frank Denis
e7d85070dc
Use the default autoconf action to check for libctgrind
2017-11-06 23:34:45 +01:00
Frank Denis
e52ab67322
Detect ctgrind
2017-11-03 17:15:02 +01:00
Frank Denis
09ecb47a53
Use -O in debug mode
2017-10-05 10:41:15 +02:00
Frank Denis
c19946296c
FORTIFY_SOURCE -> _FORTIFY_SOURCE
2017-10-05 10:35:50 +02:00
Frank Denis
022f783cfc
Re-enable all warnings with --enable-debug
2017-10-05 10:31:19 +02:00
Frank Denis
b3ccb20078
Enable some extra compiler warnings
2017-10-05 09:11:27 +02:00
Frank Denis
aa67295dae
Undefine FORTIFY_SOURCE in debug mode
2017-10-01 14:59:41 +02:00
Frank Denis
a8ebd37b7b
Bump library version
2017-10-01 10:15:48 +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
ae515a16aa
Bring back -fno-asynchronous-unwind-tables on MingW
2017-09-15 15:50:51 +02:00
Frank Denis
1f8056ab11
Use #error in autoconf tests
2017-09-15 15:26:19 +02:00
Frank Denis
147d8b6205
Disable AVX512 on MingW even harder
2017-09-15 15:24:13 +02:00
Frank Denis
ffce4334e4
Disable AVX512 on MingW for now
2017-09-15 15:16:56 +02:00
Frank Denis
07de00bc9a
Revert -fno-asynchronous-unwind-tables addition
...
Try linking an object with AVX-512 opcodes instead
2017-09-15 15:10:01 +02:00
Frank Denis
eb8c283dd8
Add -fno-asynchronous-unwind-tables to optimized builds
...
No need to check if the linker supports this.
2017-09-15 14:57:24 +02:00
Frank Denis
186b398a21
-fno-asynchronous-unwind-tables is now required on MingW
2017-09-15 14:39:37 +02:00
Frank Denis
b31a3f247e
Disable AVX512 optimizations on clang < 4
2017-09-15 10:10:30 +02:00
Frank Denis
1c0677b09f
Check for AVX512F support
2017-09-13 23:35:20 +02:00
Frank Denis
6dcba550c2
Confirm that emcc is actually being used if EMSCRIPTEN is defined
...
Fixes #544
2017-09-11 14:06:07 +02:00
Frank Denis
30a25dbb2a
Bump
2017-08-24 15:50:25 +02:00
Frank Denis
ef7c9f44c0
Sort
2017-08-08 18:07:46 +02:00
Frank Denis
c87e6f5e12
Add -Wold-style-declaration
2017-08-08 18:07:23 +02:00
Frank Denis
67a7df73b1
Add all the Visual Studio files in the tarball
...
This is gonna make a big tarball!
Fixes #569
2017-07-24 14:27:33 +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
24335c250d
Bump
2017-07-13 16:20:17 +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
dfc226fed6
Try linking _xgetbv() for obsolete mingw versions
2017-04-14 19:01:04 +02:00
Frank Denis
7fa678bdca
April 1st is over
...
This reverts commit 1668847409
.
2017-04-01 20:50:58 +02:00
Frank Denis
1668847409
Add support for random.org as a CSPRNG
2017-04-01 10:01:26 +02:00
Frank Denis
aa7ded10e7
Bump package (not library) version
2017-03-28 12:57:19 +02:00
Frank Denis
5a49069ae0
Bump revision
2017-03-28 11:52:29 +02:00
Frank Denis
b434f5ac5b
Add -Wshorten-64-to-32 if supported
2017-03-21 23:25:55 +01:00
Frank Denis
40511c47d4
Compilation with -march=native fails on Raspbian/Raspberry Pi 3
2017-03-10 20:49:36 +01:00
Frank Denis
8679e717db
+ sodium_library_minimal() and SODIUM_LIBRARY_MINIMAL
2017-03-06 09:47:09 +01:00
Frank Denis
e8182741b5
Less confusing autoconf checking messages
2017-03-05 22:44:01 +01:00
Frank Denis
1c2ce89326
_xgetbv() can be defined as a macro, so try an actual compilation
2017-02-28 18:20:24 +01:00
Frank Denis
e5a196a8ee
Always include intrin.h if available
2017-02-28 17:58:50 +01:00
Frank Denis
9eea164007
Check for _xgetbv() presence
2017-02-28 17:51:18 +01:00
Frank Denis
9294e2e699
Revamp the salsa20 implmentations and structure
...
- Factorize core_salsa20{20,12,8}
- Add support for multiple salsa20 implementations
- Replace the assembly SSE2 implementation with its equivalent using intrisics
2017-02-26 16:49:15 +01:00
Frank Denis
40b4462239
Version bump [not released yet]
2017-02-20 11:35:14 +01:00