Commit Graph

203 Commits

Author SHA1 Message Date
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
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
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
Jonathan White
9d0537bdab
Update translations 2023-05-14 14:03:31 -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
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
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
chris
0e1b32adcd
Add .mm files to translation update (#8843) 2023-02-18 14:03:37 -08:00
Sami Vänttinen
90c63483c1
Fix crash in Group Edit after enabling Browser Integration (#8778)
Fixes https://github.com/keepassxreboot/keepassxc/issues/8775
2023-02-18 13:59:48 -08:00
Jonathan White
63b2394ed0
Update translations 2022-10-29 15:07:50 -04:00
Janek Bevendorff
d8483d3350
Update translations 2022-10-23 17:56:57 +02:00
Jonathan White
9d2f3d53d6
Update translations 2022-10-22 17:37:47 -04:00
louib
c6d4fd6d31 [CLI] Add a db-edit command (#8400) 2022-10-16 19:17:02 -04:00
Wolfram Rösler
14d0732e1d Add option to display passwords in color in preview panel
Closes #4099

* Fixed bug in Application that did not set the dark theme flag when the theme was changed from dark to light.
2022-10-16 19:17:02 -04:00
Patrick Klein
dc07f01418 Add XML Export option to GUI. (#8524)
* Add XML Export option to GUI.

* Update database export screenshot.
2022-10-16 19:17:02 -04:00
Jim Heden
4978184480 Add shortcut to copy password with TOTP appended 2022-09-22 06:49:07 -04:00
Jonathan White
ee55143c4a Enhance Tags / Saved Searches
* Rename "Database Tags" to "Searches and Tags"
* Separate searching for all entries and resetting the search
* Support selecting multiple tags to search against
* Fix using escaped quotes in search terms
* Make tag searching more precise
* Support `is:expired-#` to search for entries expiring within # days. Exclude recycled entries from expired search.
* Don't list tags from entries that are recycled
* Force hide tag auto-completion menu when tag editing widget is hidden. On rare occasions the focus out signal is not called when the tag view is hidden (entry edit is closed), this resolves that problem.
* Remove spaces from before and after tags to prevent seemingly duplicate tags from being created.
* Also fix some awkward signal/slot dances that were setup over time with the entry view and preview widget.

Allow changing tags for multiple entries through context menu

* Closes #8277 - show context menu with currently available tags in database and checks those that are set on one or more selected entries. When a tag is selected it is either set or unset on all entries depending on its checked state.

* Add ability to save searches and recall them from the "Searches and Tags" view
* Add ability to remove a tag from all entries from the "Searches and Tags" view
* Cleanup tag handling and widgets
2022-09-22 06:49:07 -04:00
louib
bad015115d [CLI] Add Option to show all attributes (Show command) (#8256)
* Adding --all option to Show
2022-09-22 06:49:07 -04:00
Jonathan White
e245701533 Better handling of "Lock on Minimize" setting
* Fix #1090 - delay locking databases after minimize to allow for clipboard use, Auto-Type use, and browser integration use.

* Fix #6757 - prevent setting both minimize on unlock and lock on minimize settings at the same time.
2022-09-22 06:49:07 -04:00
Jonathan White
0cbfbc08f3 Add setting for number of recent files
* Expose setting to limit the number of recent files. Default is still 5, can be set from 1 to 25.
* Also fix tab order on settings page
2022-09-22 06:49:07 -04:00
varjolintu
f0a7c636a4 Browser: Add a new group setting for omitting WWW subdomain when matching URLs 2022-09-22 06:49:07 -04:00
Jonathan White
d8d5ddcab6 Auto-Type: PICKCHARS can specify attribute and ignore BEEP
* Fix #7726 - Ignore BEEP Auto-Type token when it includes spaces and numbers as well
* Close #8103 - Allow specifying specific attribute to use with PICKCHARS. If none specified, it defaults to Password.
2022-09-22 06:49:07 -04:00
Jonathan White
8190b20efe Improve entry preview panel
* Fix #7811 - Notes height no longer truncated
* Fix #7949 - Improve copying attribute value to clipboard in entry preview
* Fix #7898 - Prevent copying url when copy password selected after clicking url in preview pane
* Fix #7982 - Double clicking hidden attributes in preview pane copies the value instead of ●●●●●●
2022-09-22 06:49:07 -04:00
J.M. Dana
7e8a672de4 Add password strength indicator to PasswordEditWidget
Fixes #7437 (entry edit view only)
Fixes #5220
2022-09-22 06:49:07 -04:00
Jonathan White
5916a8f8dd
Update translations 2022-04-05 23:12:34 -04:00
Jonathan White
656e6161a0 Add tags to history comparison 2022-04-03 13:28:39 -04:00
Jonathan White
48a3fd8e3c Fix detection of hardware keys in keepassxc-cli
* Split calls to finding hardware keys into sync and async methods. This has the side effect of simplifying the code.
* Check for keys before performing challenge/response if no keys have been found previously.
* Correct timeout of user interaction message to interact with the hardware key.
* Correct error in TestCli::testYubiKeyOption
2022-04-03 13:26:12 -04:00
Toni Spets
2b8d670f17 SSH Agent: Fix Windows agent selection, radio buttons 2022-04-02 08:47:00 -04:00
Bernhard Kirchen
aca197a96f
Add 12 hours expiration preset (#7738)
* Add hours precision to TimeDelta

* Add 12 hours expiration preset

Fixes #7369
2022-03-31 07:02:28 -04:00
Janek Bevendorff
11351613ed
Update translations 2022-03-21 23:54:17 +01:00
Aetf
7d3c3b09fb FdoSecrest: allow remember decision for future entries
Also added a reset decision button in session management tab

Fixes #7464

* Fix distorted button in settings page: the default margin in QToolBar is too large for our use case in a table row.
2022-03-21 08:42:17 -04:00
Janek Bevendorff
c5f40a55e7
Update translations 2022-03-21 00:41:48 +01:00
Janek Bevendorff
acfad54ae3
Update translations 2022-03-21 00:26:07 +01:00
Janek Bevendorff
60f7744ec6 Fix translations 2022-03-20 23:31:52 +01:00