Commit Graph

51 Commits

Author SHA1 Message Date
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
6c78c9815c Remove compat.c 2014-08-13 17:40:06 -07:00
Frank Denis
eae4add8de Implement ed25519 -> curve25519 keys conversion 2014-08-05 13:32:25 -07:00
Frank Denis
7b0eeda1c6 Remove aes256estream.
AES-256 will be reintroduced, but not until we have a bitsliced implementation.
2014-08-05 00:57:10 -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
955cfba91e MSVC: Don't define NDEBUG even for Release builds. 2014-07-29 08:42:18 -07:00
Frank Denis
412f3edf8c Get ready for 0.6.1 2014-07-12 21:15:46 -07:00
evoskuil
e6135a4712 Update windows dll version resource to 0.6.0 2014-07-04 05:46:18 -06:00
evoskuil
a494ab6213 Drop crypt32.lib Windows dependency. 2014-07-03 14:50:49 -06:00
evoskuil
a7f810fad1 Remove test files from new VS test projects. 2014-07-03 14:30:57 -06:00
evoskuil
684963583a Cosmetic change to xml whitespace (from generation). 2014-07-03 14:19:34 -06:00
Frank Denis
87eb9bd232 Merge remote-tracking branch 'evoskuil/master'
* evoskuil/master:
  Debug symboils for VS static libs.
  Update VS import props to fix delinking.
  Update nuget package to 0.5.1+ (published).
  cosmetic msvc xml fix
  Nuget package generation intermediate outputs.

Conflicts:
	packaging/nuget/package.config
2014-07-03 11:46:16 -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
83e91d7955 Update MSVC2013 solution 2014-06-26 13:52:53 -07:00
Frank Denis
113adff15b Update the MSVC2010 solution 2014-06-26 13:49:03 -07:00
Frank Denis
54cddd9650 Update MSVC2012 solution 2014-06-26 13:40:18 -07:00
Frank Denis
e352e775e8 Update vs2010 & vs2013 solutions 2014-06-23 16:55:19 -07:00
Frank Denis
1ba2ff6a04 Update vs2012 solution 2014-06-23 16:53:14 -07:00
evoskuil
0c0705ed47 Debug symboils for VS static libs. 2014-06-14 19:44:32 -07:00
evoskuil
8f5c9df257 Update VS import props to fix delinking. 2014-06-04 01:24:24 -07:00
evoskuil
04fdc3d315 Update nuget package to 0.5.1+ (published). 2014-05-28 17:09:22 -07:00
evoskuil
d757bf197b cosmetic msvc xml fix 2014-05-26 21:16:54 -07:00
Frank Denis
2270e4dc02 Merge pull request #159 from evoskuil/master
Minor VS build/package updates.
2014-05-21 00:04:46 -07:00
evoskuil
e5648e21a2 Remove use of $(DefaultLinkage) for values reflected in the VS props UI. 2014-05-21 00:01:26 -07:00
Frank Denis
35467bc0b7 Bump minor 2014-05-15 01:20:10 -07:00
Frank Denis
bd05b7d292 Rename scryptxsalsa208sha256 to scryptsalsa208sha256 2014-05-15 00:01:16 -07:00
evoskuil
49d2f7944e Rename standard props file to align with existing VS prop value. 2014-05-13 02:11:43 -07:00
evoskuil
4c2d0242fe Simplify VS project configurations and harden MSBUILD script. 2014-05-12 20:18:22 -07:00
evoskuil
c12cd7fb25 Batch build for all VS solutions. 2014-05-12 02:07:54 -07:00
evoskuil
3b2f435363 Remove VS custom props dependency from imports. 2014-05-11 14:25:55 -07:00
evoskuil
00f7fb537f Update VS2010/2012 import props to match 2013. 2014-05-11 00:48:42 -07:00
evoskuil
0e94fbb766 Modify VS props config for easy variation of output locations and messages. 2014-05-10 19:30:10 -07:00
evoskuil
63a7e26499 Update Visual Studio projects and packaging. 2014-05-10 03:47:35 -07:00
Frank Denis
ffe144ac04 Update vs201*/libsodium/libsodium.vcxproj 2014-05-08 21:38:16 -07:00
Frank Denis
b2cc7ff0b9 Regen version.h for the new Visual Studio build system. 2014-05-08 21:14:39 -07:00
evoskuil
4b082ced94 Share VS props files and increment package version. 2014-04-25 02:49:19 -07:00
evoskuil
135fb36b67 Add files to VS projects. 2014-04-23 19:24:51 -07:00
evoskuil
207212b276 Update filters for newly-added/removed source files. 2014-04-16 17:05:54 -07:00
evoskuil
6ede7869ec Add two more files to VS build. 2014-04-15 20:31:32 -07:00
evoskuil
de2a274e6a Update project files for recent library changes. 2014-04-15 19:51:54 -07:00
evoskuil
d54cabd59a Copy version file to source directory for build, with info message. 2014-04-15 19:51:29 -07:00
evoskuil
e9fef026f7 Version file that is automatically copied into build directory. 2014-04-15 19:50:09 -07:00
evoskuil
34509b99d9 Update filter file tool versions. 2014-04-15 01:43:42 -07:00
evoskuil
82657cef0a Update filters for source file changes. 2014-04-14 23:41:15 -07:00
evoskuil
58bdca7fa2 Update VS projects to accomodate source file list changes. 2014-04-14 19:08:46 -07:00
evoskuil
0f9aec94b6 Set VS2010 and VS2012 project files tools version to 4.0. 2014-04-14 17:55:24 -07:00
evoskuil
d36bcc85b5 Remove versioning from .props files. 2014-04-14 17:54:49 -07:00
evoskuil
37baa8a6ab Update VS build, add VS2012 and VS2013 projects. 2014-04-09 03:26:45 -07:00
evoskuil
7f046509ef Add VS2012/VS2010 solutions, add test proj to VS2013, remove export files. 2014-04-07 19:06:10 -07:00
evoskuil
7498397394 Remove unnecessary defines in msvc project properties. 2014-04-07 02:27:10 -07:00