Commit graph

73 commits

Author SHA1 Message Date
varjolintu
ea2e36c676 Add support for group selection when creating a passkey 2024-10-01 08:13:01 -04:00
varjolintu
2f0160438a Allow deleting extension plugin data from Browser Statistics 2024-09-02 12:53:34 -04:00
varjolintu
41d00135af Passkeys: Fix duplicate database selection 2024-04-21 07:19:16 -04:00
Jonathan White
194409abd6 Remove various undefined/unused functions 2024-03-31 17:19:35 -04:00
varjolintu
8a4787278d Passkeys: Do not ask update with a new user handle 2024-03-31 17:19:09 -04:00
Sami Vänttinen
ac2b445db6
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-06 07:42:01 -05:00
Michael Duersch
884386c924 Allow groups to restrict by browser integration key (#6437) 2024-01-14 07:43:48 -05:00
Sami Vänttinen
13c88e1013
Passkeys: Add support for importing Passkey to entry (#9987)
---------
Co-authored-by: Jonathan White <support@dmapps.us>
2023-11-22 23:11:25 -05:00
Jonathan White
013db199cb Fix password generator close button for good
* Avoids using QDialog which breaks the standalone password generator

Revert "Fix password dialog close button"

This reverts commit 5b47190fcc.
2023-11-22 22:49:10 -05:00
varjolintu
a3717c7acd Rename userId to credentialId 2023-11-09 18:00:33 -05:00
Sami Vänttinen
6f2354c0e9
Add basic support for WebAuthn (Passkeys) (#8825)
---------

Co-authored-by: varjolintu <sami.vanttinen@protonmail.com>
Co-authored-by: droidmonkey <support@dmapps.us>
2023-10-25 10:12:55 -04:00
varjolintu
8f45431ecb Create new UrlTools class 2023-10-23 22:53:59 -04:00
Sami Vänttinen
139153d9a3
Improve duplicate URL warning (#9635)
Co-authored-by: varjolintu <sami.vanttinen@protonmail.com>
2023-08-13 22:18:24 -04:00
varjolintu
c1720c3711 Fix support for referenced URL fields 2023-03-30 07:20:46 -04:00
Sami Vänttinen
5b312889b8
Fix various bugs when returning credentials (#9136)
Co-authored-by: Sami Vänttinen <sami.vanttinen@protonmail.com>
2023-02-25 14:19:34 -05:00
Marcel Lauhoff
8a554b37c0
Add 'get-database-entries' Proxy Request (#7292) 2023-02-25 14:09:36 -05:00
Sami Vänttinen
4a30417f76
Browser Integration code cleanup (#8489)
Co-authored-by: varjolintu <sami.vanttinen@protonmail.com>
2023-02-18 15:52:31 -05:00
Sami Vänttinen
ce51534c3a
Remove KeePassHTTP attribute conversion (#8007)
Co-authored-by: varjolintu <sami.vanttinen@protonmail.com>
2023-01-29 10:32:24 -05:00
Sami Vänttinen
37baa6fd25 Revert async Access Confirm Dialog 2022-10-29 07:40:33 -04:00
varjolintu
ef6d8f1138 Browser: Asynchronous Access Confirm dialog 2022-09-10 13:18:30 -04:00
varjolintu
6cb6f1f007 Browser: Add a new group setting for omitting WWW subdomain when matching URLs 2022-06-12 16:45:54 -04:00
Sami Vänttinen
7284a8062a
Fix password generator responses (#7404)
* Respond directly to the current client instead of broadcasting

* Append requestID to generate-password response
2022-02-23 17:48:50 -05:00
varjolintu
12d16f67ae Download favicon in the background after credential add 2021-12-12 08:14:14 -05:00
varjolintu
dd41f093e6 Launch KeePassXC password generator popup from the extension
* Closes #6473
2021-10-24 10:24:17 -04:00
varjolintu
c7cdce6e33 Support for triggering Global Auto-Type from browser extension 2021-10-10 23:41:58 -04:00
varjolintu
4c10e516c3 Add delete-entry command to Browser Integration API 2021-09-21 04:17:14 -04:00
peter
6b14b5dc27 Optimize includes across code base 2021-07-13 22:08:33 -04:00
Christof Klaus
bf2cad28af Add feature to ignore entries for HTTP-Auth Logins 2020-10-08 22:53:04 -04:00
Jonathan White
e1c2537084
Merge branch 'release/2.6.2' into develop 2020-09-27 12:11:02 -04:00
Sami Vänttinen
e391dd182d
Fix Best-Matching ..again (#5316)
Co-authored-by: Jonathan White <support@dmapps.us>
2020-09-13 10:38:19 -04:00
piegames
6a35bbea2f Add browser service search for entries via UUID 2020-09-02 23:19:43 -04:00
Sami Vänttinen
0cc2c83525
Add command for retrieving the current TOTP (#5278) 2020-08-17 06:17:58 -04:00
varjolintu
f73855a7f2 Adjust matching with best-matching credentials enabled 2020-07-21 07:29:02 -04:00
varjolintu
9b63e6a289 macOS: Fix hiding window after using database unlock dialog
* Properly hide window after Browser Integration and Auto-Type unlock, if needed
* Fix #4904
2020-07-05 20:04:35 -04:00
varjolintu
92a7fe33bd Use unlock dialog when unlocking a database from browser extension 2020-05-19 08:30:10 -04:00
varjolintu
e367c6df95 Fix merging browser keys
* Introduce protected custom data function to prevent loss during merge operations
2020-05-16 17:41:10 -04:00
varjolintu
48bf4fb85d Fix annoyances with access control dialog
* Don't send database locked/unlocked messages when "search in all databases" is enabled
* After access control dialog closes, only hide main window on macOS, and then only if previously hidden.
2020-05-16 17:40:49 -04:00
Jonathan White
a145bf9119 Complete refactor of Browser Integration classes
* Removed option to attach KeePassXC to the browser extension. Users must use the proxy application to communicate with KeePassXC.
* Significantly streamlined proxy code. Used same implementation of stdin/stdout interface across all platforms.
* Moved browser service entry point to BrowserService class instead of NativeMessagingHost. BrowserService now coordinates the communication to/from clients.
* Moved settings page definition out of MainWindow
* Decoupled BrowserService from DatabaseTabWidget
* Reduced complexity of various functions and cleaned the ABI (public vs private).
* Eliminated BrowserClients class, moved functionality into the BrowserService
* Renamed HostInstaller to NativeMessageInstaller and renamed NativeMessageHost to BrowserHost.
* Recognize XDG_CONFIG_HOME when installing native message file on Linux. Fix #4121 and fix #4123.
2020-05-14 17:14:17 -04:00
Jonathan White
0383aa104c Improvements to confirm access dialog
* Disable access to entries immediately within the dialog
* Use checkboxes instead of row selection
* Add button to deny all access immediately
2020-01-29 19:20:31 -05:00
varjolintu
c0796d8fb1 Add option to use entry only for HTTP Basic Auth 2019-12-21 17:28:27 -05:00
varjolintu
e2c95f75f1 Fix subdomain matching 2019-11-23 07:53:09 -05:00
varjolintu
3d0964bce9 Fix URL matching 2019-11-10 08:43:10 -05:00
varjolintu
bee861ff8f Browser access control dialog shows submitUrl when found 2019-10-22 21:54:50 -04:00
varjolintu
f726d7501f Add support for multiple URLs in an entry
* Fixes #398

The new Browser Integration entry settings page has a list view with any additional URL's. These URL's are added to the entry attributes with KP2A_URL_<counter>, which means those are directly compatible with Keepass2Android.
2019-10-16 22:20:57 -04:00
varjolintu
a93b22f89a Add support for skipping Auto-Submit with Browser Integration 2019-10-05 14:37:46 -04:00
varjolintu
79bb991a61 Disable remember checkbox with Basic HTTP Auth 2019-08-30 22:35:07 -04:00
varjolintu
3cf171cbf5 Support returning a canceled message 2019-06-14 17:57:07 -04:00
varjolintu
5341a8215c Browser Integration tests 2019-05-29 09:24:22 -04:00
varjolintu
7ce6f9d3b1 Disable creating the default group 2019-05-19 00:22:11 -04:00
varjolintu
14e868d2f7 Allow creating new groups with Browser Integration
Added a confirmation dialog
2019-03-17 20:13:44 -04:00