Commit Graph

2609 Commits

Author SHA1 Message Date
Janek Bevendorff
c2ead0e265 Fix macOS building and code signing, resolves #1344 2018-01-13 23:49:24 +01:00
Janek Bevendorff
43a620b9ff Explicitly include <QMimeData>, resolves #1366 2018-01-13 23:49:24 +01:00
Janek Bevendorff
7a55ab64d8
Merge pull request #1230 from keepassxreboot/feature/kdbx4
New Feature: KDBX4
2018-01-13 23:45:08 +01:00
Janek Bevendorff
1575088585
Add 'KDBX 4' to Argon2 KDF name and select first category in the database settings by default 2018-01-13 22:45:10 +01:00
Janek Bevendorff
96e271e8be
Force Docker rebuild to fetch fixed version of libgpg-error-127 2018-01-13 14:25:02 -05:00
Janek Bevendorff
90380adc90
Fix test compilation errors
* Use legacy AES-KDF mode for KeePass1Reader
2018-01-13 14:25:02 -05:00
Janek Bevendorff
824607080a
Install needed PPA packages for deployment 2018-01-13 14:25:01 -05:00
Janek Bevendorff
337a21f6d6
Save AES-KDF round parameter as quint64 2018-01-13 14:25:01 -05:00
Janek Bevendorff
6df54cfe8d
Do not assert KDF UUID and improve error message 2018-01-13 14:25:00 -05:00
Janek Bevendorff
b04c8c2b6e
Explicitly support AES-KDF in KDBX4 and don't convert KDBX4 files with AES-KDF back to KDBX3 when saving 2018-01-13 14:25:00 -05:00
Janek Bevendorff
d327c16904
Increase Argon2 warning threshold and set parallelism default value to number of available processors 2018-01-13 14:24:59 -05:00
Janek Bevendorff
c51585c279
Fix type conversion error in older Qt versions 2018-01-13 14:24:59 -05:00
Janek Bevendorff
df728083cc
Add challenge response to key before transformation, resolves #1060
* Re-implement KDBX4 challenge-response key assembly with transform
seed instead of master seed
2018-01-13 14:24:59 -05:00
Janek Bevendorff
a6ddc22fb8
Refactor database readers/writers and XML handling
* Refactor Kdbx*Reader
* Refactor KdbxWriter
* Refactor KdbxXmlReader
* Refactor KdbxXmlWriter
2018-01-13 14:24:58 -05:00
Janek Bevendorff
72a1c65d00
Fix memory leaks in tests 2018-01-13 14:24:58 -05:00
Janek Bevendorff
ccfd7a065c
Fix coding style and GUI test 2018-01-13 14:24:57 -05:00
Janek Bevendorff
54fb0d9bd3
Show warning when using inappropriate transform round number
Increase default AES-KDF rounds to 100k
2018-01-13 14:24:57 -05:00
Janek Bevendorff
995d6646be
Redesign DatabaseSettingsWidget 2018-01-13 14:24:56 -05:00
Janek Bevendorff
f7d3c90218
Fix compilation error 2018-01-13 14:24:56 -05:00
angelsl
564188b0d3
Report database read failure reason in tests 2018-01-13 14:24:55 -05:00
Jonathan White
bef7ba2cfe
Implements KDBX4 format with Argon2 KDF
* Adds KDBX4 reader/writer interfaces
* Adds KDBX4 XML reader/write interfaces
* Implements test cases for KDBX4
* Fully compatible with KeePass2
* Corrects minor issues with Argon2 KDF
2018-01-13 14:24:55 -05:00
Jonathan White
7dba788d09
Correct failure in GUI tests due to widget name 2018-01-13 14:24:54 -05:00
Jonathan White
738f870e70
Correct regression in database modification signal 2018-01-13 14:24:43 -05:00
Jonathan White
542ee42313
Add Argon2Kdf and enable parameters in db settings
Note: This implementation is not yet connected to the
database itself and will corrupt existing kdbx3 db's.

