Commit Graph

2240 Commits

Author SHA1 Message Date
Michael Lass
97a890e8a0 Open previously opened databases in correct order
Databases are re-opened by traversing LastOpenedDatabases from front to
back, i.e. the last element in the list will be the active tab. However,
the most-recently used database is currently stored at the beginning of
the list. This leads to the least-recently used database to be the
ative tab on next startup.

Previously, this has been fixed in 4c76c97 by opening the databases in
reversed order. This change was accidentally reverted in 165d664.
Instead, change the order of LastOpenedDatabases itself, so no reversal
on opening the databases is necessary.

Resolves #1572
2018-03-03 13:33:00 +01:00
Janek Bevendorff
a5dc1964a9 Resize details widget to minimum by default 2018-03-03 12:59:06 +01:00
Janek Bevendorff
ea5c6c1eb5 Process basic file, password and keyfile command line parameters
Resolves #1358, resolves #1533, resolves #1600
2018-03-03 10:18:16 +01:00
Janek Bevendorff
ee8499f65c Do not delete MacPasteboard instance on exit, resolves #1543 2018-03-03 02:33:43 +01:00
Janek Bevendorff
199f0932bf Add additional KDBX4 upgrade tests for composite key integrity 2018-03-01 19:26:18 -05:00
Janek Bevendorff
e6c19fdcb1 Add MockChallengeResponseKey and additional composite key component test 2018-03-01 19:26:18 -05:00
Janek Bevendorff
6f6a63f5e9 Re-transform key on implicit KDBX 4 upgrade to avoid losing challenge-response, resolves #1584 2018-03-01 17:59:01 +01:00
Janek Bevendorff
0d4aff55bc Don't upgrade to KDBX 4 when CustomData are present only in meta data section, resolves #1565 2018-03-01 17:59:01 +01:00
Thomas Klausner
fae8979463 Fix build on NetBSD. (#1557)
* Fix build on NetBSD.
2018-02-28 16:33:27 +01:00
varjolintu
3cde0d988e Kills keepassxc-proxy and KeePassXC during install or uninstall under Windows 2018-02-27 21:29:00 +01:00
Janek Bevendorff
59f17ab8f3 Fix missing Qt platform styles and CA bundles in Windows release deployment 2018-02-27 21:16:59 +01:00
Janek Bevendorff
4c8d426f23 Use copy instead of rename for unsafe saving on Linux
Resolves #1511
See https://bugreports.qt.io/browse/QTBUG-64008
2018-02-27 21:05:13 +01:00
Janek Bevendorff
6531f94f86 Try to change both the REALPATH and the symlink location 2018-02-27 20:11:03 +01:00
Janek Bevendorff
e1558d6300 Avoid double file extension replacement in backup filename 2018-02-27 15:53:31 +01:00
Jonathan White
c13c6ade29
Fix regression in Qt packaging on Windows 2018-02-27 00:22:13 -05:00
Janek Bevendorff
114f87c6b4 Bundle selected Qt plugins on Windows 2018-02-26 22:53:53 -05:00
Janek Bevendorff
f1cf697547 Strip newlines from title, username and URL when saving entries, resolves #1502 2018-02-26 17:27:17 +01:00
Janek Bevendorff
0668c2be94 Inform user that KeePassXC-Browser is not supported for Snaps at the moment 2018-02-26 01:57:02 +01:00
Janek Bevendorff
2e9f247e29 Enable proper KeePassXC-Browser interaction for AppImage 2018-02-26 01:57:02 +01:00
Janek Bevendorff
ad92b11f12 Use edlided label for details widget title and adjust layout spacing 2018-02-26 01:11:57 +01:00
Janek Bevendorff
a06a1f84e0 Don't hardcode install_name_tool change path, resolves #1518 2018-02-26 00:55:06 +01:00
Jonathan White
686adbe65a Set paperclip column to be fixed size; correct test failures 2018-02-25 19:38:00 +01:00
Jonathan White
77e345570d Correct test failures; moved gui calls into gui objects 2018-02-25 19:38:00 +01:00
Jonathan White
fd71b4a22e Convert from unicode to image based paperclip 2018-02-25 19:38:00 +01:00
Jonathan White
8c4df37062 Only show entry update message when hitting apply 2018-02-25 19:27:06 +01:00
Jonathan White
5e2e12977d Correct intermittent crash due to stale history items 2018-02-25 19:27:06 +01:00
Weslly
daaa3c5b41 Enable focus outline for global auto-type shortcut on macOS 2018-02-23 17:28:40 +01:00
Jonathan White
69283e83d8
Correct zxcvbn build on windows & snap build 2018-02-21 21:59:42 -05:00
Janek Bevendorff
f15088f496 Ask user before deleting custom plugin data and disable button if no data selected 2018-02-21 13:23:14 +01:00
Janek Bevendorff
5410d78bbb Properly save custom header data
Ensure adding custom data upgrades to KDBX4
Implement review feedback
2018-02-21 13:23:14 +01:00
Christian Kieschnick
0b54710734 Introduced missing CustomData on Group and Entry
Introduce missing CustomData-attributes of KDBX4 format to allow
storing of plugin data for groups and entries - adopt Metadata to use
the same storage mechanism
Add simple view for CustomData as part of EditWidgetProperties
Tracking of CustomData-Modification using SIGNAL-SLOT update-mechanism
2018-02-21 13:23:14 +01:00
Janek Bevendorff
698b44f71c Update zxcvbn library 2018-02-21 06:18:33 -05:00
Jonathan White
cd3e1fc27e Ask to apply generated password when commiting an entry edit
* Rename saveEntry to commitEntry to accurately capture its purpose
* Add message to user when commit is successful
* Made all inline messages in edit entry view 2 sec visibility
2018-02-21 09:38:27 +01:00
Jonathan White
397d804cdd Add tests & minor edits 2018-02-21 09:04:46 +01:00
Jonathan White
ca30d1832d Add support for foreground and background entry colors
* Add foreground/background color elements to advanced tab
* Center paperclip icon
2018-02-21 09:04:46 +01:00
Weslly
6a85556b33 Fix about dialog size policy 2018-02-19 09:40:26 +01:00
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
Marco
4fcedc2187
check autotype syntax, high repetion, reformat code
TODO: specify what should happen when autotypesyntax incorrect
2018-01-03 12:56:18 +01:00
Marco
45cb97ec85
🐛 #216 add warning on long autotypes, enable user and pw repetition
Auto Type now shows a warning when you try to  repeat something too often.
Also you can now repeat your password and username
2018-01-03 12:56:18 +01:00
thez3ro
a89f57a2df
Fix sshagent autouic 2018-01-03 01:02:44 +01:00
Jonathan White
0bea8a881d
Prevent shadowing of application settings on MacOS 2017-12-28 18:10:56 -05: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
Rafael Sadowski
8f4c2f5c58 Fix cmake build on OpenBSD 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
Janek Bevendorff
901bf62213 Generate random 128-byte stream instead of legacy XML format when creating key files
Add API documentation for FileKey class
Resolves #1325
2017-12-26 22:37:45 +01:00
Janek Bevendorff
f8b7ffcf8c Add WITH_XC_SSHAGENT flag to build config and use cmake3 package 2017-12-26 13:07:10 +01:00
Jonathan White
cc1ab94a4f Correct regression to ssh-agent from entry attachment refactor 2017-12-25 23:22:10 +01:00
frostasm
80636ab083 Use EntryAttachmentsWidget in details view 2017-12-25 14:36:43 +02:00
frostasm
c490c21cd5 Move attachments view to the separate widget EntryAttachmentsWidget 2017-12-25 14:36:43 +02:00
frostasm
ed0bda98a6 Fix failing entry model test for attachment name and size 2017-12-25 14:36:41 +02:00
frostasm
0c200d360b Add attachments tab to details view 2017-12-24 20:10:12 +02:00
frostasm
90a64dbde2 Add drag and drop support for attachments view in EditEntryWidget 2017-12-24 20:10:12 +02:00
frostasm
bf5b96362f Use a table view to display the list of attachments in EditEntryWidget 2017-12-24 20:10:12 +02:00
Janek Bevendorff
c579736158 Bundle qtbase translations on Windows 2017-12-23 17:47:46 +01:00
Janek Bevendorff
5b525eb9ca Refactor Translator class to load qtbase translations from local directory if available 2017-12-23 17:47:46 +01:00
Yen Chi Hsuan
fc39e8f27d Fix font size of URL label in the preview panel 2017-12-23 16:20:59 +08:00
Sebastian Marsching
470ddb4704
Merge branch 'develop' into issue-1148-msi-package 2017-12-22 12:14:59 +01:00
louib
8037a79673
Add \n in merge request message. (#1310) 2017-12-20 18:08:18 -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
Aleksa Sarai
8e231dfa95 cli: show: add --attributes flag (#1289)
In order for scripting to be much simpler with `keepassxc-cli show`,
provide a simple --attributesk API which effectively is just a CLI
interface for entry->attributes()->value(...). This allows for more
extensibility and prevents changes in our output formatting from
breaking existing users of keepassxc-cli (if they use --attributes).

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
2017-12-16 19:14:39 -05:00
Toni Spets
76e6d498cf SSH Agent: Split private key selection 2017-12-16 09:59:51 +02:00
Toni Spets
d2a59c556e Refactor fixed font selection into Font class 2017-12-16 09:59:51 +02:00
louib
8b1c8f69f7
Removing password output from Estimate. (#1281)
* Removing password output from Estimate.

* clang-format
2017-12-14 20:22:59 -05:00
Jonathan White
28ad6ed552 Merge branch 'master' into develop 2017-12-11 21:10:25 -05:00
Nicolas Garnier
74dac174db Enable translations for 'Extended ASCII' button 2017-12-08 10:52:40 +01:00
Matt Signorini
fef8f5c453 Tidied up code. 2017-12-06 17:10:25 +01:00
Matt Signorini
8f48ede957 Add keypress handler to the password generator widget so that esc quits
in standalone mode.
2017-12-06 17:10:25 +01:00
TheZ3ro
f2a464f626
Merge branch 'develop' into develop 2017-12-05 17:26:14 +01:00
louib
471e684151
Rename EntropyMeter -> Estimate (#1250)
* EntropyMeter -> Estimate
* Cleaning estimate
* Documentation
* clang-formatting /cli
2017-12-04 09:46:23 -05:00
Sebastian Marsching
1ce77e6f15 Remove WIX from default list of CPack generators.
This ensures that MSI packages are only built when explicitly requested
by using the "-G" parameter of cpack.
2017-12-03 17:49:15 +01: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
alterratz
468519cd46
Merge branch 'develop' into feature/autoopen 2017-11-28 17:29:05 +01: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
d35f3fc573 Treat warning as errors 2017-11-27 20:57:55 +01:00
Weslly
5fa76dfd66
Remove ShowToolbar from config 2017-11-26 22:59:48 -02:00
Weslly
525d5de30c
Remove empty context menu from toolbar 2017-11-26 22:23:15 -02:00
Janek Bevendorff
8651736e61
Merge branch 'release/2.2.3' into develop 2017-11-26 18:23:48 +01:00
Janek Bevendorff
8905fe5a54 Use Consolas on Windows for PasswordEdit instead of the default Courier New, resolves #1226 2017-11-26 17:53:15 +01:00
Jonathan White
e17b3d24bf Corrected database corruption when locked [#1113] 2017-11-23 21:32:56 +01:00
thez3ro
135e8419ae
refactor saveLastDir code 2017-11-22 22:20:38 +01:00
thez3ro
cd1e0571a5
forget keyfile path, fix #1151 2017-11-22 22:20:38 +01: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
Vladimir Svyatski
236846baa7 Add menu shortcut Alt+m (underlined letter) for "Empty recycle bin" for consistency with other items in the same submenu which all have "Alt+underlined letter" style shortcuts. 2017-11-21 02:12:55 +01:00
Balázs Meskó
a4d1293eaf I18n fixes in Service.cpp (#875)
Fix plural strings
2017-11-21 02:12:14 +01: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
afe48da4b1
Change MacPasteboard init object to QScopedPointer 2017-11-20 17:25:27 -02: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
Weslly
f0a34de3c0
Revert 5bc000c to fix startup delay 2017-11-20 15:36:30 -02:00
Weslly
3b8d49104c
Focus database unlock dialog on macOS, fix #1023 2017-11-20 04:26:53 -02:00
Toni Spets
4840c2c64f SSH agent support 2017-11-19 14:38:59 +02:00
Toni Spets
248ae9d4ba SymmetricCipher: Add keySize(), don't rely on state for sizes
This additionally makes keySize() and blockSize() work before
setting the key and IV. Required for SSH agent decryption.
2017-11-19 14:38:59 +02:00
Toni Spets
a81a5fa31b SymmetricCipher: Support CTR mode
Includes AES-256-CTR non-stream tests
2017-11-19 14:38:59 +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
frostasm
2987895370 Fix usage of LastAttachmentDir in entry attachments 2017-11-12 17:41:53 +02:00
Adolfo E. García
3427a1aff4 Fix #1156
- Fix multiple activations of updateTotp by different QTimer instance timeouts.
- Fix call to updateTotp with invalid, uninitialized state
- Fix tooltip description
2017-11-11 16:25:20 -06:00
thez3ro
c3c67f18b8
add test for DB creation 2017-11-02 20:07:41 +01:00
frostasm
afaa0a3493 Fix formatting brackets in DatabaseWidgetStateSync::setActive function 2017-11-02 20:47:54 +02:00
frostasm
8b00d0580b Synchronize the height of the preview panel for all open databases 2017-11-02 19:09:36 +02:00
frostasm
6bbd42bfd1 Allow to change the height of the preview panel (#1135) 2017-11-02 19:09:36 +02:00
Sebastian Marsching
3e9067fe8e Add build of MSI packages (#1148) 2017-10-30 15:41:20 +01:00
frostasm
ffe344ce90 Save the geometry of main window only if the window is visible 2017-10-29 11:19:43 +02:00
thez3ro
7e54bd4956
prevent crash with empty database 2017-10-28 21:30:24 +02:00
Jonathan White
4e7f2c6a4f
Fix apply button not saving new entries 2017-10-28 09:23:45 -04:00
frostasm
2027429d87 Add support for placeholders on the KeePassHTTP custom fields 2017-10-26 14:30:20 +03:00
thez3ro
9840470df8
hide note option 2017-10-26 13:13:31 +02:00
Joe Brown
ff01a7da1e
Hint is displayed when notes section is hidden.
The alignment is a bit off, however.  A better option may be simply
disabling the QPlainTextEdit widget and stashing the actual notes
in another buffer somewhere.
2017-10-26 13:12:32 +02:00
Joe Brown
fdceeb368e
Do not hide notes by default. 2017-10-26 13:12:32 +02:00
Joe Brown
0c2d71c2ce
Notes section no longer visible by default.
There is a simple checkbox that allows your notes to become visible
again.  This is always disabled by default, as the use case
referenced in issue #342 (and my own use case) has confidential data
in that field.

Passes all tests (YubiKey is N/A) on Ubuntu 16.04.2 with Qt 5.5.1.
2017-10-26 13:12:32 +02:00
Joe Brown
5bc000cc31
Use fixed-width font for Notes
Fixed width, and a smaller font size, make for easier readability
in the notes section.
2017-10-26 13:12:32 +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
8416d69f1e
fix protected transalation 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
9279bf7628
fix group layout, add autotype associations 2017-10-26 12:19:23 +02:00
thez3ro
d0f8d43739
remove root group from path, resize icons to 16x16 2017-10-26 12:19:23 +02:00
thez3ro
eb65822665
layout update 2017-10-26 12:19:23 +02:00
thez3ro
4a5fc2104f
fix notes label 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
Louis-Bertrand Varin
055ba4f14e Q_NULLPTR -> nullptr 2017-10-25 10:15:37 -04:00
Louis-Bertrand Varin
ecfbad0443 Disable reload prompt when db is locked 2017-10-24 20:26:02 -04:00
thez3ro
4076b37378
disable the save button if there isn't anything to save 2017-10-24 20:40:53 +02:00
thez3ro
ca59ae4f4f
remove useless View menu 2017-10-24 20:40:53 +02:00
Janek Bevendorff
be88e93820
Merge branch 'release/2.2.3' into develop 2017-10-24 18:00:38 +02:00
Janek Bevendorff
05d02b702a Restrict global menu fix to Qt < 5.9.0, resolves #691 2017-10-24 17:58:27 +02:00
Janek Bevendorff
f6933a8868 Ensure that YubiKey is only polled once, even if showEvent() is called twice 2017-10-24 17:58:27 +02:00
frostasm
b6387f7709 AutoType: resolve placeholders in window associations list 2017-10-23 22:55:22 +03:00
frostasm
7f2bd47849 AutoType: resolve placeholders for title in window associations 2017-10-23 22:55:22 +03:00
Janek Bevendorff
067da8223d
Fix build after merge 2017-10-21 22:38:24 +02:00
Janek Bevendorff
b510243dd8
Merge branch 'release/2.2.2' into develop 2017-10-21 22:23:27 +02:00
Peter Nirschl
a895729b9e 🐛 Fix result propagation in SymmetricCipherGcrypt::process
The boolean 'ok' has always been set to true, regardless of possible errors.
2017-10-21 20:00:28 +02:00
Adolfo E. García
7198f20d69 Improve building of macOS target 2017-10-21 10:12:28 -06:00
Janek Bevendorff
aba2acb062 Use QSharedPointer 2017-10-21 14:19:00 +02:00
Louis-Bertrand Varin
a1aad5d165 Using QScopedPointer 2017-10-21 14:19:00 +02:00
Louis-Bertrand Varin
0fe06b3fbb Fix double warning display for database open 2017-10-21 14:19:00 +02:00