Commit Graph
186 Commits
Author SHA1 Message Date
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