Commit Graph

3377 Commits

Author SHA1 Message Date
Bryan Jacobs
04983ce4cd Support for RFC-compliant TOTP hashes #873 #1566
This implements support for SHA-256 and SHA-512 hash algorithms when
generating TOTP codes. These algorithms are specified by RFC6238. The
implementation is compatible with Google's OTP URL format, as well as
with the KeeOTP plugin for KeePass.

The implementation is not wired into the GUI, as the main project
developer expressed strong negative sentiment about adding more
options there. It is possible to configure codes by putting the
appropriate string into the entry's otp property, or using another
program with a less opinionated UI and a compatible on-disk format.
2019-04-15 14:23:26 -04:00
Toni Spets
61b1f8c966 Add free text filter to Auto-Type dialog (#2955)
* Fixes #2944
2019-04-15 14:19:58 -04:00
Weslly
7546ba7406
Remove hardcoded background color from search help widget 2019-04-15 14:14:56 -04:00
Weslly
8e19843db7 Remove hardcoded background color from search help widget 2019-04-13 18:21:42 -04:00
Gianluca Recchia
c3ae446fd9 Fix syntax highlighting in CONTRIBUTING.md (#2997)
Code snippets are now marked as cpp so that GitHub highlights them
correctly.
2019-04-13 16:31:43 +02:00
Jonathan White
d5d51d668f
Merge branch 'master' into develop 2019-04-12 18:23:23 -04:00
Jonathan White
7bafe65d17
Release 2.4.1
- Fix database deletion when using unsafe saves to a different file system [#2889]
- Fix opening databases with legacy key files that contain '/' [#2872]
- Fix opening database files from the command line [#2919]
- Fix crash when editing master key [#2836]
- Fix multiple issues with apply button behavior [#2947]
- Fix issues on application startup (tab order, --pw-stdin, etc.) [#2830]
- Fix building without WITH_XC_KEESHARE
- Fix reference entry coloring on macOS dark mode [#2984]
- Hide window when performing entry auto-type on macOS [#2969]
- Improve UX of update checker; reduce checks to every 7 days [#2968]
- KeeShare improvements [#2946, #2978, #2824]
- Re-enable Ctrl+C to copy password from search box [#2947]
- Add KeePassXC-Browser integration for Brave browser [#2933]
- SSH Agent: Re-Add keys on database unlock [#2982]
- SSH Agent: Only remove keys on app exit if they are removed on lock [#2985]
- CLI: Add --no-password option [#2708]
- CLI: Improve database extraction to XML [#2698]
- CLI: Don't call mandb on build [#2774]
- CLI: Add debug info [#2714]
- Improve support for Snap theming [#2832]
- Add support for building on Haiku OS [#2859]
- Ctrl+PgDn now goes to the next tab and Ctrl+PgUp to the previous
- Fix compiling on GCC 5 / Xenial [#2990]
- Add .gitrev output to tarball for third-party builds [#2970]
- Add WITH_XC_UPDATECHECK compile flag to toggle the update checker [#2968]
2019-04-12 18:12:12 -04:00
Jonathan White
5b007ece14
Update translations 2019-04-12 18:11:57 -04:00
Jonathan White
0d4318e466
Version bump to 2.4.1 2019-04-12 18:10:39 -04:00
Jonathan White
b97cc1d398
Reverse direction of CTRL+PGUP/PGDN
* Conform to standard selection direction
2019-04-12 16:37:13 -04:00
Weslly
fbba5b1420 Fix conditional build flags for yubikey and keeshare 2019-04-12 16:29:13 -04:00
Christian Kieschnick
05bee40f0a Fix duplicate icon add in export
SharedObserver did not check for already added icons add during export
leading to duplicate icons in the target db.
2019-04-12 16:14:23 -04:00
Jonathan White
771ecdba12
Fix missing function definition on macOS 2019-04-12 16:08:38 -04:00
ckieschnick
2eb82c8356 Improve file tracking in BulkFileWatcher (#2978)
Introduce modification-based change tracking in BulkFileWatcher to
reduce emitted signals caused by file changes within the same directory.
Resolves #2895.
2019-04-12 19:59:50 +02:00
Jonathan White
e7815787c7 Fix referenced entry color on macOS dark mode (#2984)
Introduce macUtils()->isDarkMode() function to detect Mojave dark
mode and correct reference entry text color. Fixes #860.
2019-04-12 19:57:49 +02:00
Jonathan White
cc27a367d6 Only remove keys on exit if they would remove on lock (#2985)
* Don't remove keys on app exit that would not be removed due to database locking.
* Restores behavior from 2.3.4
* Fixes #2980
2019-04-12 19:55:28 +02:00
Janek Bevendorff
bc5173bac7
Fix compilation with GCC 5 (#2990) 2019-04-12 19:49:43 +02:00
Jonathan White
c195452c54 Re-Add keys on database unlock
* Keys that were previously added do not show an error message (they are most likely still in the agent)
* Shifted to using the KeeAgentSettings class to guide behavior of addIdentity function
* Fixes #2902
2019-04-11 16:17:50 -04:00
Jonathan White
1f28dc6013
Merge branch 'release/2.4.1' into develop 2019-04-11 10:21:52 -04:00
Jonathan White
2ffefc95ae Enhance update checker
* Reduce initial update check notification to 500 ms to prevent inappropriately stealing focus from user
* Add build flag WITH_XC_UPDATECHECK which defaults to ON
* Update checks are resolved every 7 days instead of every time the application is started
* Better checks for beta builds; ignore snapshots
* Increase test cases
2019-04-11 08:52:51 -04:00
Jonathan White
53a57ee8c7 Hide window when performing entry auto-type on macOS
* Instead of choosing the last active window, always hide the current window (ie, KeePassXC)
* Fixes #2883
2019-04-10 20:31:24 -04:00
Jonathan White
8bc94874a1 Enhance release-tool handling of app signing
* Introduce .gitrev file to tarball generation
* Correct labeling of builds based on supplied parameters to CMake
* Convert supplied key file path to absolute when building under MSYS
* Support OVERRIDE_VERSION to build properly version numbered snapshots
* Do not build tests for any build
2019-04-10 16:12:33 -04:00
ckieschnick
29c79c935a More detailed KeeShare sharing messages (#2946)
* ShareObserver watches all shares

ShareObserver watches all shares to and considers settings only on
checking for changes. This fixes an assertion when an export group
signal is received, but export was disabled.

* Extend share message in group view

Extended the message for shared groups to indicate deactivate
import/export and errors when the share was not correctly configured.
2019-04-07 22:19:51 -04:00
Jonathan White
1493943e2e Add integration with Brave browser
Fixes #2414
2019-04-07 21:00:15 -04:00
Jonathan White
4b1258f585 Correct issues with apply button
* Don't show apply button when creating new entries or groups (Fix #2191)
* Don't mark entry/group as dirty when first creating a new one (prevents unnecessary discard dialog on cancel)
* Properly enable/disable apply button when changes are made to entries and groups
* Don't show discard change warning when locking database unless their are actual changes made

NOTE: Extra pages in the group edit widget are not watched for changes yet. Requires a major refactor.
2019-04-07 19:12:45 -04:00
Jonathan White
71e375aff0 Allow copying passwords directly from searching
* Reverts removal of previously implemented feature
* Fix #2630
* Make gui search tests more robust
2019-04-07 19:12:45 -04:00
Jonathan White
88c8cdd800 Add note to restart after changing language
* Fix #2713
2019-04-07 19:12:45 -04:00
Jonathan White
0201fcd400 Improved error messages when opening database
* Reduced wording and confusion
* Streamlined delivery format
* Fix #813
2019-04-07 19:12:45 -04:00
Jonathan White
791b796c23 Additional layer of protection for unsafe saves
* Attempt to restore database, if that fails retain the temporary file and tell the user where it is located
2019-04-07 12:12:43 -04:00
Jonathan White
3b0b5d85e9 Correct behaviors when saving database fails
* Mark database dirty if saving fails
* Restore database file from backup if unsafe save fails between deleting database file and copying temporary file into place
* Improve error message display for opening and saving database files
* Do not automatically retry saving after failure. This prevents deletion of the backup database file and improves user awareness of issues.
2019-04-07 12:12:43 -04:00
Jonathan White
ec82931573 Fix broken safe saves across file systems
* Fix #2888
* Qt has an undocumented rename implementation for QTemporaryFile that does not fallback to the copy implementation. Forcing the use of QFile::rename(...) allows for this fallback and protects against cross-device link errors.
2019-04-07 12:12:43 -04:00
Jonathan White
835e1b8787
Merge pull request #2919 from keepassxreboot/fix/database-filename
Correct opening files from command line; cleanup master key editing
2019-04-02 21:46:23 -04:00
Janek Bevendorff
e025444c86 Fix double password edit field 2019-04-02 22:32:48 +02:00
Janek Bevendorff
f49a8a7f70 Fix key component widget initialization and password field echo mode on database open 2019-04-02 00:05:39 +02:00
Allen Wild
b3ce7ec9c4 add Lock Databases option to tray icon menu
This is useful when keepassxc is minimized/hidden to the tray, and all
the plumbing is already in place from the lock icon button in the main
window UI.
2019-03-30 21:49:35 -04:00
Jonathan White
cb2900f5a9
Fix database master key dirtying
* When removing portions of the master key, the key is marked dirty for saving
* Properly clear password and other fields in edit entry widget and password widgets
2019-03-30 21:31:32 -04:00
Jonathan White
edef225eab
Fix opening files from command line
* Fix #2877 - password is unchecked by default
* Smarter activation of key components based on contents of text entry fields
* Prevent multiple copies of the same database from opening when the canonicalFileName != fileName
2019-03-26 22:23:16 -04:00
Jonathan White
52d411f423
Use existing base64 check in Tools namespace 2019-03-26 20:24:00 -04:00
Vladimir Svyatski
e786291086 Make KeeShare user messages easier to understand (#2824) 2019-03-26 19:54:54 -04:00
Jonathan White
d6324feafd Fix base64 check missing '/' as valid character
* Issue introduced in 558cb3d
* Corrects loading of legacy KeePass Key Files that included a '/' in their data section. Fix #2863 and Fix #2834
2019-03-25 13:06:03 -04:00
Jonathan White
d7660dad37
Merge branch 'release/2.4.1' into develop 2019-03-24 11:01:23 -04:00
Jonathan White
bc3a7522a2 Prevent crash when editing master key 2019-03-24 10:51:24 -04:00
Julius Bullinger
38826a851d Add button to open Custom Auto-type sequence documentation (#2733)
This change adds a button next to the text edit field which opens the following wiki page: https://github.com/keepassxreboot/keepassxc/wiki/Autotype-Custom-Sequence
2019-03-24 10:13:50 -04:00
Jonathan White
72f0e9ba77 Fix saving order of open databases
* Order of previously open databases are preserved when closing the application
* The active database on closing remains active after startup
* Nested open previous databases and remember key files under the remember previously open databases setting
* Fix #1675
2019-03-24 09:35:45 -04:00
Jonathan White
28a3824d2d Use existing database open function on startup
* Fix #2828
2019-03-24 09:35:45 -04:00
Jonathan White
3404b4ac58
Add Haiku support (#2859)
[TIP]:  # ( Provide a general summary of your changes in the title above ^^ )

## Type of change
[NOTE]: # ( Please remove all lines which don't apply. )
-  New feature (non-breaking change which adds functionality)

## Description and Context
[NOTE]: # ( Describe your changes in detail, why is this change required? )
[NOTE]: # ( Describe the context of your change. Explain large code modifications. )
[NOTE]: # ( If it fixes an open issue, please add "Fixes #XXX" as necessary )
Originally submitted by @diversys in #2696 

## Checklist:
[NOTE]: # ( Please go over all the following points. )
[NOTE]: # ( Again, remove any lines which don't apply. )
[NOTE]: # ( Pull Requests that don't fulfill all [REQUIRED] requisites are likely )
[NOTE]: # ( to be sent back to you for correction or will be rejected.  )
-  I have read the **CONTRIBUTING** document. **[REQUIRED]**
-  My code follows the code style of this project. **[REQUIRED]**
-  All new and existing tests passed. **[REQUIRED]**
-  I have compiled and verified my code with `-DWITH_ASAN=ON`. **[REQUIRED]**
-  My change requires a change to the documentation, and I have updated it accordingly.
2019-03-24 09:33:02 -04:00
Jonathan White
86e5dbda4f
Add Haiku support 2019-03-24 09:32:45 -04:00
Jonathan White
13a9ac8f57 Adding --no-password option to CLI
I also added tests for the --key-file option, which was
untested.
2019-03-24 09:23:26 -04:00
louib
a58e3d5ee0 Adding debug info to CLI.
Adding debug info to the CLI and the general option
of the main Qt app. Also took time to:
* use `EXIT_SUCCESS`/`EXIT_FAILURE` constants
for main.cpp (this is what is used in `src/cli`);
* fixed `m_initalized` typo;
* added info on debugging mode being disabled
or not;
* regrouped Qt related stuff in the debug output.
2019-03-24 08:35:33 -04:00
Oirio Joshi
76913a5dd1 Snap: improve cursor theme 2019-03-22 08:54:32 -04:00