Commit Graph

247 Commits

Author SHA1 Message Date
Carlos E. Salazar
fa546c440e
Feature/toggle groups panel option (#5247)
* Closes #5243
2020-10-08 22:52:30 -04:00
Wolfram Rösler
34b44e7496 Add fuzz test support
Describe how to invoke the AFL fuzz tester on the KeePassXC
CLI tool. As suggested in #2729.

Fuzz test build of keepassxc-cli takes database password from
environment variable instead of requiring it to be empty.
Provide two empty kdbx files as initial fuzzer input, one
kdbx 3 and one kdbx 4, both with minimal number of decryption
rounds to speed up the test.
2020-10-08 22:49:34 -04:00
Janek Bevendorff
b09d3eb855
Update translations 2020-08-19 22:49:30 +02:00
Janek Bevendorff
71f9ef30f5
Update changelog and bump version to 2.6.1 2020-08-19 21:22:25 +02:00
mihkel-t
a52b0c5439 Add available translations for GenericName
Taken from the .ts files, specifically the translations of phrases "Password Manager" and "KeePassXC - cross-platform password manager" (translations of the latter then appropriately cropped, with some help from Google Translate for the scripts I can't read).

Also add Estonian translation for Comment.
2020-07-20 21:19:07 -04:00
AsavarTzeth
02f6a59c10 Fix appdata screenshots
Update url filenames to reflect updates at keepassxc.org
2020-07-18 09:16:22 -04:00
AsavarTzeth
2631ae682d Add OARS metadata
It is usable by both Gnome Software, KDE Discover and web frontends,
such as Flathub which now enforces OARS.

By using OARS 1.0 all distributions should be supported. Version 1.1
should work almost everywhere, but there are a few notable distributions
that still lack GNOME Software >= 3.27.3.

In this case it should not matter, because the OARS data is the same for
both versions (nothing 1.1 specific is used).

You can generate and verify these changes using:
https://odrs.gnome.org/oars
2020-07-18 09:16:00 -04:00
Jonathan White
cf95f5e72e
Update translations 2020-07-06 21:13:22 -04:00
Jonathan White
44f2d3a3c2
Remove old translation files before pull 2020-07-06 19:20:06 -04:00
Shun Sakai
9dde9314e8 Change to generate man page from AsciiDoc 2020-07-05 14:54:31 -04:00
Jonathan White
124739fde2 Switch to Asciidoctor based documentation 2020-07-05 14:54:31 -04:00
Jonathan White
05a0df799e Fix auto-start settings on Windows 2020-06-28 16:25:26 -04:00
Jonathan White
e5b0219e3f
Update Translations 2020-06-07 21:53:35 -04:00
Jonathan White
b7104be689 Prevent overwriting of portable config on update
* Move portable configuration files into a config subfolder from the executable. This prevents overwriting the stored config when the application is updated in-place.
* Use .portable file to signal a portable app
* Fix #4751
2020-06-04 10:03:40 -04:00
Jonathan White
6f5e13815c Fix resolving resources when running from build directory
* Copy wordlists to build dir share folder
* Change resource path resolution to only test the provided directory, not finding a specific file
2020-06-04 10:03:40 -04:00
Janek Bevendorff
3095e29507 Optimise KeePassXC logo icons and improve compatibility.
- Reduce SVG complexity and clean up unnecessary paths
- Recreate monochrome icons for better rendering at low resolutions
- Export as minified SVG Basic 1.1 without style elements
- Recreate 256x256 PNG from optimised SVG
2020-06-01 14:42:28 +02:00
Janek Bevendorff
4f75432fc6 Add option for monochrome tray icon 2020-05-31 00:26:14 +02:00
Janek Bevendorff
9d2e066aca Clean up various parts of the UI and rearrange settings
- Unify widget layouts and margins
- Fix tab order on a bunch of widgets
- Fix broken entry/group edit form layout and replace with grid layout
- Rearrange some settings for better logical grouping
- Fix some settings checkboxes not being enabled/disabled on load
- Fix "General" settings tab scrolling
- Rename "Root" group to "Passwords"
- Update demo.kdbx accordingly and redownload favicons
- Change entry path display to use slash separators
- Reduce Medium and Large icon sizes slightly
2020-05-30 10:45:00 +02:00
Janek Bevendorff
4de99cfe8e
Extract highest resolution from downloaded ICO files 2020-05-29 10:00:32 -04:00
Jonathan White
b5554e05d8
Improve application icons
* Add icons for Database Import, Database Export, and Recent Databases
* Change app exit icon to be distinct from export icon
* Updated and ran makeappicons.sh
2020-05-29 10:00:32 -04:00
Jonathan White
90d5372813
Replace database icons with SVG's
Original source of icons is the icon8 library (http://icons8.com/c/flat-color-icons) and Paomedia (https://github.com/paomedia/small-n-flat). All icons used are licensed MIT or CC0; annotated in COPYING.

* Closes #4071

* Increase default size of database icons to 24px and entry preview panel to 48px
* Add shell script to assemble the database icons

* Use QIcon to seamlessly support High DPI displays and pixmap caching
* Add badge support for KeeShare groups and expired entries.
* Guard against use of QPixmap::fromImage without a GUI

* Add SVG minify and improve `make icons`

Co-authored-by: Wolfram Rösler <wolfram@roesler-ac.de>
2020-05-29 10:00:32 -04:00
Holger Böhnke
eb198271ac Add natural sort of entry list
Introduce a third unsorted status that shows entries in the order they occur in the KDBX file.

* Add keyboard shortcut Ctrl+Alt+Up/Down to move entries up and down in sort order
* Add entry context menu icons to achieve movement up/down
* Only show menu icons when in natural sort order
* Add Material Design icons for moving up/down

* Add feature to track non-data changes and force a save on exit to ensure they are not lost when locking a database. This allows users to make entry movements and group expand/collapse operations and not lose that state.

Remove saveas
2020-05-22 12:13:20 -04:00
Andrew Meyer
45848c3f61 Implement 'Save Database Backup' option
Add an option in the 'Database' menu to save a backup of the current database.

Add unit test for saving database copy

* Open a test database, mark it as modified, and save a copy
* Fail if the copy is not a valid database
* Fail if the original database is saved
* Fail if the original database is no longer marked as modified
2020-05-16 11:00:27 -04:00
Wolfram Rösler
3c19fdd193 Reports: Add "Known Bad" flag for entries
* Fixes #4168

* Introduce a custom data element stored with an entry to indicate that it is a "Known Bad" entry. This flag causes database reports to skip these entries.
* The current number of known bad entries is displayed in the statistics report.
* Add context menu to reports to easily exclude entries.
2020-05-08 20:51:11 -04:00
Jonathan White
071cc856da Improve MSI Installer
* Include checkboxes to install a desktop shortcut (default no) and start on login (default yes)
* Fix closing KeePassXC.exe and keepassxc-proxy.exe before installation starts
* Improve styling of launch after exit checkbox
2020-05-06 10:44:53 +02:00
Jonathan White
7168bcdbe5 Add clipboard-text and refresh icons to resources 2020-04-28 23:35:03 +02:00
Janek Bevendorff
d189f9132e
Merge branch 'master' into develop 2020-04-09 18:27:40 +02:00
Janek Bevendorff
db2cfd424b
Update translations 2020-04-09 18:24:15 +02:00
Janek Bevendorff
770b09cc23
Bump version to 2.5.4 2020-04-09 18:22:52 +02:00
Jonathan White
e54f24e303 Only use bare minimum settings for portable version
* Fixes #4103

* This ini file ensures the portable distribution populates with the default settings from the code and not from outdated ini file.
2020-04-09 18:15:27 +02:00
Janek Bevendorff
e9754efbbe Fix macOS 10.15.4 codesigning crash.
The recent macOS security patch renders our codesigning
"fix" of setting the sandbox entitlement to false twice
unusable. This patch adds a full provisioning profile
and adjusts the signing procedure to not include
entitlements for Qt frameworks.

The patch also changes the app and bundle ID, so granted
accessibility privileges have to be granted again after
installing the update.

Fixes #4398
Fixes #4515
2020-04-09 16:22:42 +02:00
Wolfram Rösler
83ed9a8d4e
Check passwords against the HIBP online service (#4438)
* Fixes #1083

* Add online HIBP checker dialog to the database reports widget. Permission is requested from the user prior to performing any network operations. 
* The number of times a password has been found in a breach is shown to the user.
* If no passwords are breached then a positive message is presented.

* Source of HIBP icon: https://github.com/simple-icons/simple-icons/blob/develop/icons/haveibeenpwned.svg

Authored-by: Wolfram Rösler <wolfram@roesler-ac.de>
Co-authored-by: Jonathan White <support@dmapps.us>
2020-03-29 09:39:06 -04:00
louib
e6c2c7ed93
CLI: Cleanup create options (#4313)
* Add ability to create database with an empty password
* Add password repeat check
* Standardize process between `db-create` and `import` commands
* Improve db-create tests with new password repeat

Co-authored-by: Jonathan White <support@dmapps.us>
2020-03-18 21:51:36 -04:00
Janek Bevendorff
b045160e4f Bundle icons using the Qt resource system.
Simplify resource loading logic and enable reproducible builds.
Fixes #2582
2020-03-14 10:13:12 -04:00
Jonathan White
4ff781fa48 Version Bump and Deployment Fixes
* Use KeePassXC executable icon for the start menu shortcut on Windows to prevent the icon from being deleted on installation of a new version. Fixes #4226

* Support improvements to windeployqt in Qt 5.14.1+
2020-03-14 09:48:15 -04:00
Jonathan White
fe1189ea79 Enhance Password Editing Fields
* Remove repeat password on entry edit
* Move show/hide password and password generator buttons into the field as actions.
* Register keyboard shortcut Ctrl+H to toggle password visibility
* Register keyboard shortcut Ctrl+G to open the password generator
* Cleanup code and improve interactions between elements
* Simplify Password Generator button layout; convert advanced mode button to toggle button
* Update GUI tests

* Fixes #4120
2020-03-09 18:03:20 -04:00
Wolfram Rösler
a81c6469a8 Implement Password Health Report
Introduce a password health check to the application that evaluates every entry in a database. Entries that fail  various tests are listed for user review and action. Also moves the statistics panel to the new Database -> Reports  widget. Recycled entries are excluded from the results.

We now have two classes, PasswordHealth to deal with a single password and HealthChecker to deal with all passwords of a database.

Tests include passwords that are expired, re-used, and weak.

* Closes #551

* Move zxcvbn usage to a centralized class (PasswordHealth)  and replace its usages across the application to ensure standardized interpretation of entropy calculations.

* Add new icons for the database reports view

* Updated the demo database to show off the reports
2020-02-01 09:30:12 -05:00
James Ring
71a39c37ec
Add --username option to Clip command. (#3947)
* make Clip accept an attribute name

This allows users to copy arbitrary attributes (e.g. username, notes,
URL) to the clipboard in addition to the password and TOTP values.

* update Clip manpage

* Add findAttributes to CLI utils

* Use case-insensitive search in Show command.

* Use case-insensitive search in Clip command.

Co-authored-by: louib <L0U13@protonmail.com>
2020-01-30 15:46:48 -05:00
Andreas Lindhé
7d8072bf8f Use entry action icons with circle frame 2020-01-29 19:19:44 -05:00
louib
0b6d9cb472 CLI: set decryption time on create.
Added an option to set the target decryption time on database creation
for the CLI create command. This required some refactoring, in
particular the extraction of the min, max and defaut decryption times in
the `Kdf` module. Some work was done to allow changing those constant
only in the `Kdf` module, should we ever want to change them.
2020-01-27 23:00:34 -05:00
louib
b78ca924fd Adding db-info CLI command. (#4231)
This adds a basic db-show CLI command, to display
the information related to a database.
2020-01-26 23:44:31 -05:00
Shun Sakai
8bac8a7163 Change command and option names to bold in man pages 2020-01-25 17:44:05 -05:00
Shun Sakai
332c133893 Fix CLI man page
- Fix lacking commas in the generate options section
- Fix a typo in groff command
2020-01-25 17:44:05 -05:00
Janek Bevendorff
bf8e2e5959 Fix AppImage builds due to missing PNG app icons.
All PNGs were removed in 36f92b7, including the 256x256
application icons needed for building AppImages.
2020-01-20 22:12:37 +01:00
Janek Bevendorff
b2fd7f6d54
Merge branch 'master' into develop 2020-01-19 21:44:25 +01:00
Janek Bevendorff
27dbc152f3
Update translations 2020-01-19 21:43:15 +01:00
Janek Bevendorff
606661b271
Update CHANGELOG 2020-01-19 21:42:00 +01:00
Wolfram Rösler
36f92b7649 Replace application icons with Material Design icons.
Use the following to run KeePassXC with the icons from the
source code, ignoring the operating system's Qt icon theme:

```
KEEPASSXC_IGNORE_ICON_THEME=1 keepassxc
```

The patch further adds a script `makeicons.sh` that re-creates KeePassXC
icons from the Material Design icon set and can be used for easily
updating icons in the future. Instructions are in the script.

Fixes #475
2020-01-11 19:00:15 +01:00
Jonathan White
04d6d675a5 Only use bare minimum settings for portable version
* Fixes #4103

* This ini file ensures the portable distribution populates with the default settings from the code and not from outdated ini file.
2020-01-09 14:21:02 +01:00
Jonathan White
062654ebdd
Update translations 2020-01-04 09:09:28 -05:00