Commit Graph

2054 Commits

Author SHA1 Message Date
Nick Spain
5c51d11651 Fix Issue #1447 by using entry's group when not creating entry 2018-02-18 16:17:12 +01:00
Janek Bevendorff
924d472de5 Add support for pre-releases 2018-02-18 10:20:34 +01:00
Janek Bevendorff
d36e9875c5 Enable word wrap for long lines
Make all text except contributor names translatable
2018-02-18 00:19:38 +01:00
Janek Bevendorff
4c52aa9c88 Check maxDepth on placeholder resolution to avoid infinite recursion 2018-02-17 18:04:29 +01:00
thez3ro
c5dd64d18a Resolve reference in entry field, prevent recorsive loop, fix EditEntry association bug 2018-02-17 18:04:29 +01:00
Janek Bevendorff
536db062f4 Fix Auto-Type message not raised when no matching entry was found 2018-02-17 15:19:36 +01:00
Toni Spets
d58e3ca34d SSH Agent: Support old AES-128-CBC encrypted keys 2018-02-11 15:31:06 +01:00
Toni Spets
d2359df2b0 SymmetricCipher: Add support for AES-128-CBC 2018-02-11 15:31:06 +01:00
Toni Spets
80d85965e9 SSH Agent: Fix translation arguments 2018-02-11 15:31:06 +01:00
Janek Bevendorff
ab3775d4c5 Fix regression introduced in 6723f42
Use of QString for static DefaultSeparator lead to crashes on Windows
2018-02-11 15:12:20 +01:00
thez3ro
1bfbb9242c
fix cli commands, translations and codestyle 2018-02-07 17:35:20 +01:00
thez3ro
6723f4215a
centralize every password generator default option. add extended ASCII to XC_HTTP generator 2018-02-07 17:35:20 +01:00
thez3ro
33b95836b9
update cli manpage 2018-02-07 17:35:20 +01:00
thez3ro
4782b20d61
renamed passgen to generate and use diceware default wordcount 2018-02-07 17:35:20 +01:00
thez3ro
e57a2e0fa9
add default charset when not specified
explicitly state the wordcount default value
2018-02-07 17:35:20 +01:00
thez3ro
e9612ee9e6
use default password lenght + minor fixes 2018-02-07 17:35:20 +01:00
thez3ro
27f8aa095a
add diceware and passgen to the cli interface 2018-02-07 17:35:20 +01:00
Jonathan White
490e92167d
Replace qhttp client with curl for favicon downloading (#1460)
Replace qhttp client with curl for favicon downloading
2018-02-07 07:10:56 -05:00
thez3ro
b33259b1f2
relock database after successful autotype 2018-02-05 20:12:24 +01:00
thez3ro
aa54c7b6b3
fix MatchView activation with Enter/Return on macOS 2018-02-04 23:32:51 +01:00
thez3ro
16fad1aba1
fix duplicate autotype sequences 2018-02-04 23:13:15 +01:00
thez3ro
b4cf98998e
convert inAutoType from boolean block to QMutex 2018-02-04 23:13:15 +01:00
thez3ro
a76c92ed9a
change inAutotype logic, preventing multiple autotype call 2018-02-04 23:13:15 +01:00
thez3ro
ba4ef52e9e
improve Window Associations UI/UX 2018-02-04 23:13:15 +01:00
thez3ro
12a4b9aaa3
reorder functions by logic 2018-02-04 23:13:15 +01:00
thez3ro
a9479fd662
refactor autotype sequences and entry-point functions 2018-02-04 23:13:15 +01:00
thez3ro
b5cabbeb43
add support for multiple autotype sequence, fix #559 2018-02-04 23:13:15 +01:00
thez3ro
065a85e05c
fix effective autotype sequence 2018-02-04 23:13:15 +01:00
Janek Bevendorff
a8471f1617 Re-add QStandardPaths include to fix compilation error on macOS,
resolves #1455
2018-02-04 22:56:31 +01:00
Matthew Thode
78e962e30a
Fix keepass-browser based popups on tiling WMs
If we set the window flags after showing/activating the window the
window will not pop up.

Fixes: https://github.com/keepassxreboot/keepassxc/issues/1452
2018-02-04 15:43:45 -06:00
Toni Spets
cbb70cdc7c SSH Agent: Support old unencrypted DSA and RSA keys 2018-02-04 15:59:08 +02:00
frostasm
b264614b9d Use ElidedLabel in DetailsWidget 2018-02-04 15:51:30 +02:00
frostasm
6007e0de71 Refactor DetailsWidget 2018-02-04 15:51:30 +02:00
Janek Bevendorff
7cc3d911ba
Fix plural handling in KDF settings 2018-02-04 13:56:49 +01:00
Janek Bevendorff
527868a6b3
Guarantee that configuration values are committed to disk on exit 2018-02-04 13:56:46 +01:00
Toni Spets
e987479d04 SSH Agent: Always use freshly selected key 2018-02-03 08:19:08 +02:00
Janek Bevendorff
17e3f1c21f Create history item when setting up a TOTP seed, resolves #1445 2018-02-01 19:16:17 +01:00
Janek Bevendorff
a326d72be9 Update list of contributors 2018-01-31 00:24:51 +01:00
Jonathan White
5b72407746 Deconflict snapshot warning with http deprecation warning 2018-01-30 21:21:23 +01:00
Jonathan White
3e2443a861 Add support for nightly builds to release tool 2018-01-30 21:21:23 +01:00
Jonathan White
6a4b275d40
Minor changes to address comments 2018-01-28 11:31:56 -05:00
Jonathan White
3db9a86a4c
After 3 failed saves, offer to disable safe saves
* User is prompted to disable safe saves after three failed attempts
* Completely retooled basic settings to group settings logically
* Added setting for "atomic saves"
2018-01-28 11:28:39 -05:00
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
07a2077c1e
Make 'Welcome to KeePassXC $VERSION' string properly translatable, resolves #1236 2018-01-28 16:44:36 +01:00
thez3ro
98a89e4f2c
add function for locking DBs from DBus, fix #687 2018-01-25 23:48:58 +01:00
Didier Fabert
e560650bf3
Add DBus support: control keepassxc on desktop events (load database when log in, close all databases when log out) 2018-01-25 23:48:58 +01:00
Janek Bevendorff
c18d6b5ae5
Fix KDBX4 reader/writer attachment mapping error
Write duplicate attachments to the binary inner header only once and
skip duplicate entries when reading a KDBX4 file.
This fixes a an attachment mapping problem when an attachment appears
more than once in a database (which occurs frequently when editing attachment
entries and history is turned on)
2018-01-25 01:16:40 +01:00
Janek Bevendorff
aabf5f09ab Unset explicit label alignment to let platform choose 2018-01-24 00:47:33 +01:00
Janek Bevendorff
75d2895db6 Add compression option to database settings 2018-01-24 00:20:44 +01: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
thez3ro
745d255808
add cyclic arrowkey navigation for entryview 2018-01-23 00:12:36 +01:00
thez3ro
e4088d5e6c
quit autotype dialog with esc key 2018-01-22 15:44:42 +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
3c98ce43c6 Fix file selection filter on *nix systems 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
Janek Bevendorff
0c0c558ff7 Fix Auto-Type locale source strings 2018-01-21 15:54:46 +01:00
Janek Bevendorff
7a4e74950c Add missing Q_DECLARE_TR_FUNCTIONS to Kdbx classes
Remove obsolete Kdbx3XmlWriter header
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
161d0ea50f Add column 'Paperclip' to entry view table
Add additional column 'Paperclip' to entry view table:
- add column itself
- add display role data provider
- add sort role data provider
- update total column count
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
Fonic
18be1a0254 Add 'copy-on-doubleclick' feature to entry view table
Add 'copy-on-doubleclick' feature to entry view table by extending
already existing DatabaseWidget::entryActivationSignalReceived().

Currently, username, password and notes are copyied on doubleclick,
while doubleclicking URL still opens browser as before.

Can easily be extended to account for other/additional columns
(switch-case).
2018-01-21 15:17:05 +01:00
Fonic
31d73626e5 Add header context menu to entry view table
Add header context menu to entry view table (accessible using right
click on header), providing:
- Actions to toggle 'Hide Usernames' / 'Hide Passwords'
- Actions to toggle column visibility
- Actions to resize columns
- Action to reset view to defaults
2018-01-21 15:17:05 +01:00
Fonic
34a7ba4477 Add additional columns to entry view table
Add additional columns 'Password', 'Notes', 'Expires', 'Created',
'Modified', 'Accessed' and 'Attachments' to entry view table:
- add columns themselves
- add display role data providers
- introduce/apply sort role
- add sort role data providers
- add settings to display usernames/passwords visible/hidden
- minor addition to EntryModel::columnCount() as advised by Qt
  documentation
2018-01-21 15:17:05 +01:00
Toni Spets
5231d07fdf Ignore SSH keys in Recycle Bin, fixes #1396 2018-01-20 17:59:46 +02:00
Janek Bevendorff
cfe8ca9836
Always initialize m_httpClient to nullptr to avoid accidental dereferencing, resolves #1410 2018-01-20 14:45:22 +01:00
varjolintu
8ac909b0eb
Multiple browser related fixes 2018-01-20 00:47:26 +01:00
Janek Bevendorff
a6fd52d1f9
Show KeePassHTTP deprecation notice three times and use MessageWidget 2018-01-19 20:44:15 +01:00
Janek Bevendorff
30f77b07bb
Improve KMessageWidget visuals 2018-01-19 20:40:56 +01:00
Janek Bevendorff
f520a0f272
Deprecate KeePassHTTP and introduce WITH_XC_NETWORKING CMake option 2018-01-19 20:40:54 +01:00
Janek Bevendorff
f2b3181735
Rework browser integration settings 2018-01-19 20:40:51 +01:00
Janek Bevendorff
a595239624
Refactor and extend file format tests 2018-01-18 01:51:37 +01:00
thez3ro
00ce60ef20
create new entry while searching 2018-01-18 01:16:46 +01:00
Jonathan White
ef8751a795
Correct missing attachments in KDBX 4 write 2018-01-16 23:51:22 -05:00
Janek Bevendorff
7665bc6c63 Properly active key association dialog and main window upon unlock request 2018-01-15 01:16:32 +01:00
Janek Bevendorff
48ac3790c2 Show "key already exists" warning only if key really exists 2018-01-15 01:16:32 +01:00
Janek Bevendorff
28a67f9957 Remove old chrome extension IDs and add new official extension ID 2018-01-15 01:16:32 +01:00
Janek Bevendorff
871332ecf0 Add warning when using legacy key file formats. 2018-01-14 18:26:28 -05:00
Janek Bevendorff
21a6c0fd89 Fix linker definition clashes between libargon2 and libsodium on Windows 2018-01-14 11:21:17 -05:00
Nick Fox
ed46f9ac7e Implement #1208: CSV Import Created and Modified Dates 2018-01-14 00:42:36 +01:00
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
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
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
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
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
varjolintu
acceb8efc9 High CPU fix for Linux 2018-01-11 08:52:17 +02: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
varjolintu
4316999254 Fix for building with MacPorts 2018-01-06 17:38:57 +02: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
Weslly
6a75fd84ab
Fix auto-type regression when using {delay=x} 2018-01-05 23:53:45 -02:00
Jonathan White
1a7b874c60 Consistency using filepath and minor code fixes 2018-01-04 19:09:36 -05:00
Jonathan White
36e5377e6a Corrected use of canonicalfile info in autoopen code 2018-01-04 19:09:36 -05:00
Jonathan White
a80d1bbd2b Addressed comments; further streamlined code 2018-01-04 19:09:36 -05:00
Jonathan White
c2d04499ab Remove lock file and cleanup file handling [#1002] 2018-01-04 19:09:36 -05:00
varjolintu
06518c5736 keepassxc-browser 2018-01-04 21:42:20 +01:00
frostasm
3720c5ef79 Add test for drag and drop database files into main window 2018-01-03 16:12:05 +02:00
frostasm
165d664524 Pass (using IPC) command line filenames to already running instance 2018-01-03 16:12:05 +02:00
frostasm
7b9b23b143 Implement drag&drop support in main form to open database files 2018-01-03 16:12:05 +02:00
thez3ro
6d046f251e
Remove minus since it's an invalid literal 2018-01-03 12:56:18 +01:00
thez3ro
e803076063
improve regex filtering 2018-01-03 12:56:18 +01:00
thez3ro
203960b4b5
rename to executeAutoType 2018-01-03 12:56:18 +01:00
thez3ro
3d5ff723e9
fix codestyle 2018-01-03 12:56:18 +01:00
thez3ro
a02a49a184
add test for syntax checking 2018-01-03 12:56:18 +01:00
Marco
8ca444aee0
add a method to perform the autotype sequence showing graphical dialogs
Dialogs are show when the syntax of the autotype statement is wrong or contains long delays or statements which are repeated very often
2018-01-03 12:56:18 +01:00
Marco
7ceac05395
add support for custom commands. all autotype tests are getting passed now 2018-01-03 12:56:18 +01:00
Marco
4893d99774
move autotype syntax warning and error dialogs from AutoType to DatabaseWidget in the gui folder and replaced it with a checkSyntax call.
this fixes part of why autotype test fails
2018-01-03 12:56:18 +01:00
Marco
393017cf3b
fix for loops now have diffrent variables. dont know why it worked before 2018-01-03 12:56:18 +01:00
Marco
6057c9f27d
fix comments 2018-01-03 12:56:18 +01:00
thez3ro
a4bdc9a71d
fix syntax error 2018-01-03 12:56:18 +01:00
Marco
fbfc2e4d07
create message boxes for saving editing autotypes statements, fix multiple messages problem on autotype execution
You now get an error when you try to save incorrect autotype statements and warnings if you have high delays or much repetiton in your statement.

Also you will now only get one warning if you want to perfom high delayed or often repeated statements.
2018-01-03 12:56:18 +01:00
Marco
7bb9ea201c
fix typo 2018-01-03 12:56:18 +01:00
Marco
70127bad4b
extract syntax checking methods as static methods to the Autotype class 2018-01-03 12:56:18 +01:00
Marco
2bf68b7970
fix regular expressions for delays and repetition 2018-01-03 12:56:18 +01:00
Marco
d524aea779
Extended autotype syntax to allow all things in keepass2 2018-01-03 12:56:18 +01:00