* Implemented memory and parallelism parameters for Argon2Kdf
* Using libargon2; libsodium does not support Argon2d algorithm
* Moved basic rounds parameter into Kdf class
* Reimplemented benchmark algorithm; previous was utterly broken
2018-01-13 14:23:30 -05:00
Jonathan White
9140893cd3
Correct Endian function use in Random tests 2018-01-13 14:23:29 -05:00
Jonathan White
2866bc626a
Removed dead code 2018-01-13 14:23:29 -05:00
Jonathan White
61c4fe8992
Formatting and consistency fixes 2018-01-13 14:23:29 -05:00
Janek Bevendorff
4592de8fb6
Make benchmark() method non-virtual 2018-01-13 14:23:28 -05:00
Janek Bevendorff
15648991fc
Refactor Kdf class, remove fields concept 2018-01-13 14:23:28 -05:00
Janek Bevendorff
d00ccd2eb5
Add AsyncTask helper functions 2018-01-13 14:23:27 -05:00
Janek Bevendorff
0d6ca0945b
Reformat code, fix minor style issues, make kdf() getter const 2018-01-13 14:23:27 -05:00
Janek Bevendorff
d1a19a1009
Refactor Endian namespace 2018-01-13 14:23:27 -05:00
angelsl
3461cbfb06
Rename KeePass2{,Xml}{R,W} to Kdbx3{,Xml}{R,W}, and add a redirection class
This class will in future select Kdbx4{R,W} as appropriate.
2018-01-13 14:23:26 -05:00
angelsl
e5ec585f98
Use GCRY_MD_FLAG_SECURE in CryptoHash 2018-01-13 14:23:26 -05:00
angelsl
6a0d05e1ef
Add support for various algorithms for kdbx4
* Add SHA512 support to CryptoHash
* Add ChaCha20 support
* Add HMAC support
* Add new HmacBlockStream, used in KDBX 4
* Add support for ChaCha20 protected stream
2018-01-13 14:23:26 -05:00
angelsl
4532108678
Add support for KDFs and cyphers to the db settings widget 2018-01-13 14:23:25 -05:00
angelsl
33974d710a
Move constants in KeePass2.h to KeePass2.cpp and add a list of KDFs and ciphers 2018-01-13 14:23:25 -05:00
angelsl
a5ec7fc704
Make HashedBlockStream::atEnd report EOF correctly 2018-01-13 14:23:24 -05:00
angelsl
663b8dcb08
Remove unused SymmetricCipherSalsa20 2018-01-13 14:23:24 -05:00
angelsl
656836950e
Add support for stream cipher subclasses in SymmetricCipherStream 2018-01-13 14:23:24 -05:00
angelsl
23347b392f
Fix typo in Endian and add uint{16,32,64}ToBytes 2018-01-13 14:23:24 -05:00
angelsl
2e19af5032
Pull out KDFs into their own class hierarchy
In preparation for multiple KDFs in KDBX 4
2018-01-13 14:23:20 -05:00
Janek Bevendorff
6aaa89a23c
Merge pull request #1370 from varjolintu/browser_cpu_fix
High CPU fix for Linux
2018-01-11 09:32:50 +01:00
varjolintu
acceb8efc9 High CPU fix for Linux 2018-01-11 08:52:17 +02:00
Janek Bevendorff
92ab7bece2
Merge pull request #1329 from adolfogc/refactor/database-widget
Refactor src/DatabaseWidget.cpp
2018-01-09 12:59:32 +01:00
Adolfo E. García
540bcd8d70 Refactor src/DatabaseWidget.cpp
Based on input from PR #1167's code review.
2018-01-09 12:47:12 +01:00
Janek Bevendorff
6476b6b1f0
Merge pull request #1356 from varjolintu/fix/macports
Fix for building with MacPorts
2018-01-06 17:08:10 +01:00
varjolintu
4316999254 Fix for building with MacPorts 2018-01-06 17:38:57 +02:00
Janek Bevendorff
5fe18400c5
Merge pull request #1355 from yan12125/browser-improve-proxy-path-handling
Improve proxy path handling for the browser plugin
2018-01-06 12:52:39 +01:00
Yen Chi Hsuan
9b5ed176cd Improve proxy path handling for the browser plugin
If "Update KeePassXC binary path automatically to native messaging
scripts on startup" is not selected (default behavior), native messaging
host JSON contains wrong path " ".
2018-01-06 18:22:10 +08:00