88 Commits

Author SHA1 Message Date
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
243f68e0e8 Fix button highlighting in multiple dialogs
* Changed style so that only default buttons have full background highlight. This prevents confusion as to which button in various dialogs is the default/desired choice.

* Move password generator popup into static function outside of PasswordEdit so other parts of the program can easily access it.

* QDialog forces 'autoDefault' property on all buttons causing them to obtain background highlight when they are focused. Moved Password Generator outside of a QDialog and forced 'autoDefault' to false on Browser Access Dialog.

* Fixed button ordering in Totp Setup Dialog

* About dialog close button is now the default button
2020-04-28 23:35:03 +02:00
varjolintu
5795051477 Recycle KeePassHTTP settings 2020-04-12 18:15:58 -04:00
Jonathan White
91c6e436b3 Dynamically determine database validity
* Check that the database composite key exists, has sub-keys associated with it, and the root group exists.
2020-03-07 16:52:24 -05:00
varjolintu
e6186b07e1 Add Created column to Browser Integration at Database settings 2020-03-07 10:05:06 -05:00
Timo Ulich
a6c3c118a7 Add the name of the group to the results for browser extensions
Fixes #466

So it can be displayed in the autocomplete list when more than
one login matches. For users that use groups and have similar names
for multiple logins but organized in different groups
2020-03-07 08:30:17 -05:00
Janek Bevendorff
6d2ca74878 Add OSUtils for platform-specific functionality.
Moves MacUtils into a separate sub folder and adds
WinUtils, NixUtils, and OSUtils for platform-native
code on Windows, Unix-like, and generic/all systems.
2020-03-05 09:24:11 +01:00
varjolintu
8dbd5b11eb Code format 2020-02-09 11:28:47 -05:00
varjolintu
8dba308d54 Do not add duplicate entries 2020-02-09 11:28:47 -05: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
08a911466e Simplify the comparison 2020-01-19 18:13:12 +01:00
varjolintu
d2e76058cd Fix base domain matching 2020-01-19 18:13:12 +01:00
varjolintu
460732097c Add empty path to URL when needed 2020-01-12 18:43:02 -05:00
varjolintu
c0796d8fb1 Add option to use entry only for HTTP Basic Auth 2019-12-21 17:28:27 -05:00
varjolintu
663393d994 Remove extra check for additional URLs 2019-12-20 22:17:30 -05:00
Balazs Gyurak
c0b1c9e106 Run code formatter 2019-11-23 10:07:39 -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
62027d35ea Show database name when doing association 2019-10-22 21:55:39 -04: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
Jacob Sachs
dbe15d32e5 CLI: Add Import XML command (#3572)
The CLI now contains an "import" command that creates a new database from the specified XML export. The new database is in kdbx 4 format, and does not currently accept a keyfile in database creation.

This change is required to create new databases from XML backups.

Fixes #2458
2019-10-15 22:10:45 -04:00
varjolintu
a93b22f89a Add support for skipping Auto-Submit with Browser Integration 2019-10-05 14:37:46 -04:00
varjolintu
bef1b94d71 Fix getting credentials from non-connected database 2019-09-28 11:26:15 -04:00
varjolintu
79bb991a61 Disable remember checkbox with Basic HTTP Auth 2019-08-30 22:35:07 -04:00
Jonathan White
3b330ee2d1
Improve accessibility (#3409)
* Add application settings reset button
 - Corrects accessibility findings GP.2

* Use icons in addition to color to indicate password mismatch
 - Corrects accessibility finding CN.2

* Announce begin/end of list navigation
 - Corrects accessibility finding KF.4

* Fixes for keyboard navigation
 - Add Ctrl+F10 keyboard shortcut to show group/entry context menus. Fixes #3140
 - Improve movement between form fields

* Fix loading system-defined language in translator
 - Fixes #3202
 - Bypass built-in Qt loading of QLocale for translations. The order of loading languages doesn't consider all file names prior to moving to the next language in the list. This resulted in English being chosen no matter what language is the top priority.

* Improve message box defaults and fix documentation links

* Better support for screen readers

* Add accessible names on form fields

* Prevent changing values during settings widget scrolling
 - Add an event filter to combo boxes and spin boxes on the settings page to prevent the mouse wheel from changing the values without having focus
 - Add horizontal stretch to the security settings to make the spin boxes more manageable.
2019-08-30 20:18:41 -04:00
varjolintu
c27ee6aba8 Add setting for not displaying KeePassHTTP migration popup 2019-07-03 08:23:52 -04:00
varjolintu
32e62faf39 Prompt to migrate KeePassHTTP settings only if Browser Integration is enabled 2019-06-30 11:07:25 -04:00
Jonathan White
1e915eef89 Run code formatter 2019-06-18 18:51:38 -04:00
varjolintu
3cf171cbf5 Support returning a canceled message 2019-06-14 17:57:07 -04:00
Jonathan White
63aab99b9c
Merge branch 'release/2.4.2' into develop 2019-05-30 17:22:09 -04:00
varjolintu
5341a8215c Browser Integration tests 2019-05-29 09:24:22 -04:00
Jonathan White
2ee97ed191 Code formatting 2019-05-19 18:21:34 -04:00
Jonathan White
96438a45b4 Various minor code improvements 2019-05-19 18:21:34 -04:00
varjolintu
7ce6f9d3b1 Disable creating the default group 2019-05-19 00:22:11 -04:00
varjolintu
fed8a56098 Add option for returning expired credentials 2019-05-09 10:31:51 -04:00
varjolintu
0f8d2986af Close popups when database is locked 2019-05-01 18:05:19 -04:00
Jonathan White
fb5faf0ff5
Ran make format 2019-03-19 18:56:17 -04:00
Jonathan White
fb5746e4f7 Improve legacy browser settings message 2019-03-19 14:46:29 -04:00
varjolintu
14e868d2f7 Allow creating new groups with Browser Integration
Added a confirmation dialog
2019-03-17 20:13:44 -04:00
varjolintu
f997e86869 Small browser fixes for 2.4.0 release 2019-03-06 20:46:12 -05:00
Jonathan White
d3a424cc74 Correct window transitions from browser plugin
* Eliminated multiple state variables
* Fix #1643, window is brought to front
2019-02-05 16:09:17 -05:00
Gianluca Recchia
0dac53df54
Restore formatting 2019-01-30 09:50:11 -05:00
Gianluca Recchia
39b96c13e8
Avoid copying QSharedPointers when not needed 2019-01-30 09:50:10 -05:00
Sami Vänttinen
891f67a1cd Select group when adding credentials from browser extension (#2637) 2019-01-30 09:48:22 -05:00
Jonathan White
7e1b16250c Performed project-wide code formatting
* Updated format CMake command to properly
ignore new directories and files
* Added output when command is run
* Resolves #2623
2019-01-28 22:38:59 -05:00
Sami Vänttinen
0da9efdbd4 Fix updating reference passwords from KeePassXC-Browser (#2218)
* Allow updating reference passwords

* Fix function change after refactor
2019-01-21 14:24:57 -05:00
Sami Vänttinen
f8c6c9f72c Fix native hiding of macOS windows (#2583) 2019-01-16 11:03:54 -05:00