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
Aleksa Sarai
9f8943c89b
keepassxc-cli show: resolve references in output ( #1280 )
...
* core: database: make UUID searching case-insensitive
4c4d8a5e84 ("Implement search for reference placeholder based on
fields other than ID") changed the semantics of searching-by-reference
in KeePassXC. Unforuntately it contained a bug where it implicitly
became case-sensitive to UUIDs, which broke existing databases that used
references (especially since the default reference format uses a
different case to the UUID used while searching).
The tests didn't catch this because ->toHex() preserves the case that it
was provided, they have been updated to check that UUIDs are case
insensitive.
* cli: show: resolve references in output
Previously, `keepassxc-cli show` would not resolve references. This
would make it quite hard to script around its output (since there's not
interface to resolve references manually either). Fix this by using
resolveMultiplePlaceholders as with all other users of ->password() and
related entry fields.
Fixes : keepassxreboot/keepassxc#1260
* tests: entry: add tests for ref-cloned entries
This ensures that the most "intuitive" current usage of references
(through the clone feature of the GUI) remains self-consistent and
always produces the correct results. In addition, explicitly test that
case insensitivity works as expected. These should avoid similar
regressions in reference handling in the future.
* http: resolve references in AccessControlDialog
The access control dialog previously would not show the "real" username
or "real" title when asking for permission to give access to entries.
Fix this by resolving it, as we do in many other places.
Fixes : keepassxreboot/keepassxc#1269
Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
2017-12-17 10:44:12 -05:00
frostasm
d99dee9c40
Small refactoring related to references placeholders
2017-11-30 20:07:16 +02:00
frostasm
4c4d8a5e84
Implement search for reference placeholder based on fields other than ID
2017-11-30 20:07:16 +02: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
Louis-Bertrand Varin
2e81751131
Backporting #1008
2017-10-07 11:03:24 -04:00
louib
242faa138b
Add custom icons when merging. ( #1008 )
...
* Adding missing custom icons on merge.
* qDebug when adding icon
* Adding test for merge custom icons.
2017-10-07 10:40:29 -04:00
Josef Vitu
be312bbe4f
Prevent unnecessary memory allocations
2017-09-24 18:01:01 -04:00
louib
839a61ef59
Moving keyFile after password. ( #830 )
...
* Moving keyFile after password.
* Using tr() in unlockFromStdin.
2017-07-31 10:17:08 -04:00
louib
fe877486ff
Handle FileKey::load errors (--key-file) ( #825 )
2017-07-29 17:24:24 -04:00
louib
1d30283514
Feature : --key-file option for CLI ( #816 )
...
* removing readFromLine
* Removing gui-prompt
* execute uses an arg list.
* Testing with key-file
* Fixing the -a option in EntropyMeter.
2017-07-25 13:41:52 -04:00
louib
1edabc4b3c
Feature : Clip command using native programs. ( #792 )
...
* Adding a timeout option
* Using native apps.
* Renaming PasswordInput -> Utils
2017-07-22 19:40:30 -04:00
Weslly
400073c7cc
Disable stdin echo when entering passwords on cli
2017-06-21 11:15:59 -03:00
Louis-Bertrand Varin
574c5cf1b2
clang-format Database.cpp
2017-06-15 10:31:14 -04:00
Louis-Bertrand Varin
f3f6f6a493
Adding saveToFile function.
2017-06-14 19:50:19 -04:00
thez3ro
a53b111182
Update and fix copyright headers
2017-06-14 15:54:43 +02:00
louib
dcc8094ce4
Add the GUI prompt option to the merge command. ( #589 )
2017-05-25 13:07:24 -04:00
louib
c3bd5d21aa
Adding a GUI prompt for password. ( #587 )
2017-05-22 17:53:41 -04:00
louib
a2e82dc883
Feature : clip command ( #578 )
2017-05-19 14:04:11 -04:00
Vladimir Svyatski
75c16d1cbb
Add requested source code changes
2017-04-21 18:07:57 +03:00
Louis-Bertrand Varin
993f90cb2c
Extracting openDatabaseFile.
2017-03-16 10:09:50 -04:00
Janek Bevendorff
15dd783d2c
Merge branch 'develop' into feature/yubikey
2017-03-10 18:01:14 +01:00
Janek Bevendorff
8d487d31a4
Replace Q_EMIT, Q_SIGNALS and Q_SLOTS macros with MOC keywords
2017-03-10 16:12:02 +01: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
Kyle Manna
951fa96848
YubiKey: Fix database locking
...
* Save the master seed upon first challenge so it can be used as a
challenge at a later point.
* When verifyKey() is called, verify that the challenge is successful.
* Uncheck YubiKey box to not leak information about how the database is
protected.
Signed-off-by: Kyle Manna <kyle@kylemanna.com>
2017-01-08 16:48:06 -08: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
e354a0ee0e
database: Pass master seed to challenge response keys
...
* Pass the master seed from the database to CompositeKey::challenge()
function which will in turn issue challenges to all selected
drivers.
Signed-off-by: Kyle Manna <kyle@kylemanna.com>
2017-01-07 23:16:39 -08:00
Jonathan White
06b1baa454
Automatic reload the database when the file is externally modified
2016-11-07 23:03:01 -05:00
Jonathan White
e25cd9ba48
Add Merge database utility function ( #47 )
...
Thank you to @TheZ3ro and @monomon for there major contributions to this PR!
2016-11-07 22:37:42 -05: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
7fa0eddc5f
Make C++11 mandatory.
2015-09-12 13:55:50 +02:00
Felix Geyer
9882f16614
Remove Tools::currentDateTimeUtc().
2015-09-12 13:51:49 +02:00
Felix Geyer
a762cef0a9
Catch and handle all errors from libgcrypt.
2015-05-09 23:21:44 +02:00
Sebastien Fricker
7a8d4577f1
Automatic reload of a database when it get modified
...
When the database if modified by an other instance of KeePassX, KeePassX
detect it and reload automatically the database.
2014-05-03 16:59:41 +02:00
Felix Geyer
e263c475c9
Increase default number of transform rounds to 100000.
...
Even low-end smartphone should be able to handle that.
2014-04-26 18:34:33 +02:00
Felix Geyer
98c821df05
Add Group::exportToDb().
2013-11-22 13:36:46 +01:00
Felix Geyer
9c788a6e84
Support custom backends in Random.
...
Useful for tests.
2013-10-09 22:06:32 +02:00
Felix Geyer
6504b6f2bd
Drop Qt module name from include statements.
...
This is a preparation to be able to build KeePassX against Qt 5.
2013-10-03 15:18:16 +02:00
Felix Geyer
7286b1847d
Add Database::verifyKey().
...
And make Database::hasKey() const.
2012-10-12 12:10:41 +02:00
Felix Geyer
ecea101962
Return Q_NULLPTR instead of 0 when the return type is a pointer.
2012-07-23 14:58:57 +02:00
Florian Geyer
f6e1af30b3
Move recycle bin creation method to Group class.
2012-07-21 11:58:00 +02:00
Felix Geyer
490414716d
Generate new random transform seed when changing transform rounds.
2012-07-17 10:57:08 +02:00
Felix Geyer
66422437d3
Regenerate key in Database::setTransformRounds().
...
Merge Database::updateKey() into Database::setTransformRounds() and
regenerate the key if the database already has a key.
Closes #34
2012-07-17 10:33:54 +02:00
Florian Geyer
204822b66f
Improve auto save handling.
2012-06-24 19:30:30 +02:00
Felix Geyer
5ef3cdb428
Add some more asserts to make sure we only store UTC QDateTimes.
2012-05-16 10:05:58 +02:00
Felix Geyer
cd41727583
Get rid of Database pointer in Metadata.
2012-05-14 17:04:05 +02:00
Florian Geyer
746a535c7d
Create recycle bin with search state and auto type disabled.
2012-05-13 19:03:41 +02:00
Andreas Piesk
7568582b05
compile with QT < 4.7 (RHEL6 an clones)
2012-05-09 22:15:28 +02:00
Felix Geyer
d5cd0dcd14
Add a method to get databases by uuid.
...
Each database gets a random uuid on construction which is not saved by
KeePass2XmlWriter and only valid until the database object is deleted.
2012-04-25 00:12:23 +02:00
Felix Geyer
3df2ad35cb
Constification and some style fixes.
2012-04-23 21:09:01 +02:00
Felix Geyer
411617cc8b
Add convenience function Database::addDeletedObject(const Uuid&).
...
Drop Group::addDeletedObject() and make Entry call the Database function
instead.
2012-04-22 00:29:39 +02:00
Florian Geyer
8467e7756d
Add ability to delete groups via gui.
2012-04-22 00:11:17 +02:00
Florian Geyer
1fc5f7a69f
Add database settings widget and ability to change transform rounds count.
2012-04-21 17:28:44 +02:00
Felix Geyer
246bc0115e
More coding style fixes.
2012-04-19 00:25:57 +02:00
Felix Geyer
3d1fc6cd6d
Set the group of the entry in Database::recycleEntry().
...
Drop Metadata::addEntryToRecycleBin() and add a non-const
Metadata::recycleBin() getter instead.
2012-04-18 23:27:14 +02:00
Florian Geyer
8735a4846c
Move deleted entries to recycle bin if enabled.
2012-04-18 23:09:00 +02:00
Florian Geyer
46bbabbe3c
Use UTC time spec.
2012-04-18 17:03:57 +02:00
Florian Geyer
eb4f82a7ed
Add hasKey property to database and also make it accessible via the DatabaseWidget.
2012-04-18 17:03:57 +02:00
Florian Geyer
c80be1dd84
Add modified signals for metadata.
2012-04-11 21:50:20 +02:00
Florian Geyer
1d23ed46e5
Add modified signal for database.
2012-04-11 20:01:36 +02:00
Felix Geyer
bce46c5ece
Enforce that group/entry uuid is set when writing a database.
2011-12-27 15:47:06 +01:00
Felix Geyer
027362be76
Notify entry/group parent on deletion.
...
Also make the root group pseudo static, i.e. it shouldn't be changed
after the database has been fully constructed.
2011-07-09 21:54:01 +02:00
Felix Geyer
4dbdc4d847
Make some Group methods private.
2011-07-08 13:57:02 +02:00
Felix Geyer
a1bfb1f319
Initalize more member variables.
2011-07-07 12:52:30 +02:00
Felix Geyer
5cb906c235
Properly initialize various attributes.
2011-06-29 16:47:05 +02:00
Felix Geyer
6afda908bc
Move key transform() call into Database.
2011-06-29 16:39:39 +02:00
Felix Geyer
e3da80fcc6
Add KeePass2Writer.
...
Support attributes MasterKeyChanged, MasterKeyChangeRec, MasterKeyChangeForce and Tags.
Close streams in the dtor.
2010-09-25 12:41:00 +02:00
Felix Geyer
567dd92d4c
Add built-in icons.
2010-09-19 21:22:24 +02:00
Felix Geyer
26de957a98
Indentation and variable naming fixes.
2010-09-13 23:16:28 +02:00
Felix Geyer
ee4c2c3dd4
Move core/Parser to format/KeePass2XmlReader and core/Writer to format/KeePass2XmlWriter.
2010-08-31 14:39:35 +02:00
Felix Geyer
3193adc215
Support Entry History and DeletedObjects.
2010-08-25 13:52:59 +02:00
Felix Geyer
e28ed4891b
Add signal for changes in Group.
2010-08-15 15:03:47 +02:00
Felix Geyer
072a8ccf1b
Add GroupModel and corresponding unit test.
2010-08-15 12:31:48 +02:00
Felix Geyer
01694c3271
Implement Entry::image().
2010-08-14 12:24:35 +02:00
Felix Geyer
bd1ea05017
Fix parser and add unit tests.
2010-08-13 18:08:06 +02:00
Felix Geyer
dae532d659
More work on the parser and Entry/Group data structures.
2010-08-12 21:38:59 +02:00
Felix Geyer
3e3c23e4ad
Initial import.
2010-08-07 15:10:44 +02:00