445 Commits

Author SHA1 Message Date
Jonathan White
235015cb56
Bump version to 2.7.8 2024-05-05 16:33:56 -04:00
Jonathan White
c9d71e7781
Passkeys: Register to an existing entry 2024-05-05 16:07:00 -04:00
egglessness
8c91836038
Add configurable password strength check on database password (#9782)
* Set default value of DatabasePasswordMinimumQuality to 3 (do not accept a master password that is less than Good)

* Add custom message box button "Continue with weak password"
2024-04-29 17:26:06 -04:00
Jonathan White
d14821fb16
Bitwarden and 1PUX importer improvements
* Fixes #10400
  - Support TOTP entries with bare secrets instead of otpauth urls for Bitwarden. Vice-versa for 1PUX.
  - Support Bitwarden Argon2id encryption scheme

* Fixes #10380 - Support Bitwarden organization collections
2024-04-29 09:53:31 -04:00
Jonathan White
d7c054e9b2
Correct minor issues in translations 2024-04-29 09:51:52 -04:00
Jonathan White
3b8dc028c1
Improve database encryption settings UX
Fixes #6190

Remove the advanced settings checkbox and replace with a dedicated tab widget interface to toggle between basic and advanced encryption settings.
2024-04-28 23:41:45 -04:00
Jonathan White
bab48b42f7
Add auto-save delay per database (#9100)
Add a new propery autosaveDelay in Metadata of the db.
The property is saved in customData to not affect database structure as this setting is unique to keepasxc.
The propery sets delay to wait since last modification before saving.

Co-authored-by: jNullj <jNullj@users.noreply.github.com>
2024-04-28 23:41:45 -04:00
Jonathan White
775efc65ed
QMenubar option to show/hide itself (#10341)
--------

Co-authored-by: Mikko Saarinki <mikko.saarinki@michaelkingston.fi>
Co-authored-by: Jonathan White <support@dmapps.us>
2024-04-28 23:41:44 -04:00
Jonathan White
651bcfc904
Remove password repeat application setting
* This removes the application setting to require typing the password in again even though it is visible.
* Removed automatic password repeat when the password is made visible on changing.
2024-04-28 23:41:44 -04:00
Sami Vänttinen
a5c3bf6d9d
Passkeys: Add warning on export (#10411) 2024-04-27 23:20:23 -04:00
Jonathan White
3a86381df8
Correct date in appdata.xml 2024-03-12 00:28:40 -04:00
Jonathan White
68e2dd8d22
Update translations 2024-03-09 18:13:37 -05:00
Jonathan White
cde88546f3 Update Changelog 2024-03-09 15:21:46 -05:00
Jonathan White
18cfbf729c Add 1Password 1PUX and Bitwarden JSON Importers
* Closes #7545 - Support 1Password 1PUX import format based on https://support.1password.com/1pux-format/

* Closes #8367 - Support Bitwarden JSON import format (both unencrypted and encrypted) based on https://bitwarden.com/help/encrypted-export/

* Fixes #9577 - OPVault import when fields have the same name or type

* Introduce the import wizard to handle all import tasks (CSV, KDBX1, OPVault, 1PUX, JSON)

* Clean up CSV parser code to make it much more efficient and easier to read

* Combine all importer tests (except CSV) into one test file
2024-03-09 15:21:46 -05:00
Jonathan White
f20b531430 Automatically detect USB device changes 2024-03-09 15:21:46 -05:00
Jonathan White
b7a1c620e4 Passkeys improvements (#10318)
Refactors the Passkey implementation to include more checks and a structure that is more aligned with the official specification.
Notable changes:
- _BrowserService_ no longer does the checks by itself. A new class _BrowserPasskeysClient_ constructs the relevant objects, acting as a client. _BrowserService_ only acts as a bridge between the client and _BrowserPasskeys_ (authenticator) and calls the relevant popups for user interaction.
- A new helper class _PasskeyUtils_ includes the actual checks and parses the objects.
- _BrowserPasskeys_ is pretty much intact, but some functions have been moved to PasskeyUtils.
- Fixes Ed25519 encoding in _BrowserCBOR_.
- Adds new error messages.
- User confirmation for Passkey retrieval is also asked even if `discouraged` is used. This goes against the specification, but currently there's no other way to verify the user.
- `cross-platform` is also accepted for compatibility. This could be removed if there's a potential issue with it.
- Extension data is now handled correctly during Authentication.
- Allowed and excluded credentials are now handled correctly.
- `KPEX_PASSKEY_GENERATED_USER_ID` is renamed to `KPEX_PASSKEY_CREDENTIAL_ID`
- Adds a new option "Allow localhost with Passkeys" to Browser Integration -> Advanced tab. By default it's not allowed to access HTTP sites, but `http://localhost` can be allowed for debugging and testing purposes for local servers.
- Add tag `Passkey` to a Passkey entry, or an entry with an imported Passkey.

Fixes #10287.
2024-03-09 15:21:46 -05:00
wise0n
3094302bcc Fix menu location in alert 2024-02-04 11:50:52 -05:00
Sami Vänttinen
e6d2e5fe6e Fix terminating KeePassXC processes with MSI installer (#9822) 2024-02-04 11:50:52 -05:00
Jonathan White
394c0375b7 Update share/linux/org.keepassxc.KeePassXC.appdata.xml
Co-authored-by: Brian J. Murrell <brian@interlinx.bc.ca>
2024-01-30 18:26:45 -05:00
Jonathan White
4cf5e83c38 Bump version to 2.7.7 2024-01-30 18:26:45 -05:00
Jonathan White
4bd9fdd7a4 Passkeys: UI adjustments 2024-01-30 18:26:45 -05:00
Jonathan White
c477f43c40 Passkeys: Add support for importing Passkey to entry (#9987)
---------
Co-authored-by: Jonathan White <support@dmapps.us>
2024-01-30 18:26:45 -05:00
Jonathan White
416581b179 Add basic support for WebAuthn (Passkeys) (#8825)
---------

Co-authored-by: varjolintu <sami.vanttinen@protonmail.com>
Co-authored-by: droidmonkey <support@dmapps.us>
2024-01-30 18:26:45 -05:00
Janek Bevendorff
dd21defcf3
Update translations 2023-08-16 00:40:34 +02:00
Jonathan White
636d013557
Bump to version 2.7.6
* Remove obsolete command line flag on transifex tool
2023-08-14 23:07:28 -04:00
Jonathan White
3e6b118267
Improve colorful lock icon for system tray (#9632)
* Fix #9432
* Simplify tray icon selection code
* Update all icons with latest export
* Fix MIME type icon appearance on KDE
---------
Co-authored-by: Janek Bevendorff <janek@keepassxc.org>
2023-08-14 21:40:13 -04:00
Jonathan White
aecd154399
Fix several issues with Quick Unlock (#9697)
* Fix #7892 - Pressing escape when the quick unlock prompt is shown will now go back to the main unlock dialog view.
* Fix #9030 - Quick unlock will be automatically invoked in the unlock dialog upon being shown.
* Fix #9554 - Quick unlock application setting will be updated every time the settings widget is shown instead of just on first launch.

* Show warning that quick unlock is not enabled if user cancels Windows Hello prompt. This should limit people thinking there is a security issue. Also improve documentation describing this behavior.

* Disable quick unlock in gui tests
2023-08-14 07:04:42 -04:00
Jonathan White
ea77ee686d
Copy TOTP on preview panel on double click
* Closes #9545
2023-08-06 15:49:12 -04:00
Jonathan White
6fb498648d
Significantly improve visual when dragging entries to copy/move
* Fixes #6079
2023-08-06 15:49:04 -04:00
Jonathan White
663d4d99ae
Improve error message when browser proxy cannot be found (#9385)
Co-authored-by: Blessio <blessio.blog@blessio.com>
Co-authored-by: Jonathan White <support@dmapps.us>
2023-08-05 21:20:45 -04:00
Jonathan White
4c1105f968
Linux: Fix warning message about --allow-screencapture (#9638)
* Fixes #9420
2023-08-05 07:28:54 -04:00
Sami Vänttinen
f30604c6f6
Add warning for duplicate URLs with Additional URLs list (#9588) 2023-07-15 15:33:20 -04:00
Anthony Ryan
b8da5e0577
Losslessly optimize PNG images
Using Efficient-Compression-Tool we are able to save 586.53KB out of 4.33MB (13.2390%)
with no change in visual appearance.
2023-07-15 15:27:36 -04:00
Jonathan White
10891a403d
Fix issues with appdata.xml
* Fix #9435
2023-05-19 13:50:40 -04:00
Jonathan White
9d0537bdab
Update translations 2023-05-14 14:03:31 -04:00
Jonathan White
53f88b93fb
Add 2.7.5 CHANGELOG
* Sign  PowerShell Release Tool
2023-05-14 11:41:57 -04:00
Jonathan White
4b92838b4f
Remove registry detection of desktop shortcut setting (#9380)
* Fixes #8711
2023-05-07 23:19:48 -04:00
Jonathan White
ebc0b3ff5f
Add support for Botan3 (#8994)
Fix Botan 3 build (#9388)

* SymmetricCipher: Fix Botan 3 build

Botan commit 819cf8fe6278a19b8266f449228f02fc28a4f784 changed Botan::Cipher_Dir to be a scoped enumeration, so the users must be adapted.

This change causes no issues with Botan 2 because normal enumeration values can also be referred to the same way scoped enumeration values are accessed.

* Auto detect Botan3

* AsyncTask: Do not use `std::result_of`

`std::result_of` was deprecated in C++17 and then it was subsequently removed in C++20. One could use `std::invoke_result_t`, but let Qt figure out the return type instead.

* Collapse Botan2 and Botan3 find package into one

* Update COPYING
2023-05-07 23:19:18 -04:00
Janek Bevendorff
6b51c66c68
Update KeePassXC logo and icons 2023-05-01 07:22:34 -04:00
Jonathan White
6182b605c0
Fix various accessibility issues (#9138)
Enable buddy fields in group and entry edit pages
* Fixes #9060, you can now press Alt + [letter] to skip between fields on the group and entry edit pages.
* Move the expire checkbox to the right hand column and use the standard eye icon button for notes reveal. Only show notes reveal button if the hide notes setting is enabled.

Fix overflow of text in default auto-type sequence preview
* Fixes #9083

Add copy title shortcut (Ctrl + I)
* Closes #9109

Fix issues with menu actions being enabled incorrectly

Add accessibility description to password widget to explain how to hide/show passwords and open the generator
* Closes #9059

Add F6 shortcut to focus search
* Closes #9163
2023-04-16 07:16:19 -04:00
Jonathan White
8077cd028d
Fix branding images for Windows installer 2023-04-11 23:25:48 -04:00
Janek Bevendorff
761e1aed58
Update KeePassXC logo and icons 2023-04-03 23:22:00 -04:00
Jonathan White
86550f2253
Fix bugs with preview widget
* Add configuration to hide TOTP in preview widget (shown by default).

* Retain the visibility of TOTP and other fields when the same entry remains selected in the preview panel.

* Fix disconnecting signals when switch entries / groups. This likely is going to fix crashes because we were compounding signals when focusing in on the main window.
2023-04-03 23:21:24 -04:00
Jonathan White
90bbb66409
Add menu option to allow screenshots
* Fix #7580
* Also refactor the code to move everything into MainWindow
2023-02-25 14:20:48 -05:00
Jonathan White
f7920c12d5
Translate Cipher and KDF strings
* Fix #8952 - move translations for Cipher and KDF strings into evaluated code instead of globally defined code. The strings were being baked prior to the language being set resulting in only english being displayed.
2023-02-19 08:28:59 -08:00
Bernhard Kirchen
51a08fc85e
revise strings labeling history limit settings 2023-02-19 08:28:59 -08:00
Charlie Wang
655202a35a
Properly handle Windows Hello errors
The KeyCredentialManager::RequestCreateAsync call can fail because we can end up in a situation where Windows Hello is initially available but then becomes unavailable, such as during a remote desktop session. This commit prevents a crash by moving the call into the try-catch.

Fixes #7890

Also resets quick unlock if there is an unrecoverable error. This will not occur if the user merely canceled the Windows Hello dialog.
2023-02-19 08:28:59 -08:00
Dmytro Maslenko
9253a59f05
Move 'Copy URL' into main entry context menu 2023-02-18 14:05:07 -08:00
Pat Long
7bdcf05fc3
Fix support for AES-256/GCM openssh keys (#8968)
* Fix detecting AES-256/GCM cipher, fixes #8964 

When you generate a ssh key using the aes-256/gcm cipher, the cipher name in the keyfile includes an @openssh.com at the end.

* Use separate iv length for getting iv data, the assumption that the block size and iv size are equal does not hold for every cipher mode (e.g., GCM)

* Disable AES-256/GCM for now in ssh keys 

Currently, the granularity for the botan gcm implementation is too large. To fix a problem with another algorithm in the library, they are multiplying
the blocksize, so by default the granularity is 64. This causes issues since the encrypted data in the key is only guaranteed to have a length that is a multiple of the block size (16).
2023-02-18 14:04:47 -08:00
chandi Langecker
32d115d22e
Fix unexpected behavior of --lock when keepassxc is not running (#8889)
currently, when keepassxc is not running, the command `keepassxc --lock` opens a new keepass window and blocks until the window is closed.

Especially in locking scripts this is rather unexpected and  Ican't think of a case where someone explicitly starts keepass with --lock and wants this behaviour.

Rather --lock should always ensure, that there are no unlocked instances and exiting afterwards
2023-02-18 14:04:28 -08:00