Commit Graph

2152 Commits

Author SHA1 Message Date
Louis-Bertrand Varin
1e0191a37c Remove unused dependencies. 2017-01-13 19:45:33 -05:00
TheZ3ro
a8d9e8ba7c Merge pull request #153 from louib/fix/databaseLockTypo
Add missing space in messages.
2017-01-12 10:20:14 +01:00
Louis-Bertrand Varin
1a5c18c9bd Add missing space in messages. 2017-01-11 21:12:43 -05:00
Louis-Bertrand Varin
421e6303ae Rename merge-databases -> kdbx-merge 2017-01-11 21:05:16 -05:00
Louis-Bertrand Varin
a79366f105 Use QCommandLineParser
* Switch to using QCommandLineParser
* Implement the --same-password option
* extract `getKeyFromLine` function
2017-01-11 21:00:11 -05:00
Tarquin Winot
f85198c60f Replace old-style C conversions in entropy estimator (#150) 2017-01-10 17:37:58 -05:00
Louis-Bertrand Varin
2afa1f0dc8 Use 2 passwords for merging. 2017-01-08 22:46:30 -05:00
Kyle Manna
ef06165ea2 keys: CompositeKey: Change Q_FOREACH to C++11 for()
* Use the C++11 range based loop as recommended from
  https://github.com/keepassxreboot/keepassxc/pull/119

Signed-off-by: Kyle Manna <kyle@kylemanna.com>
2017-01-08 18:47:54 -08:00
Pedro Alves
d398d367c1 Allow a previously yubikey protected database to be saved without the yubikey challenge-response code. 2017-01-08 16:48:12 -08: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
62190d79be YubiKey: Whitespace clean-up
* This was bugging me.  Oops.
* No functional changes.

Signed-off-by: Kyle Manna <kyle@kylemanna.com>
2017-01-08 16:43:30 -08:00
Kyle Manna
f7ee528d41 YubiKey: Retry to recover hotplugging
* Attempt one retry in the event the event the device was removed and
  re-inserted.

Signed-off-by: Kyle Manna <kyle@kylemanna.com>
2017-01-08 16:43:23 -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
ba8fd25604 gui: Add YubiKey support to widgets
* Add YubiKey support to the GUI widgets.

Signed-off-by: Kyle Manna <kyle@kylemanna.com>
2017-01-08 16:31:50 -08:00
Kyle Manna
9556d8e6da tests: Add YubiKey Tests
* Basic testing for YubiKey code.

Signed-off-by: Kyle Manna <kyle@kylemanna.com>
2017-01-07 23:20:27 -08:00
Kyle Manna
5b8b4c8c7b keys: yk: Implement ChallengeResponseKey for YubiKey
* Implement a YubiKey challenge response class.  One object will be
  created for each challenge response key available.

Signed-off-by: Kyle Manna <kyle@kylemanna.com>
2017-01-07 23:20:16 -08:00
Kyle Manna
82aed2caab keys: yk: Add YubiKey hardware driver support
* Use compile time detection of the YubiKey libraries and link against
  the libraries if present.  Can be disabled with:

      $ cmake -DCMAKE_DISABLE_FIND_PACKAGE_YubiKey=FALSE

* A stub file provides empty calls for all the function calls integrated
  in to the UI to support this.  In the future a more modular approach
  maybe better, but opting for simplicity initially.

Signed-off-by: Kyle Manna <kyle@kylemanna.com>
2017-01-07 23:18:59 -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
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
Kyle Manna
ccd6704b8f keys: CompositeKey: Add ChallengeResponseKey support
* Each Challenge Response Key consists of a list of regular keys and now
  challenge response keys.
* Copy ChallengeResponseKeys when copying the object.
* Challenge consists of challenging each driver in the list and hashing
  the concatenated data result using SHA256.

Signed-off-by: Kyle Manna <kyle@kylemanna.com>
2017-01-07 23:14:43 -08:00
Kyle Manna
9bdb41a727 keys: Add ChallengeResponseKey header
* Add initial header file for forthcoming challenge response support.
* A ChallengeResponseKey operates by submitting some challenge data and
  getting a deterministic result.
* In the case of the forthcoming YubiKey integration, the master seed is
  submitted as the challenge to the YubiKey hardware and the YubiKey
  returns a HMAC-SHA1 response.

Signed-off-by: Kyle Manna <kyle@kylemanna.com>
2017-01-07 23:03:47 -08:00
Louis-Bertrand Varin
a40f84d519 Read the password from stdin. 2017-01-07 15:14:54 -05:00
Louis-Bertrand Varin
bdb49a36bf Reverting .gitignore 2017-01-07 13:12:30 -05:00
Louis-Bertrand Varin
1458ba6f6f qInfo -> qDebug and missing imports. 2017-01-06 20:24:50 -05:00
Louis-Bertrand Varin
007073354f Revert cmake in .gitignore. 2017-01-06 20:19:26 -05:00
Louis-Bertrand Varin
be827211d2 Removing unused imports. 2017-01-06 16:32:18 -05:00
Louis-Bertrand Varin
5bc3924756 Merge databases script. 2017-01-06 16:29:07 -05:00
louib
ff6d78244b Updated INSTALL documentation. (#140)
* KeePassCR -> KeePassXC in INSTALL
* Added .md extension to INSTALL.
2017-01-04 18:47:29 -05:00
Jonathan White
5f1b9a17ca
Fix testgui for Windows (PR #137)
Introduces TemporaryFile class to act as a proxy to fix autoreload test cases failing on windows due to the behavior of QTemporaryFile.
2017-01-03 22:27:41 -05:00
Jonathan White
534364454d
Merge branch 'feature/cmake-fix-#50-#123' into develop
* Fixes #50 and #123
2017-01-02 22:27:20 -05:00
Jonathan White
0e65b9b9f8
Corrected autotype lib building for Windows 2017-01-02 22:25:37 -05:00
thez3ro
07a41f58d7
Add autotype library linking
Added Autotype switch + updated Travis to always test all extension
2017-01-02 22:25:36 -05:00
Jonathan White
5b04e195b0 Merge pull request #132 from keepassxreboot/improve_search_ui
Improve UI of the search edit widget
2017-01-02 20:04:21 -05:00
Jonathan White
9fa2dae68c Merge branch 'develop' into improve_search_ui 2017-01-02 17:51:42 -05:00
Danny Su
9000bc138f Update Website URL in About Dialog (#136) 2017-01-02 17:50:42 -05:00
Jonathan White
9660510cc7 Cleaned up SearchWidget code 2016-12-23 23:14:50 -05:00
thez3ro
298665e32a
Improve UI of the search edit #131 2016-12-23 18:13:08 +01:00
Akinori MUSHA
d0a3c08840 Improve UI of the search edit (resurrecting 5c7c7f54)
- The copy action (Control+C) when no text is selected copies the
  password of the current entry.  This should be reasonable when
  Control+B copies the username.

- Down at EOL moves the focus to the entry view.  Enter and Tab should
  do that, but it would be handy for user to be able to get to the third
  entry by hitting Down three times.
2016-12-22 17:16:59 +09:00
Danny Su
63a1b49745 Fix build for 64-bit Windows (#130)
Building on 64-bit Windows gets to 99% and fails on this particular file due to the `stdafx.h` inclusion.
The macro in `entropy-meter.cpp` is different than `src/zxcvbn/zxcvbn.cpp`.
After copying the macro from `zxcvbn.cpp` and rebuilding, the Windows build succeeded.
2016-12-20 18:41:15 -05:00
greenbasilisk
9547ac0afd Fix build issue for openSuse (#126)
* Corrects missing symbols when linking
2016-12-11 21:50:17 -05:00
Jonathan White
fa891edb7c
Added extensions section in about dialog; fixed url as well 2016-12-07 22:40:09 -05:00
thez3ro
65992ba6ae
Option to select extension compile-time. Fix #50 #123 2016-12-04 19:57:24 +01:00
Jonathan White
791a749c2f Search scopes to currently selected group (and children) (#118)
* Added test cases for case sensitive and group search
2016-11-28 19:02:21 -05:00
Janek Bevendorff
9261d8ae9d Force focus on password field, resolves #116 (#117)
Also remove redudant code for minimizing to tray
2016-11-26 09:37:25 -05:00
TheZ3ro
405b82588b Add Autotype Entry-Attributes, Fix Group default sequence (#107) 2016-11-25 12:26:59 -05:00
Jonathan White
0dfd2003f9 Implement autoreload of database file (#93) 2016-11-25 12:13:28 -05:00
Jonathan White
3d249365c2
Merge remote-tracking branch 'origin/feature/autoreload-db' into develop 2016-11-25 12:04:44 -05:00
Jonathan White
7fb33653ad
Implemented major autoreload functionality
* Ignore autoreload on save / save-as
* Consolidated db save code
* Corrected bug (crash) in merge entry code due to not cloning the entry
* Enhanced known modified status of database
* Implemented test cases for autoreload
2016-11-25 12:03:36 -05:00
Jonathan White
3cccfd97d2
Set travis to only create snapcraft after gcc build 2016-11-25 10:12:45 -05:00