Commit Graph

671 Commits

Author SHA1 Message Date
Jonathan White
d7f408e455
Correct saving files to DropBox/Drive/OneDrive
* Replaces QSaveFile with QTemporaryFile
* Added backup before save config setting
* This method may cause data loss (see comments)
2018-01-28 11:28:33 -05:00
Janek Bevendorff
8dd6cdeb69
Fix history truncation based on max size and extend unit tests 2018-01-23 02:31:29 +01:00
Christian Kieschnick
258438f01f
Fix code-style issues
Fixed issues pointed out during review
2018-01-23 00:57:04 +01:00
Christian Kieschnick
943dc6cdd6
Add tests for modified, fix history for autotype
Added tests to ensure #1387 works
Fixed issue detected during testing - AutoTypeAssociations were not
pushed to history
2018-01-23 00:57:01 +01:00
Christian Kieschnick
045f157a63
Add extend entry-size calculation (resolved #1387)
Extended the calculation for the size of history items to match KeePass2
Small refactoring regarding readability in EntryAttachements
2018-01-23 00:56:58 +01:00
Janek Bevendorff
0f5307437c
Fix multiple TOTP issues, resolves #1360
- Fix crash when deleting TOTP entry
- Fix memory leak when selecting TOTP entries
- Fix TOTP update timeout on DetailsWidget
- Fix TOTP settings attributes not being applied before first call to totpSeed()
2018-01-23 00:22:04 +01:00
Janek Bevendorff
bbc5ff5103 Use actual full en_US translation for English and drop en_plurals file 2018-01-21 15:54:46 +01:00
Janek Bevendorff
8da3efa2c2 Add disambiguation info to source strings 2018-01-21 15:54:46 +01:00
Janek Bevendorff
3605bec8e0 Change 'unget' error message to untranslatable qWarning 2018-01-21 15:54:46 +01:00
Fonic
8c78aca69e Code cleanup
Comprehensive code cleanup:
- formatting
- comments
- obsolete code
2018-01-21 15:17:05 +01:00
Fonic
e3a5a22b84 Update state syncer to account for new features
Update state syncer (class DatabaseWidgetStateSync) to account for new
features:
- properly sync view state when switching tabs
- properly read/write view state from/to config

Update classes EntryModel and EntryView to consistenly name list/search
modes. Before, both classes defined list mode as 'group mode' and search
mode as 'entry list mode', which differed from naming in other classes
such as DatabaseWidget.
2018-01-21 15:17:05 +01: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
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
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
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
2866bc626a
Removed dead code 2018-01-13 14:23:29 -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
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
varjolintu
06518c5736 keepassxc-browser 2018-01-04 21:42:20 +01:00
Janek Bevendorff
71f38f17cd Restrict Q_OS_UNIX ifdefs to non-Mac platforms 2017-12-27 20:35:05 +01:00
Rafael Sadowski
e29d3497eb s/Q_OS_LINUX/Q_OS_UNIX/g
Enable support for UNIX like OS.
2017-12-27 20:35:05 +01:00
Janek Bevendorff
23f8d58859 Add default value for DarkTrayIcon option and fix style issues 2017-12-27 16:46:56 +01:00
Vlad N
4fa00b74ad Moved dark icon logic into FilePath. 2017-12-27 16:44:26 +01:00
Vlad N
55271311c4 Added dark tray icon parameter to settings. 2017-12-27 16:44:25 +01:00
frostasm
0c200d360b Add attachments tab to details view 2017-12-24 20:10:12 +02:00
Janek Bevendorff
5b525eb9ca Refactor Translator class to load qtbase translations from local directory if available 2017-12-23 17:47:46 +01: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
Mike Woudenberg
938cf8fce2 Adds listener for Gnome specific screensaver activation 2017-12-03 13:17:43 +01:00
frostasm
c4bbb76da4 Remove "Can't resolve placeholder" warning (#1137) 2017-11-30 20:07:16 +02:00
frostasm
d99dee9c40 Small refactoring related to references placeholders 2017-11-30 20:07:16 +02:00
Martin Unzner
b44092ac43 Add capability to resolve UUID 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
frostasm
8c7ef64fab Show "Can't resolve placeholder" warning only in debug mode 2017-11-30 20:07:16 +02:00
Weslly
5fa76dfd66
Remove ShowToolbar from config 2017-11-26 22:59:48 -02:00
Louis-Bertrand Varin
2cd5006260 Formatting 2017-11-21 14:06:40 -05:00
Louis-Bertrand Varin
94ea323836 Extracting default clone flags. 2017-11-21 14:06:40 -05:00
Louis-Bertrand Varin
2ff56fe86c Only updating custom group icon if set. 2017-11-21 14:06:40 -05:00
Louis-Bertrand Varin
9603c91877 Merge : Synchronising groups. 2017-11-21 14:06:40 -05:00
Weslly
19ac36b965
Change QTotp class name to Totp 2017-11-20 22:25:09 -02:00
Joel Smith
8ca52ba8f9 Add initial Steam TOTP support
* Add the concept of custom TOTP encoders, each with potential for custom
  code alphabet, length, step interval and code direction (i.e. reversed)
* Select custom encoder via overload of the digits field of a loaded entry
* Allow selection of custom encoders via the "TOTP Settings" field's
  size, as currently done by KeeTrayTOTP for Steam. Use "S" for the
  short name of the Steam custom encoder
* Allow selection of custom encoders via the "otp" field by appending
  a "&encoder=<name>" field to the URL query. For example,
  "&encoder=steam"
* Update TOTP set-up dialog to permit selection between (default,
  steam, custom) settings.
2017-11-20 17:08:01 -07:00
Weslly
806248ebd4
Review fixes 2017-11-20 16:50:56 -02:00
Weslly
dc7322cc4a
Improve macOS pasteboard handling 2017-11-20 16:09:42 -02:00
Adolfo E. García
cc6be754f7 Remove deprecated Optional.h 2017-11-12 12:09:35 -06:00
Adolfo E. García
c9895dd5c7 Improve Base32.cpp 2017-11-12 12:09:35 -06:00
frostasm
f34b090b42 Add support for working with multiple entry attachments at once 2017-11-12 17:41:53 +02:00
Jonathan White
f3d85ae219
Cleaned up url display code 2017-10-26 12:19:23 +02:00
Jonathan White
b9fd609bb2
Resolve placeholders in entry details url 2017-10-26 12:19:23 +02:00
thez3ro
71ae2a3458
remember last selected tab, hide passwords by default 2017-10-26 12:19:23 +02:00
thez3ro
eb65822665
layout update 2017-10-26 12:19:23 +02:00
thez3ro
0e6fedc056
fix group parent, add details update by keyboard 2017-10-26 12:19:23 +02:00
thez3ro
1a87e30b95
add preview panel for entries and groups 2017-10-26 12:19:23 +02:00
Francois Ferrand
263bee3c09 Detect session lock on Xfce/XUbuntu 16.04
The current code does not work with XUbuntu 16.04, which uses
light-locker to lock the screen.

I am not using a screensaver, but I suspect the screensaver activation
may have been detected by the existing events, and using it could thus
mask the issue.
2017-10-25 17:09:00 +02:00
Janek Bevendorff
b510243dd8
Merge branch 'release/2.2.2' into develop 2017-10-21 22:23:27 +02:00
Adolfo E. García
86cd2c09a4 Improve readability of code 2017-10-21 13:15:02 +02:00
Adolfo E. García
f1d99dd0ed Improve testing of Base32 2017-10-21 13:15:02 +02:00
Adolfo E. García
c731f8e5c0 Fix bug in Base32::decode and add bounds check
The bug that was fixed, was affecting how the number of bytes of decoded data was  calculated and thus, even though it didn't truncate the result, it was causing the array to be resized unnecessarily.
2017-10-21 13:15:02 +02:00
Adolfo E. García
24f560aaa2 Replace Optional with QVariant 2017-10-21 13:15:02 +02:00
Adolfo E. García
d21ae0f94a Fix for loop's variable increment style 2017-10-21 13:15:02 +02:00
Adolfo E. García
95b0ad15ef Fix code style 2017-10-21 13:15:02 +02:00
Adolfo E. García
19eb6a8a60 Add new Base32 implementation 2017-10-21 13:15:02 +02:00
Janek Bevendorff
190d3a1da9 Merge pull request #1078 from frostasm/implement-recursive-resolving-for-placeholders
Implement recursive resolving for placeholders
2017-10-19 21:50:57 +02:00
Janek Bevendorff
8592f7e672 Merge branch 'release/2.2.2' into develop 2017-10-19 21:45:49 +02:00
frostasm
f0fcc19915 Implement recursive resolving for placeholders 2017-10-19 22:40:26 +03:00
frostasm
e81d8beb19 Refactor Entry::resolvePlaceholder function 2017-10-19 22:40:26 +03:00
frostasm
5e0df62d7a Add processing of the url placeholders 2017-10-19 22:40:26 +03:00
Janek Bevendorff
ec8c99c3b2 Fix remaining uses of KEEPASSXC_SNAP_BUILD 2017-10-19 15:52:46 +02:00
rockihack
c6f83b9ca6 Fix: Regenerate transform seed and transform master key on save. 2017-10-18 23:04:37 -04:00
Janek Bevendorff
ab21f718ba Merge branch 'release/2.2.2' into develop 2017-10-12 14:10:20 +02: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
Jonathan White
4277364e91 Fixed cast warning 2017-10-07 07:36:25 -04:00
Jonathan White
5098866413 Rewrote resolveUrl function to conform to various test cases 2017-10-03 18:40:32 -04:00
Jonathan White
91d746c5c0 Corrected issues with desktop and tray icons in snap build 2017-10-03 15:43:52 -04:00
Jonathan White
14e3d9d576
Merge remote-tracking branch 'origin/master' into develop
# Conflicts:
#	src/core/Group.cpp
2017-10-01 11:10:10 -04:00
Jonathan White
59786d7bd7 Mask passwords in URL column in Entry View 2017-09-29 16:14:41 -04:00
Jonathan White
cb0b948603 Multiple fixes to custom icon downloading
* Fixes #904, icons are saved at or below 128x128
* Fixes #403, crash occurs due to dialog on non-gui thread
* Fixes #232, icon hashes calculated and compared against
2017-09-29 09:01:55 -04:00
Jonathan White
649a14db84 Set "Don't Modify for Non-Data Changes" to true by default 2017-09-28 12:07:21 -04:00
Josef Vitu
be312bbe4f Prevent unnecessary memory allocations 2017-09-24 18:01:01 -04:00
Adolfo E. García
522e132200 New base32 implementation (#984)
* Add new base32 encode/decode implementation
* Remove old base32 implementation
* Updates licensing info
2017-09-24 18:00:12 -04:00
Jonathan White
4b6dbcaec4 Maintain entry history when merging databases (#970) 2017-09-23 12:27:05 -04:00
Louis-Bertrand Varin
faf36190bd Fixes #940 : segfault when searching after merging 2017-09-15 22:34:22 +02:00
louib
6e1fd0694f CLI : basic entry manipulation commands. (#919)
* CLI : basic entry manipulation commands.

* Code review.
2017-09-06 09:14:41 -04:00
louib
1220b7d501 Feature : Update entries across groups when merging (#807)
* Feature : Update entries across groups when merging

* Styling
2017-09-05 10:28:47 -04:00
luzpaz
09d6d3c545 misc. typo fixes
non-user-facing trivial source comment fixes
2017-08-18 16:18:55 -04:00
louib
b2107b5e27 Adding Locate command. (#829)
* Adding Locate command.

* Adding group searching in locate
2017-08-05 12:20:26 -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
Janek Bevendorff
90468e8095
Merge branch 'release/2.2.1' into develop 2017-07-20 14:15:14 +02:00
thez3ro
cdad46377b Fix Single Istance behavior 2017-07-19 00:23:58 +02:00
thez3ro
691e60d72b check if url is valid 2017-07-18 18:40:18 +02:00
thez3ro
9ceadac299 fix google favicon download over https 2017-07-18 18:40:18 +02:00
thez3ro
bb50db40d2 resolve URL only with HTTP enabled 2017-07-18 18:40:18 +02:00
thez3ro
35c6df2535 resolve URL for correct favicon downloading, fixes #240 #238 2017-07-18 18:40:18 +02:00
louib
3b23e68540 Refactoring : Introducing Command class for CLI commands (#778) 2017-07-17 15:16:53 -04:00
Janek Bevendorff
6e44eed9fe
Merge branch 'release/2.2.1' into develop 2017-07-01 10:09:06 +02:00
Toni Spets
1158294323 Add UI to configure default auto-type delay 2017-06-29 21:00:54 +02:00
Toni Spets
ceeeee3d76 Split auto-type title and URL matching into separate options 2017-06-29 06:03:57 +03:00
Janek Bevendorff
8a36322e28
Merge branch 'release/2.2.1' into develop 2017-06-29 03:23:14 +02:00
Janek Bevendorff
e555937214
Make favicon Google fallback optional and off by default 2017-06-29 00:32:47 +02:00
Gianfranco Costamagna
640b09c6b2 Add code to detect a system library for zxcvbn, with fallback to the embedded one in case it is not found 2017-06-28 15:13:57 +02:00
Jonathan White
9a7e6850d6
Merge remote-tracking branch 'origin/develop' into release/2.2.0 2017-06-23 14:21:30 -04:00
louib
48ea024d7e Adding support for listing a group. (#652)
* Adding support for listing a group.

* added findGroupByPath

* Removing useless asserts.

* Code review.
2017-06-21 17:34:49 -04:00
Jonathan White
6dfeea1980
Merge remote-tracking branch 'origin/develop' into release/2.2.0 2017-06-21 17:20:57 -04:00
Weslly
400073c7cc Disable stdin echo when entering passwords on cli 2017-06-21 11:15:59 -03:00
Weslly
719323e9c3 Add option to limit search to current group 2017-06-21 01:01:50 -03:00
Jonathan White
8d70167acf Add support for portable config settings (#645)
* Add support for portable config settings

* Use applicationDirPath instead of currentPath
2017-06-19 10:49:02 -04: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
Jonathan White
bfee734669
Fixed variable naming error that prevented compiling on Windows 2017-05-27 21:33:30 -04: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
Louis-Bertrand Varin
eeafe77614 Find entry by title. 2017-05-21 13:51:16 -04:00
louib
54ad927044 Moving print group in Group class. (#586) 2017-05-21 13:05:44 -04:00
louib
a2e82dc883 Feature : clip command (#578) 2017-05-19 14:04:11 -04:00
thez3ro
b69b50c6c6
fix codestyle and use C++11 keywords 2017-05-17 13:04:02 +02:00
Louis-Bertrand Varin
970525cfd4
Styling + CFNotificationName -> CFStringRef 2017-05-17 13:04:02 +02:00
thez3ro
533136fb0e
Add file header, use nullptr instead of NULL, fix code style 2017-05-17 13:04:02 +02:00
Jonathan White
147c000ef1
Corrected nullptr crash on Windows when going to sleep 2017-05-17 13:04:02 +02:00
thez3ro
1b7b2ff456
Added freedesktop DBus, fixed codestyle 2017-05-17 13:04:02 +02:00
Claudio Bantaloukas
289e98ed5b
remove commented code 2017-05-17 13:04:02 +02:00
Claudio Bantaloukas
44085df592
Avoid warning in MacOS implementation 2017-05-17 13:04:02 +02:00
Claudio Bantaloukas
a3af8fc0ea
Fix Linux ScreenLockListener implementation 2017-05-17 13:04:02 +02:00
Claudio Bantaloukas
2de5a9d281
Lock database when OS is locked (Windows, DBus, macOS implementations) #134 2017-05-17 13:04:02 +02:00
Yen Chi Hsuan
c53f5baceb Merge branch 'develop' into feature/allow-disable-app-bundle 2017-05-14 22:58:17 +08:00
Yen Chi Hsuan
3822625e77 Allow disabling .app bundles on Mac 2017-05-14 22:51:12 +08:00
Jan Hellwig
c06e55df81
Use a dedicated tray icon when the database is unlocked. 2017-05-11 12:27:40 +02:00
Weslly
4c9b8c7794 Review fixes 2017-05-03 21:04:12 -03:00
Weslly
bf57a28654 Add TOTP support 2017-05-03 20:55:14 -03:00
thez3ro
40b4dc3b61
Only printable extended ASCII 2017-05-01 01:18:42 +02:00
thez3ro
b474d34cf0
Add Extended ASCII to password generator 2017-04-28 21:36:43 +02:00
Louis-Bertrand Varin
fa7c945363
Adding EASCII character class. 2017-04-28 19:01:02 +02:00
Vladimir Svyatski
75c16d1cbb Add requested source code changes 2017-04-21 18:07:57 +03:00
Jonathan White
1f469a7acc Merge pull request #464 from louib/feature/ignoreGroupExpansion
Ignore group expansion and other minor changes when marking database as dirty
2017-04-20 21:09:56 -04:00
Louis-Bertrand Varin
bce747e7f9 Ignore group expansion. 2017-04-04 10:21:45 -04:00
thez3ro
0c755846fe
fix camel case 2017-03-22 00:04:36 +01:00
thez3ro
8937647d5f
let every string as separator 2017-03-22 00:00:23 +01:00
thez3ro
1d32695f10
permit only wordcount > 0 2017-03-22 00:00:23 +01:00
thez3ro
044feea23a
remove short wordlists 2017-03-22 00:00:23 +01:00
thez3ro
98e2c311c3
fix wordCount instead of length 2017-03-22 00:00:23 +01:00
thez3ro
d9ccde94c9
New Diceware passphrase generator, close #21 2017-03-22 00:00:23 +01:00
Louis-Bertrand Varin
55a32c58a9 Moving access error to MainWindow. 2017-03-18 13:19:57 -04:00
Louis-Bertrand Varin
15a288aa5b Adding warning messages when config access error. 2017-03-18 13:19:57 -04:00