* testing: simplify command
Go 1.9 no longer includes the vendor directory in wildcard commands, so we can remove the verbosity.
* docs: expand contributing guide
* docs: rewrite features list
* docs: remove example
The example for the New function is pretty much redundant.
* memcall: remove execute permissions
Related to #37. More refactoring needed.
* dependencies: update
* immutability: improve verbosity
This change changes the nomenclature and API used to improve verbosity and encourage better programming style.
* docs: improve docs summary
* api: rename EqualTo => EqualBytes
The new name is more clear about its intentions.
* patch: race condition
Use internal API to prevent mutex conflicts.
* docs: improve wording
* docs: fix outdated wording
* canary: minor optimisations
* destroy: refactor and optimise
* Added wrapper for Unix's Mprotect
* Panic on failed Lock
* Replaced Mlock code with libsodium counterpart
* Replaced pkg-config with LDFLAG
* Install libsodium as a dependency
* Install libsodium as a dependency, properly
* Install libsodium as a dependency, third time lucky
* Auto-confirm prompts
* Attain super-user before installing
* Install libsodium from tarball instead
* sudo su feezes the conatiner
* Build libsodium in /tmp/
* Really?
* Extract libsodium to tmp
* Temporary change to attain original working directory
* Switch back to working directory after installing libsodium
* Install from apt
* Install from apt, with confirmation
* Install from apt, with more confirmation
* Fix OSX tests too
* cgo is overkill
* Fix tests
* import golang.org/x/sys/windows
* This shouldn't return anything
* Implemented all of the required syscalls on both Unix and Windows
* Update local dependencies
* OSX doesn't support all the functions
* commas are AND
* Fix syntax errors in Windows
* Make Protect function partable
* Implement the front-facing API
* Basic tests
* Guard Pages added and bug fixes
* VirtualFree fix
* Formatting updates and fix windows tests
* Try again fixing windows tests
* Revert changes to Alloc in windows
* Updated a lot. Refactored a lot. Fixed a lot.
* Finishing up
* Added basic test structure. Removed useless calculation.
* Added some tests
* Add CSPRNG for the upcoming canary
* Fix some errors. Write more tests.
* Greater consistency in variable names.
* Test fix on windows.
* Nope
* Switch back to using slices
* Add canarys to detect buffer underflows
* Use global canary instead of individual ones
* Fix tests
* Add Locking functionality back
* Cleanup after tests
* Debugging for windows
* Remove debugging on windows
* Unlock the data pages specifically when destroying
* Fixed nasty bug. Credits to @dotcppfile for spotting it.
* Fixed nasty bug. Credits to @dotcppfile for spotting it.
* Update documentation
* Improve efficiency of DestroyAll. Credits to @dotcppfile
* Add small comment on what the setup protects against.
* Remove notice.
* Update documentation and add PROT_EXEC on Unix.
* Add PROT_EXEC on Unix.
* Remove Lock()
* CatchInterrupt() now can accept a function
* Use pointer arithmetic instead of storing a copy. Full credits to @dotcppfile
* Add authors file
* Add a State field to store the current protection value of the Buffer
* Fix some comments and simplify _getBytes function
* Reword parts of README.md
* Remove leftover Test from removed function
* Keep contributions concise.
* Update pass on dependencies.
* Reword AUTHORS file.
* WriteOnly isn't supported on windows, and isn't useful. Remove it.
* Protect should return nothing on all systems for compatibility.
* Remove outdated references to Locking from comments.
* Remove reference to removed feature from README
* Added array instructions to documentation.
* Add Mutex lock to make MemGuard threadsafe.
* Add note about thread-safety in MemGuard.
* Add proper thread-safety to the API.
* Improved mutexing on Destroy functions
* Improved comments and some code.
* Improved more comments. Added a test.