Commit Graph

8 Commits

Author SHA1 Message Date
Janek Bevendorff
13eb1c0bbd Improve resilience against memory attacks
To reduce residual fragments of secret data in memory after
deallocation, this patch replaces the global delete operator with a
version that zeros out previously allocated memory. It makes use of
the new C++14 sized deallocation, but provides an unsized fallback
with platform-specific size deductions.

This change is only a minor mitigation and cannot protect against
buffer reallocations by the operating system or non-C++ libraries.
Thus, we still cannot guarantee all memory to be wiped after free.

As a further improvement, this patch uses libgcrypt and libsodium
to write long-lived master key component hashes into a secure
memory area and wipe it afterwards.

The patch also fixes compiler flags not being set properly on macOS.
2019-04-21 09:39:28 -04:00
Sami Vänttinen
b6bb2ca06a Fix macOS makefiles for cli and proxy (#2580) 2019-01-16 11:03:11 -05:00
JTL
dd5665c656 Multiple macOS fixes and include keepassxc-cli in DMG (#2165)
* Fixes including keepassxc-cli when building KeePassXC dmg on Mac.
resolves #1697
* Fix Qt search path and Properties display on macOS
* Simplify packaging POST_BUILD fixups
* Various fixes to get cli to run on macos
* Correct cli tests on macOS
* Several macOS related GUI test fixes
2018-12-28 18:32:25 -05:00
varjolintu
a910821506 Fix Windows build with socket size 2018-04-27 15:28:12 -04:00
Janek Bevendorff
6531f94f86 Try to change both the REALPATH and the symlink location 2018-02-27 20:11:03 +01:00
Janek Bevendorff
a06a1f84e0 Don't hardcode install_name_tool change path, resolves #1518 2018-02-26 00:55:06 +01:00
varjolintu
4316999254 Fix for building with MacPorts 2018-01-06 17:38:57 +02:00
varjolintu
06518c5736 keepassxc-browser 2018-01-04 21:42:20 +01:00