247 Commits

Author SHA1 Message Date
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
Jonathan White
28ad6ed552 Merge branch 'master' into develop 2017-12-11 21:10:25 -05:00
Michal Kaptur
0ff75e7a88 Fixed memory leaks in non-gui tests
Fixed 2 memory leaks in production code and a few in testcases. As a
result leak_check_at_exit ASAN option does not need to turned off for
non-gui tests.
Smart pointers should be used elsewhere for consistency, but the sooner
this fixes are delivered, the lesser memory leaks are introduced.
2017-11-27 23:36:09 +01:00
Janek Bevendorff
8592f7e672 Merge branch 'release/2.2.2' into develop 2017-10-19 21:45:49 +02:00
rockihack
c6f83b9ca6 Fix: Regenerate transform seed and transform master key on save. 2017-10-18 23:04:37 -04:00
louib
242faa138b Add custom icons when merging. ()
* Adding missing custom icons on merge.
* qDebug when adding icon
* Adding test for merge custom icons.
2017-10-07 10:40:29 -04:00
rockihack
e53754d202
Fix build on mac os with qt 5.9.1 2017-10-03 15:01:54 -04:00
Josef Vitu
be312bbe4f Prevent unnecessary memory allocations 2017-09-24 18:01:01 -04:00
rockihack
b95eaa5843 Fix build on mac os with qt 5.9.1 2017-08-30 17:52:21 -04:00
Josh Soref
f71d0c0da8 Add ellipsis
The rule for ellipsis is simple:
If the described action requires interruption (typically by a dialog)
which requires user input, then ellipsis should be used to indicate
that triggering the menu will not immediately trigger the desired action.

Examples:
"Save" does not need an ellipsis in general (when the file name is known)
"Open..." needs an ellipsis, as one must select a file to open.
"Save as..." needs an ellipsis, as in order to save the file as something,
one must select a file name.
"About" does not need an ellipsis, while it may open a dialog, that dialog
is the desired result.
2017-07-20 14:12:58 +02:00
thez3ro
a53b111182
Update and fix copyright headers 2017-06-14 15:54:43 +02:00
Toni Spets
07dafd697e Treat empty booleans in XML as false 2017-03-23 06:58:44 +02:00
Janek Bevendorff
093fe5c7ef
Use QSharedPointer instead of cloning YkChallengeResponseKey and make it a QObject to allow emitting signals 2017-02-23 23:52:36 +01:00
Janek Bevendorff
37c7318097
Merge branch 'develop' into feature/yubikey 2017-02-15 00:24:28 +01:00
Timothy Redaelli
a01607e869
Add support for Twofish in KeePass2 code 2017-01-28 17:53:11 +01:00
Aleix Pol
bb8b91a100
Fix build with newer Qt5 2017-01-25 13:28:33 +01:00
Janek Bevendorff
e17576a6f7 Merge branch 'develop' into feature/yubikey 2017-01-15 03:20:21 +02:00
Josh Soref
af8e770106 spelling: successfully 2017-01-14 20:13:42 +01:00
Josh Soref
10f03795f9 spelling: transform 2017-01-14 20:13:34 +01:00
Josh Soref
d988b9e6d2 spelling: characters 2017-01-14 17:31:38 +01:00
Kyle Manna
77cc99acd3 YubiKey: Clean-up master seed challenge
* Tweak the logic so it more closely resembles other code (i.e.
  trasnformKey()). Matches existing style better.
* Save the challengeResponseKey in the database structure so that
  it can be referred to later (i.e. database unlocking).

Signed-off-by: Kyle Manna <kyle@kylemanna.com>
2017-01-08 16:47:39 -08:00
Kyle Manna
faa055010f challenge: Propagate failed challenge to caller
* If a removed Yubikey is to blame, re-inserting the Yubikey won't
  resolve the issue.  Hot plug isn't supported at this point.
* The caller should detect the error and cancel the database write.

Signed-off-by: Kyle Manna <kyle@kylemanna.com>
2017-01-08 16:40:25 -08:00
Kyle Manna
add4846d79 format: Add challenge response result to final key hash
* The challengeMasterSeed() function return empty if not present
  maintaining backwards compatability.
* This commit is where the challenge response result is computed into
  the final key  used to encrypt or decrypt the database.

