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
Frank Denis
2b0c8e40aa
Keep IA-32 asm on MingW/Cygwin, check for Windows during the x86-64 test.
2014-08-04 16:24:11 -07:00
Frank Denis
b9be5fbd45
Do not pass -fPIC on Windows. Add msys as a host_os value to detect Windows as well.
2014-08-04 14:30:07 -07:00
Frank Denis
857c772853
Rephrase
2014-07-31 22:13:45 -07:00
Frank Denis
aae1ae5005
MSVC: Define NATIVE_LITTLE_ENDIAN / inline as __inline / UNICODE & _UNICODE
2014-07-29 08:57:17 -07:00
Frank Denis
990fad3060
librt and libm are not needed any more.
...
Thanks to Raúl Sánchez Siles for the heads up.
2014-07-21 16:00:47 -07:00
Frank Denis
1dca7edfab
--enable-minimal should compile only what is required for the high-level API
...
This doesn't include aes128ctr.
2014-07-14 18:43:46 -07:00
Frank Denis
412f3edf8c
Get ready for 0.6.1
2014-07-12 21:15:46 -07:00
Frank Denis
f6519378b4
+ --enable-minimal to build a smaller library without less-used functions.
2014-07-09 20:24:04 -07:00
Frank Denis
c7059e88ec
Always install the .pc file even if pkg-config is not available.
...
And make sure that "make uninstall" gets rid of it, too.
2014-07-05 15:10:36 -07:00
Frank Denis
28d6eeaad7
Next package version will be 0.6.0
...
The library itself doesn't need a major version bump.
2014-06-26 16:13:46 -07:00
Frank Denis
957315035a
Use weak symbols to prevent LTO if this is an option.
...
Idea from Matthew Dempsky.
2014-06-20 21:11:53 -07:00
Frank Denis
098bad385b
Disable memset_s test for now.
...
Targeting OSX < 10.9 with -macosx-version-min doesn't work as expected:
memset_s is detected as present even though it won't actually work on
OSX <= 10.8
2014-06-18 17:49:28 -07:00
GraxRabble
ccf915dc14
prevented 128 bit integers from compiling with emscripten
2014-05-20 13:53:31 -04:00
xantares
041f920341
Link memset_s presence test
2014-05-19 19:14:49 +02:00
Frank Denis
35467bc0b7
Bump minor
2014-05-15 01:20:10 -07:00
Frank Denis
4653471cad
Check for SSSE3 instructions set
2014-05-14 22:34:27 -07:00
Frank Denis
f3034d38fc
Align library version ASCII art
2014-05-12 14:07:48 -07:00
Frank Denis
4ea26f0b8c
Stricter autoconf checks for MMX/SSE2/SSE3
2014-05-09 22:01:15 -07:00
Frank Denis
90d270f7c5
Check for memset_s availability the hard way.
2014-05-09 13:23:15 -07:00
Frank Denis
bfeec26358
Use explicit_bzero if available
2014-05-09 13:06:39 -07:00
Frank Denis
d12b563520
Bump library version major
2014-05-08 21:13:12 -07:00
Frank Denis
394e654c40
Unbreak cpuid check in autoconf
2014-05-06 12:31:08 -07:00
Frank Denis
20088ca5e2
Remove HAVE_CPUID conditional
2014-05-06 12:26:53 -07:00
Frank Denis
dc5dbae12f
Sync autoconf cpuid detection code
2014-05-02 21:24:31 -07:00
Frank Denis
ced8034901
Test only for cpu features we actually use for now, add MMX.
2014-05-02 15:39:49 -07:00
Frank Denis
cb4f3e4f06
Use SSE2 or portable scrypt implementation according to what the CPU supports.
2014-05-02 15:20:34 -07:00
Frank Denis
cb8544715b
Check for SSE2/SSE3/NEON support at runtime.
2014-05-02 14:40:39 -07:00
Frank Denis
3cefff9e52
Goodbye poly1305-53 and its genius fp wizardry.
2014-05-01 21:51:02 -07:00
Frank Denis
5df1a09f9a
Do not try to directly include <avxintrin.h>
2014-05-01 13:51:05 -07:00
Frank Denis
488cb28953
Do not use functions that aren't fully supported by Emscripten yet.
2014-04-22 18:12:49 -07:00
Frank Denis
53f3784a18
Also check for VirtualLock()
2014-04-16 18:04:45 -07:00
Frank Denis
7533cca9c7
Check for mlock()
2014-04-16 18:04:09 -07:00
Frank Denis
a06b00ecf4
Initial import of scrypt
2014-04-10 18:25:16 -07:00
Frank Denis
9f2e0ba803
Use memset_s() if available
2014-03-02 19:05:14 -08:00
Simon Levermann
cd2fabb8f5
Repair broken sonames
2014-02-23 02:07:52 +01:00
Simon Levermann
d889492173
Add ./configure option to disable toggle versions
...
I consider this way cleaner than setting some environment
variable in the build script. Per default, sonames are generated.
If ./configure is run with "--disable-soname-versions", no soname
versions will be generated. This is mainly useful for android, but
it might find some use for other environments without soname versioning
2014-02-20 17:54:05 +01:00
Frank Denis
0e6723c83c
Append to LIBTOOL_EXTRA_FLAGS in case it is not empty
2014-02-17 01:23:23 -08:00
Frank Denis
b70aa80cc6
Check for posix_memalign() presence
2014-01-01 12:57:25 +01:00
Frank Denis
3aa856474a
Distribute the dist-build directory
2013-12-31 16:16:29 +01:00
Frank Denis
bf72ee931e
Make crypto_scalarmult_curve25519.h architecture-independent
2013-12-11 20:17:09 -08:00
Frank Denis
5133638024
Make crypto_stream_salsa20.h architecture-independent.
...
Move implementation-specific functions to compat.c
2013-12-11 19:45:11 -08:00
Frank Denis
2c4f936715
Compile separately and use lipo(1) to build universal binaries.
2013-10-24 12:27:50 -07:00
Frank Denis
5ae0dbc579
Drop support for universal binaries.
2013-10-24 11:51:09 -07:00
Jose Pedro Oliveira
7101eb6a3f
Downgrade the minimal pkg-config version from 0.25 to 0.23 (which is
...
the pkg-config version shipped in Red Hat Enterprise Linux 6).
2013-10-23 17:19:08 +01:00
Frank Denis
abb7f74e5d
0.4.5
2013-10-22 02:56:36 -07:00
Frank Denis
afb89c7e16
Some systems have arc4random() but not arc4random_buf()
2013-10-22 02:54:45 -07:00
Frank Denis
08e37807ae
Bump version to 0.4.4
2013-10-21 20:43:44 -07:00
Frank Denis
875f4210ef
Check for arc4random()
2013-10-06 15:40:03 -07:00
Frank Denis
008808742b
Bump library minor
2013-10-05 14:14:18 -07:00
Frank Denis
b9b293c0ab
Add msvc scripts to the tarballs
2013-09-30 13:36:31 -07:00
Frank Denis
30026fbbfe
Check for inline vs __inline for MSVC
2013-09-24 13:23:48 -07:00
Frank Denis
656d8d6495
Disable donna_c64 on big endian architectures for now
2013-09-21 20:07:50 -07:00
Frank Denis
48f46304ce
Crank library minor
2013-09-09 22:21:53 -07:00
Frank Denis
38d0a4d1ca
Disable asm on x86_64-*-cygwin*, thanks to neheb@
2013-09-09 00:01:55 -07:00
Frank Denis
43f370671c
Actually disable PIE on mingw*
2013-09-08 23:45:15 -07:00
Frank Denis
e12b5bd8fb
Bump package version
2013-09-08 22:20:42 -07:00
Frank Denis
4b08902232
Disable asm on mingw64
2013-09-08 22:06:27 -07:00
Frank Denis
9ee3bd5d56
Use AS_CASE
2013-09-08 10:44:07 -07:00
Frank Denis
493f71a98a
Use autoconf to possibly define CPU_ALIGNED_ACCESS_REQUIRED
2013-09-08 10:39:27 -07:00
Frank Denis
5cfce7ef82
Reduce the 128-bit arithmetic compiler bug test case even further
2013-09-08 02:25:48 -07:00
Frank Denis
7544cba1fa
Test a minimum case that crashes gcc when compiling smult_curve25519_donna_c64
...
Delta and C-Reduce are amazing debugging tools.
2013-09-08 02:15:12 -07:00
Frank Denis
84f634a8f2
Requires at least autoconf 2.65
2013-08-26 23:37:08 -07:00
Frank Denis
74031ee550
Make --disable-blocking-random and --disable-debug no-ops
2013-08-18 14:06:00 -06:00
Christian Wiese
2f64b991b6
build: changed to only generate/install .pc file if pkg-config is found
...
This change improves the pkg-config support to only generate/install a .pc
file if pkg-config is found, assuming it is part of the build toolchain.
Note:
The minimal version set for pkg-config is 0.25, because this is the oldest
version I am able to test at the moment.
2013-08-12 15:16:23 -07:00
Christian Wiese
24510eb3e9
build: create and install a pkgconfig file
...
This adds trivial changes to the autotools infrastructur and a
template to generate and install a pkgconfig file libsodium.pc.
2013-08-11 23:18:14 +02:00
Frank Denis
675541b6f2
Rename ChangeLog to NEWS, change autoconf strictness to foreign,
...
rename COPYING to LICENSE.
2013-08-05 11:19:13 -07:00
Frank Denis
c6ad966868
Reorder automake options
2013-07-29 09:35:09 -07:00
Frank Denis
898cadc3e6
Set subdir-objects
2013-07-20 18:04:34 -07:00
Frank Denis
de78d541d6
Crank library minor
2013-07-12 09:49:44 -07:00
Frank Denis
a6490db658
Don't -> Do not
2013-07-07 22:38:51 -07:00
Frank Denis
09a4848fc9
Document --disable-pie instead of --enable-pie
2013-07-07 22:35:34 -07:00
Frank Denis
617eb6d26f
Move --enable-pie switch
2013-07-07 22:29:58 -07:00
Frank Denis
51d91d1115
autoconf: move the last switch, --enable-debug
2013-07-07 22:25:20 -07:00
Frank Denis
1d921e45da
autoconf: keep moving switches to the top of the file
2013-07-07 22:20:27 -07:00
Frank Denis
c06e228867
autoconf: start moving AC_ARG_ENABLE macros to the top of the script.
2013-07-07 21:46:44 -07:00
Frank Denis
c8a44ba02e
Disable asm implementations when compiling to javascript with emscripten.
2013-07-07 21:33:41 -07:00
Frank Denis
f66ab14d7f
Remove -I/usr/local/include and -L/usr/local/lib
...
libsodium doesn't have any dependency on 3rd party libs.
2013-07-07 19:18:03 -07:00
Frank Denis
c828d169c6
Prepare for a version bump.
2013-07-07 14:10:02 -07:00
Frank Denis
1a0a89df33
No need to define CROSS_COMPILING
2013-05-13 12:45:58 -07:00
Frank Denis
210de1570a
Add --disable-asm option to disable assembly implementations.
...
Check that fesetenv() and fegetenv() are available. If they aren't, still
compile the floating-point implementation of poly1305, but never pick it
in sodium_init().
This helps libsodium compile and work on Emscripten and on environments with
an incomplete libc.
2013-04-28 09:44:23 -07:00
Frank Denis
a68f217a80
Fix AC_INIT()
2013-04-27 16:39:23 -07:00
Frank Denis
02f98ce727
Only trust clang support for mode(TI) on amd64
2013-04-27 14:28:18 -07:00
Frank Denis
bb70f436d0
Just check cpuid itself, don't clobber %ebx
2013-04-27 14:07:39 -07:00
Frank Denis
46f5ec89a6
Fix __STDC_LIMIT_MACROS autoconf check
2013-04-27 13:42:55 -07:00