Commit Graph

3957 Commits

Author SHA1 Message Date
Janek Bevendorff
3b30855855 Fix code formatting 2021-01-12 18:27:00 -05:00
Patrick Lenk
fff15d2d4d Set proper year for 2.6.3 in changelog 2021-01-12 18:27:00 -05:00
Janek Bevendorff
86278311d2
Merge branch 'master' into develop 2021-01-12 18:24:59 +01:00
Janek Bevendorff
beae1869a3
Release 2.6.3
Added

- Support Argon2id KDF [#5778]
- Support XMLv2 key files [#5798]

Changed

- Improve CSV Import/Export, include time fields and TOTP [#5346]
- Support empty area dragging of the application window [#5860]
- Display default Auto-Type sequence in preview pane [#5654]
- Remove strict length limit on generated passwords [#5748]
- Hide key file path by default when unlocking database [#5779]
- Document browser extension use with Edge in managed mode [#5692]
- Windows: Prevent clipboard history and cloud sync [#5853]
- macOS: Update the application icon to Big Sur styling [#5851]

Fixed

- Re-select previously selected entry on database unlock [#5559]
- Properly save special character choice in password generator [#5610]
- Fix crash in browser integration with multiple similar entries [#5653]
- Remove offset on username field in classic theme [#5788]
- Ensure entry history is copied when drag/dropping entries and groups [#5817]
- Close modal dialogs when database is locked [#5820]
- Prevent crash when KeeShare modifies an entry that is currently being edited [#5827]
- Improve preview of entry attributes [#5834]
- Always activate/focus database open dialog preventing mistype [#5878]
- Reports: fix calculation of average password length [#5862]
- Linux: Delay startup on login to correct tray icon issues [#5724]
2021-01-12 17:49:19 +01:00
Janek Bevendorff
835d51c59f
Update translations 2021-01-12 17:49:13 +01:00
Jonathan White
38bf2ceb78 Version bump to 2.6.3 2021-01-12 17:47:01 +01:00
varjolintu
bbc71b3144 Show browser integration tab dynamically 2021-01-12 07:33:05 -05:00
Chih-Hsuan Yen
7078086b50 Fix autostart .desktop file
It had "Version=1.0true", which seems wrong
2021-01-11 11:26:54 -05:00
Janek Bevendorff
618c1166ce Backport macOS Big Sur icon 2021-01-07 22:02:43 -05:00
Janek Bevendorff
0a0b3a6b4f Implement empty-area drag.
Uses Qt 5.15's new QWindow::startSystemMove() to implement empty-area
drag, which allows the user to click and drag any empty area on the
menubar, toolbar, or tabbar to move the window around.
2021-01-07 22:02:43 -05:00
Janek Bevendorff
23ca46c918 Add support for version 2 XML key files.
As discussed in #4317, the next KeePass2 release will ship with
support for a new generation of XML key files which enable
hash integrity checks.

This patch adds support for reading and generating this new format.
By default, KeePass2 now uses the .keyx extension for generated
key files, which was added to KeePassXC's key generation file chooser
filter. We continue to generate hashed binary key files by default,
but the user can explicitly save the file with the new .keyx
extension to generate an XML v2 key file (currently undocumented).

When opening a database, the key file type is still determined
by content negotation, so the file extension has no impact here.

As an additional change, the legacy key file warnings have been
improved slightly to be less confusing and more helpful.
2021-01-07 22:02:43 -05:00
Janek Bevendorff
9a7b20cbfd Add dynamic theme switching on Windows 10 2021-01-07 15:22:48 +01:00
Janek Bevendorff
80c1b9be6a Improve macOS platform integration.
- Allow switching between themes without restart (except classic)
- Rework icon loading and recolouring logic to react to theme changes
- Automatically react to light/dark theme change
- Remove explicit selection of monochrome tray icon variant (selected
  automatically now)
- Update theme background colours for Big Sur
- Update application icon to match Big Sur HIG

The tray icon doesn't respond perfectly to theme changes yet on Big Sur,
since we need different icons for dark and light theme and cannot simply
let the OS recolour the icon for us (we do that, too, but only as an
additional fallback). At the moment, there is no signal to listen to
that would allow this.

This patch adds a few generic methods to OSUtils for detecting and
communicating theme changes, which are only stubs for Windows and Linux at
the moment and need to be implemented in future commits.

Fixes #4933
Fixes #5349
2021-01-07 15:22:48 +01:00
Janek Bevendorff
49d2b87889 Always activate DatabaseOpenDialog on Windows
Fixes #5390
2020-12-30 16:02:29 +01:00
Wolfram Rösler
66f5a8736a Statistics: Fix average password length
The average password length shown in the Statistics report
is now computed based on the total number of passwords.
Previously, it was erroneously computed based on the
number of unique passwords.

Fixes #5134.
2020-12-25 15:32:50 -05:00
Janek Bevendorff
37dab85df7 Implement empty-area drag.
Uses Qt 5.15's new QWindow::startSystemMove() to implement empty-area
drag, which allows the user to click and drag any empty area on the
menubar, toolbar, or tabbar to move the window around.
2020-12-25 13:42:12 -05:00
Jonathan White
14b01784ec Patron Names and Debug Info
* Fix patron name and add new VIP
* Add dash in front of libgcrypt in debug info
2020-12-21 09:38:58 -05:00
Jonathan White
a74e2391e8 Copy history when drag/drop entries and groups
* Fix #5809
2020-12-20 22:57:42 -05:00
Jonathan White
4b5248ee98 Prevent clipboard history and cloud sync on Windows
* Fix #2358
2020-12-20 21:59:32 -05:00
Jonathan White
60c2d89cb0 Prevent crash when KeeShare merges an entry that is in edit mode
* Hack for #5722 until a refactor of KeeShare, Merger, and EditEntryWidget can be performed. This hack should only ever be triggered on the rare occurrence of two people editing the same entry at the same time.  The end result is potential data loss, but the current result is a hard crash. Unfortunately the way everything is interfaced currently doesn't afford any solution without a major refactor.

* Additionally add a short delay before actually reloading a share to prevent read/write locks from preventing proper import. This delay also prevents conflicting saves between the main database and the KeeShare database. This should eventually be moved into the FileObserver itself to smooth out all merge operations once the above refactor occurs.

Side note: KeeShare operates independently of DatabaseWidget causing unexpected behavior when files are updated/merged/etc. This needs to be corrected in a refactor.
2020-12-20 13:05:08 -05:00
Jonathan White
f9b2cf8484 Remove offset on username field in classic theme
* Fix #5601

Fix padding offset in editable QComboBox

Accepted
2020-12-20 13:03:19 -05:00
Bernhard
260c84ccf0
Fix reSelect entry & group on loadDb 2020-12-20 09:12:59 -05:00
Michel D'HOOGE
e8dfa9cfa1 Fix display issues of entry attributes in preview pane
* Fix #5755 - HTML escape attributes prior to preview
* Place attribute preview into a table and convert line breaks
2020-12-19 13:00:43 -05:00
Janek Bevendorff
cd0084f21c Add support for version 2 XML key files.
As discussed in #4317, the next KeePass2 release will ship with
support for a new generation of XML key files which enable
hash integrity checks.

This patch adds support for reading and generating this new format.
By default, KeePass2 now uses the .keyx extension for generated
key files, which was added to KeePassXC's key generation file chooser
filter. We continue to generate hashed binary key files by default,
but the user can explicitly save the file with the new .keyx
extension to generate an XML v2 key file (currently undocumented).

When opening a database, the key file type is still determined
by content negotation, so the file extension has no impact here.

As an additional change, the legacy key file warnings have been
improved slightly to be less confusing and more helpful.
2020-12-19 09:42:21 -05:00
Jonathan White
404fd941e8
Move global shortcut handling into OSUtils (#5566)
Move global shortcut handling into OSUtils
2020-12-13 23:23:25 -05:00
krsnik93
2ee4168956 Display default autotype sequence on entry preview pane
* Fix #5450
2020-12-13 11:33:03 -05:00
Jonathan White
f0204dbb10 Fix closing modal dialogs on database lock
* Fixes #5719, Fixes #5744
2020-12-12 12:31:43 -05:00
Bernhard Berg
a6f01349e8
Redo 'delete entries no confirm' functionality & unit-tests (#5812)
* Fixes #5232
2020-12-12 12:14:18 -05:00
Janek Bevendorff
c9d1512748
Revert "Add "move to recycle bin without confirmation" setting"
This reverts commit de44764efa.
2020-12-11 13:11:42 +01:00
Bernhard Berg
de44764efa Add "move to recycle bin without confirmation" setting 2020-12-11 00:15:24 -05:00
Bernhard
c9e7ffadad Fix reSelect entry & group on loadDb 2020-12-11 00:11:18 -05:00
Carlo Teubner
5ea46d4c12 CODE-OF-CONDUCT.md: fix typo 2020-12-10 12:47:41 +01:00
Jonathan White
3b29f20d60 Hide actions when features are disabled
* Fix #5794 - Don't show "Download All Favicons" in group menu
* Don't show offline documentation links if built documentation is disabled
2020-12-10 00:02:09 -05:00
tWido
59bd238ae1 Hide keyfile path by default
Fixes #5576
2020-12-09 18:28:01 -05:00
Jonathan White
a273deae12 Add delay to login startup on Linux
* Fix #5691 - add a 2 second delay to startup on Gnome to allow for tray initialization and Auto-Type shortcut registration. On KDE, start after the panel is started.
2020-12-07 22:23:43 -05:00
Jonathan White
2fe9ea3f41 Document support for managed Microsoft Edge
Add documentation for system administrators to setup support for KeePassXC extension in a managed Microsoft Edge.
2020-12-06 11:16:49 -05:00
Jonathan White
30989e35bf Use strict check for std::sort to prevent recursion
* Fixes #5596
2020-12-06 11:16:49 -05:00
Jonathan White
7ac651763c Improve CSV export and import capability
* Fixes #3541
* CSV export now includes TOTP settings, Entry Icon (database icon number only), Modified Time, and Created Time.
* CSV import properly understands time in ISO 8601 format and Unix Timestamp.
* CSV import will set the TOTP settings and entry icon based on the chosen column.
2020-12-06 11:16:49 -05:00
Janek Bevendorff
748a6b5ce1 Add code of conduct 2020-12-06 14:01:08 +01:00
Janek Bevendorff
3f7e79cdf3 Add Argon2id KDF (backport of #5726) 2020-12-04 15:11:28 +01:00
Aetf
30c2e39e70 Fix QTimer cannot be stopped from another thread warning 2020-12-03 22:20:25 -05:00
Jonathan White
9cb36abe91 Properly save Password Generator settings
* Fix #5605
2020-12-03 20:04:28 -05:00
Bodo Graumann
1dd99559bb Remove length limit on password
Software should make the user free, not restrict him.
2020-12-03 19:58:06 -05:00
Janek Bevendorff
9a96124040 Add Argon2id KDF 2020-12-03 20:06:58 +01:00
Janek Bevendorff
c6bd22aa12 Attach console in debug mode on Windows 2020-11-21 09:41:55 +01:00
Aetf
3d10f31211
Merge pull request #5660 from Aetf/fix/fdosecrets-5279
Secret Service: cleanup and fix crash
2020-11-15 22:34:14 -05:00
Aetf
9f4118974d FdoSecrets: fix signal connections 2020-11-13 17:20:45 -05:00
Aetf
7f85eb77aa FdoSecrets: code formatting 2020-11-13 17:16:22 -05:00
Aetf
a651d7049d FdoSecrets: handle corner cases in collection dbus names, fix #5279
- Use completeBaseName rather than baseName to ensure nonempty name
- Handle two databases have the same name
- Cleanup Service::onDatabaseTabOpened logic
2020-11-13 17:16:22 -05:00
Aetf
804a3b6706 FdoSecrets: simplify collection internal states
This gets rid of the m_registered state, so whenever there is a valid m_backend, it is guaranteed to be registered already.

While at it, this commit also improves DBusObject::registerWithPath a little bit by allowing properly registering multiple paths using the same adaptor, mostly for supporting Collection aliases.

Now when DBus registration fails, the code does not go into an inconsistent state or crash.
2020-11-13 17:16:22 -05:00