Signed-off-by: Kyle Manna <kyle@kylemanna.com>
2017-01-07 23:18:55 -08:00
Felix Geyer
fff9e7ac46 Convert Q_FOREACH loops to C++11 for loops.
Q_FOREACH will de deprecated soon.
2016-10-02 21:45:55 -04:00
Felix Geyer
c78822f6e6 Merge branch '2.0' 2016-10-02 21:45:54 -04:00
Felix Geyer
ba68e0a4a1 Show proper error message when key is wrong for .kdb files. 2016-09-29 22:08:20 -04:00
Felix Geyer
8a7e98820a Fix typo.
# Conflicts:
#	src/format/KeePass2Reader.cpp
2016-09-29 22:08:10 -04:00
Florian Geyer
8d16522d39 Repair UUID of inconsistent history items.
Closes 
2016-08-03 23:48:40 +02:00
Felix Geyer
57c1a0f4b6 Show proper error message when key is wrong for .kdb files. 2016-04-09 16:09:53 +02:00
Felix Geyer
bde4d63fdb Fix typo. 2016-04-09 16:02:49 +02:00
Felix Geyer
d6d92ce90a Merge branch '2.0' 2016-02-08 18:13:29 +01:00
Felix Geyer
208b803fbe Fix KeePass2Repair to retain multi-byte UTF-8 chars.
Since char is (often) unsigned the ch < 0x20 check matched all
multi-byte encoded UTF-8 chars.
2016-02-02 00:41:16 +01:00
Felix Geyer
8a92cec03f Keep valid surrogate pairs in stripInvalidXml10Chars(). 2016-02-02 00:38:58 +01:00
Felix Geyer
107c0673c7 Make sure we don't write negative icon ids into the database. 2016-01-31 17:06:51 +01:00
Felix Geyer
c14d04b3e8 Fix crash when icon id is larger than INT_MAX.
In these cases icon id was interpreted as a negative number.
The QList access with a negative index resulted in a crash.
2016-01-31 16:44:34 +01:00
Felix Geyer
bfae81ec70 Use C++11 keyword directly in new methods. 2016-01-29 17:25:32 +01:00
Felix Geyer
71d4cb781d Merge branch '2.0' 2016-01-29 17:22:37 +01:00
Felix Geyer
eb56bd8973 Add repair functionality to strip invalid XML chars.
Refs 
2016-01-28 23:07:04 +01:00
Felix Geyer
2d741afe3e Strip invalid XML chars when writing databases.
These characters are unprintable or just plain invalid.
QXmlStreamReader throws and error when reading XML documents with such chars.

Closes 
2016-01-24 17:20:16 +01:00
Felix Geyer
6e45cf0dab Use C++11 keywords directly. 2015-10-11 10:47:30 +02:00
Felix Geyer
3b2a39fd38 Merge branch '2.0' 2015-09-26 11:44:27 +02:00
Felix Geyer
54f44f5267 Show a better message when trying to open an old database format.
Refs 
2015-09-23 23:16:49 +02:00
Felix Geyer
7fa0eddc5f Make C++11 mandatory. 2015-09-12 13:55:50 +02:00
Felix Geyer
20b13a4a2e Ger rid of last Qt 4 version check. 2015-09-12 13:51:49 +02:00
Felix Geyer
9882f16614 Remove Tools::currentDateTimeUtc(). 2015-09-12 13:51:49 +02:00
Felix Geyer
0422943d52 Explicitly close/reset streams so we can detect errors. 2015-07-20 21:35:48 +02:00
Felix Geyer
0024f2e30f Signal errors in QXmlStreamWriter upstream.
Unfortunately the method is only avaiable in Qt >= 4.8.
Not much we can do about that.
2015-07-20 21:35:43 +02:00
Felix Geyer
ceb6a0383e Add ability to export databases to CSV files.
Based on implementation by Florian Geyer <blueice@fobos.de>

Closes 
2015-07-14 22:14:34 +02:00
Felix Geyer
c6105a08ab KeePass2XmlReader: Don't fail wheh nreading empty UUIDs.
Closes 
2015-07-13 21:01:55 +02:00
Felix Geyer
7a2c02f0df Initialize some instance variables in ctor.
Discovered by Coverity.

Most likely doesn't fix any actual bug but better be safe.
2015-05-14 16:58:53 +02:00