Commit Graph

338 Commits

Author SHA1 Message Date
Xavier Valls
4a21cee98c Add tags feature
* show the tags in the entry preview
* allow searching by tag
* add a sidebar listing the tags in the database
* filter entries by tag on click
* Introduce a new TagsEdit widget that provides pill aesthetics, fast removal functionality and autocompletion
* add tests for the tags feature
* introduce the "is" tag for searching. Support for weak passwords and expired added.
2022-01-28 16:13:49 -05:00
Sami Vänttinen
cd642e7fee
Add support for Browser statistics (#7197)
Co-authored-by: Jonathan White <support@dmapps.us>
2021-12-30 07:31:06 -05:00
osx user
15d1b2f0ab Show what changed between entry history items
* Also show what is changed on the current state
* Closes #2621
2021-12-22 05:52:54 -05:00
Jonathan White
12990e59ad KeeShare: Remove checking signed container
* Remove QuaZip dependency in favor of minizip
* Remove signature checks, but maintain signatures for backwards compatibility
* Remove UI components related to certificates except for personal certificate for backwards compatibility
* Default to unsigned containers (*.kdbx)
2021-12-14 23:23:23 -05:00
Lorenzo Tucci
c88d8c870f Add lock selected database action on toolbar
Closes #6445

Switch tab when locking a database and move Lock Database actions to the Database section of the toolbar.
2021-12-12 23:40:59 -05:00
Daniel Peshev
456726556d Add url field to download favicon 2021-12-12 12:32:11 -05:00
Geert Ijewski
d16fc2d62a Add db statistic output to CLI db-info command.
Closes #6920
2021-12-08 23:41:05 -05:00
Patrick Klein
a0a063b57f
Add -i/--include option to "generate" CLI command. (#7112) 2021-12-07 23:40:09 -05:00
Patrick Sean Klein
296cbf0df7 Add sorting of HTML export
- Closes #6164
- Implement sorting support in HtmlExporter
- Add ExportDialog class and UI, which allows to configure export options.
2021-11-24 00:12:13 -05:00
Janek Bevendorff
a3dc977e58 Correctly set KDBX envelope version
Shows a warning when trying to open with a newer minor version than what is currently supported.

We always try to save with the lowest KDBX version possible for maximum compatibility.
2021-11-22 12:58:04 +01:00
Janek Bevendorff
70e62d90db Add "Restore Entries" feature 2021-11-22 12:58:04 +01:00
Janek Bevendorff
e5822974ac Implement KDBX 4.1 group tags 2021-11-22 12:58:04 +01:00
Janek Bevendorff
ffaeac130f Implement KDBX 4.1 PasswordQuality flag 2021-11-22 12:58:04 +01:00
Patrick Klein
84ff6a13f9
Allow specifing database backup paths. (#7035)
- Default backupFilePath is '{DB_FILENAME}.old.kdbx' to conform to existing standards
- Implement backupPathPattern tests.
- Show tooltip on how to format database backup location text field.
2021-11-07 17:41:17 -05:00
Andre Blanke
7d37f65ad0 CLI: Add commands to handle attachments
* Add commands to manipulate entry attachments from the CLI
* Closes #4462

* Add the following commands:
  attachment-export: Exports the content of an attachment to a specified file.

  attachment-import: Imports the attachment into an entry. An existing attachment with the same name may be overwritten if the -f option is specified.

  attachment-rm: Removes the named attachment from an entry.

* Add --show-attachments  to the show command
2021-11-07 17:27:16 -05:00
snipfoo
7811f10dba
Support for wordlists in user configuration directory (#6799)
This commit allows users to put alternative wordlists in a `wordlists` subdirectory below their KeePassXC directory (e.g., under Linux, `~/.config/keepassxc/wordlists`). These wordlists will then appear in the dropdown menu in the *Password Generator* widget.

In order to differentiate between lists shipped with KeePassXC and user-provided lists, the former appears with a (SYSTEM) prefix.
2021-11-04 23:02:33 -04:00
Patrick Sean Klein
20db504c3a Implement "Overwrite attachment" confirmation dialog. 2021-10-24 23:41:57 -04:00
Sami Vänttinen
55f2bd41aa
Modify the KeePassHTTP attribute conversion button text (#7073) 2021-10-24 22:34:30 -04:00
Aetf
a31c5ba006 FdoSecrets: Implement unlock before search
Fixes #6942 and fixes #4443

- Return number of deleted entries
- Fix minor memory leak
- FdoSecrets: make all prompt truly async per spec and update tests
    * the waited signal may already be emitted before calling spy.wait(),
      causing the test to fail. This commit checks the count before waiting.
    * check unlock result after waiting for signal
- FdoSecrets: implement unlockBeforeSearch option
- FdoSecrets: make search always work regardless of entry group searching settings, fixes #6942
- FdoSecrets: cleanup gracefully even if some test failed
- FdoSecrets: make it safe to call prompts concurrently
- FdoSecrets: make sure in unit test we click on the correct dialog

Note on the unit tests: objects are not deleted (due to deleteLater event not handled).
So there may be multiple AccessControlDialog. But only one of
it is visible and is the correctly one to click on.

Before this change, a random one may be clicked on, causing the
completed signal never be sent.
2021-10-16 22:50:04 -04:00
varjolintu
b6716bdfe5 Add Browser Integration to Group Edit page
Closes #1789 and closes #3998
2021-10-11 00:19:06 -04:00
mhmdanas
be6835e42f Cleanup PCSC interface code
Fixes #7025
2021-10-09 14:41:26 -04:00
Jonathan White
f2aa32c7b0 Add direct write save option
* Closes #6335
* Modify application settings presentation to  allow for alternative saving strategies
* Transition Database::save calls to using flags to control saving behavior. Reduces boolean flags on function call.
* Made direct write save option a local setting to prevent unintentional carry over between platforms.
2021-10-09 11:12:25 -04:00
Aetf
60cfba8e46
FdoSecrets: Improve client executable path handling (#6915)
* Fixes #6459 

Improves the overall handling of FdoSecrets showing client executable paths to the user. It does the following:

* Check executable file existence as described in [RFC] fdosecrets: add optional confirmation to secret access (#4733)
* Show application PID and dbus address in the client list
* When the executable file is inaccessible, depending on where the client name is shown:
    * when shown inline, e.g. in notification text, where space is limited, clearly say that the path is invalid
    * when shown in auth dialog, show warning and print detailed info about the client
    * when shown in the client list, draw a warning icon

Co-authored-by: Jonathan White <support@dmapps.us>
2021-10-01 18:22:15 -04:00
Toni Spets
860fcfd78d SSH Agent: Add support for OpenSSH 8.2 FIDO/U2F keys
Closes #4334
2021-10-01 16:25:14 -04:00
Christoph Honal
6d1fc31e96
Implement support for Yubikeys and potential other tokens via wireless NFC using smartcard readers (Rebase) (#6895)
* Support NFC readers for hardware tokens using PC/SC

This requires a new library dependency: PCSC.
The PCSC library provides methods to access smartcards. On Linux, the third-party pcsc-lite package is used. On Windows, the native Windows API (Winscard.dll) is used. On Mac OSX, the native OSX API (framework-PCSC) is used.

* Split hardware key access into multiple classes to handle different methods of communicating with the keys.

* Since the Yubikey can now be a wireless token as well, the verb "plug in" was replaced with a more
generic "interface with". This shall indicate that the user has to present their token to the reader, or plug it in via USB.

* Add PC/SC interface for YubiKey challenge-response

This new interface uses the PC/SC protocol and API
instead of the USB protocol via ykpers. Many YubiKeys expose their functionality as a CCID device, which can be interfaced with using PC/SC. This is especially useful for NFC-only or NFC-capable Yubikeys, when they are used together with a PC/SC compliant NFC reader device.

Although many (not all) Yubikeys expose their CCID functionality over their own USB connection as well, the HMAC-SHA1 functionality is often locked in this mode, as it requires eg. a touch on the gold button. When accessing the CCID functionality wirelessly via NFC (like this code can do using a reader), then the user interaction is to present the key to the reader.

This implementation has been tested on Linux using pcsc-lite, Windows using the native Winscard.dll library, and Mac OSX using the native PCSC-framework library.

* Remove PC/SC ATR whitelist, instead scan for AIDs

Before, a whitelist of ATR codes (answer to reset, hardware-specific)
was used to scan for compatible (Yubi)Keys.
Now, every connected smartcard is scanned for AIDs (applet identifier),
which are known to implement the HMAC-SHA1 protocol.

This enables the support of currently unknown or unreleased hardware.

Co-authored-by: Jonathan White <support@dmapps.us>
2021-10-01 10:39:07 -04:00
transifex-integration[bot]
c90ab2b9cb Apply translations in zh_CN
translation completed for the source file '/share/translations/keepassxc_en.ts'
on the 'zh_CN' language.
2021-09-29 08:52:41 +02:00
transifex-integration[bot]
e8a32cc6a8 Apply translations in es
translation completed for the source file '/share/translations/keepassxc_en.ts'
on the 'es' language.
2021-09-29 02:15:37 +02:00
transifex-integration[bot]
9c2ae81f19 Apply translations in pt_PT
translation completed for the source file '/share/translations/keepassxc_en.ts'
on the 'pt_PT' language.
2021-09-28 23:35:02 +02:00
transifex-integration[bot]
10b4854915 Apply translations in de
translation completed for the source file '/share/translations/keepassxc_en.ts'
on the 'de' language.
2021-09-28 21:42:46 +02:00
transifex-integration[bot]
626a4910ca Apply translations in it
translation completed for the source file '/share/translations/keepassxc_en.ts'
on the 'it' language.
2021-09-28 19:19:36 +02:00
transifex-integration[bot]
8cbc327f90 Apply translations in pt_BR
translation completed for the source file '/share/translations/keepassxc_en.ts'
on the 'pt_BR' language.
2021-09-28 19:16:01 +02:00
transifex-integration[bot]
fd2992913e Apply translations in pl
translation completed for the source file '/share/translations/keepassxc_en.ts'
on the 'pl' language.
2021-09-28 19:07:12 +02:00
transifex-integration[bot]
1c529cbd20 Apply translations in el
translation completed for the source file '/share/translations/keepassxc_en.ts'
on the 'el' language.
2021-09-28 17:27:35 +02:00
transifex-integration[bot]
c766f9c77d Apply translations in hu
translation completed for the source file '/share/translations/keepassxc_en.ts'
on the 'hu' language.
2021-09-28 16:46:01 +02:00
Janek Bevendorff
62ec2e8331 Update translations 2021-09-28 15:50:27 +02:00
Janek Bevendorff
9735e43ecb Update source language file 2021-09-28 15:50:27 +02:00
Janek Bevendorff
3a0ec33c56 Update TX config and merge update.sh into release-tool 2021-09-28 15:50:27 +02:00
Janek Bevendorff
d375ad14d7 Rename translation files 2021-09-28 15:50:27 +02:00
transifex-integration[bot]
973557a9f9
Translate /share/translations/keepassx_en.ts in uk (#6984)
at least 80% translated for the source file '/share/translations/keepassx_en.ts'
on the 'uk' language.

 Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2021-09-28 10:05:40 +02:00
transifex-integration[bot]
3cb4ac37ba
Translate /share/translations/keepassx_en.ts in tr (#6983)
at least 80% translated for the source file '/share/translations/keepassx_en.ts'
on the 'tr' language.

 Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2021-09-28 10:05:29 +02:00
transifex-integration[bot]
6d79d2ffc4
Translate /share/translations/keepassx_en.ts in th (#6982)
at least 80% translated for the source file '/share/translations/keepassx_en.ts'
on the 'th' language.

 Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2021-09-28 10:05:07 +02:00
transifex-integration[bot]
2ed2b7118f
Translate /share/translations/keepassx_en.ts in sv (#6981)
at least 80% translated for the source file '/share/translations/keepassx_en.ts'
on the 'sv' language.

 Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2021-09-28 10:05:00 +02:00
transifex-integration[bot]
59ebb360e2
Translate /share/translations/keepassx_en.ts in es (#6980)
at least 80% translated for the source file '/share/translations/keepassx_en.ts'
on the 'es' language.

 Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2021-09-28 10:04:53 +02:00
transifex-integration[bot]
18183ebac0
Translate /share/translations/keepassx_en.ts in sk (#6979)
at least 80% translated for the source file '/share/translations/keepassx_en.ts'
on the 'sk' language.

 Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2021-09-28 10:04:46 +02:00
transifex-integration[bot]
fac4d4c85c
Translate /share/translations/keepassx_en.ts in sr (#6978)
at least 80% translated for the source file '/share/translations/keepassx_en.ts'
on the 'sr' language.

 Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2021-09-28 10:04:40 +02:00
transifex-integration[bot]
b0821c0435
Translate /share/translations/keepassx_en.ts in ru (#6977)
at least 80% translated for the source file '/share/translations/keepassx_en.ts'
on the 'ru' language.

 Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2021-09-28 10:04:33 +02:00
transifex-integration[bot]
2776758f14
Translate /share/translations/keepassx_en.ts in ro (#6976)
at least 80% translated for the source file '/share/translations/keepassx_en.ts'
on the 'ro' language.

 Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2021-09-28 10:04:26 +02:00
transifex-integration[bot]
163fffe8f4
Apply translations in pt_PT (#6975)
at least 80% translated for the source file '/share/translations/keepassx_en.ts'
on the 'pt_PT' language.

 Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2021-09-28 10:04:19 +02:00
transifex-integration[bot]
8bf0c8f800
Apply translations in pt_BR (#6974)
at least 80% translated for the source file '/share/translations/keepassx_en.ts'
on the 'pt_BR' language.

 Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2021-09-28 10:04:13 +02:00
transifex-integration[bot]
3fe4ff93e1
Translate /share/translations/keepassx_en.ts in pl (#6973)
at least 80% translated for the source file '/share/translations/keepassx_en.ts'
on the 'pl' language.

 Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2021-09-28 10:04:06 +02:00