Commit Graph

132 Commits

Author SHA1 Message Date
Janek Bevendorff
70e62d90db Add "Restore Entries" feature 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
transifex-integration[bot]
16bf725dc4
Translate /share/translations/keepassx_en.ts in ko (#6972)
at least 80% translated for the source file '/share/translations/keepassx_en.ts'
on the 'ko' 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:03:57 +02:00
transifex-integration[bot]
afa58b79a9
Translate /share/translations/keepassx_en.ts in ja (#6971)
at least 80% translated for the source file '/share/translations/keepassx_en.ts'
on the 'ja' 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:03:50 +02:00
transifex-integration[bot]
5ba0639f47
Translate /share/translations/keepassx_en.ts in it (#6970)
at least 80% translated for the source file '/share/translations/keepassx_en.ts'
on the 'it' 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:03:44 +02:00
transifex-integration[bot]
a8b65741ea
Translate /share/translations/keepassx_en.ts in id (#6969)
at least 80% translated for the source file '/share/translations/keepassx_en.ts'
on the 'id' 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:03:36 +02:00
transifex-integration[bot]
7c9109d973
Translate /share/translations/keepassx_en.ts in hu (#6968)
at least 80% translated for the source file '/share/translations/keepassx_en.ts'
on the 'hu' 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:03:29 +02:00
transifex-integration[bot]
064893830d
Translate /share/translations/keepassx_en.ts in he (#6967)
at least 80% translated for the source file '/share/translations/keepassx_en.ts'
on the 'he' 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:03:21 +02:00
transifex-integration[bot]
6760a7f5ca
Translate /share/translations/keepassx_en.ts in el (#6966)
at least 80% translated for the source file '/share/translations/keepassx_en.ts'
on the 'el' 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:03:14 +02:00
transifex-integration[bot]
da2d86789e
Translate /share/translations/keepassx_en.ts in de (#6965)
at least 80% translated for the source file '/share/translations/keepassx_en.ts'
on the 'de' 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:03:05 +02:00
transifex-integration[bot]
e2b4900541
Apply translations in fr_CA (#6964)
at least 80% translated for the source file '/share/translations/keepassx_en.ts'
on the 'fr_CA' 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:02:57 +02:00
transifex-integration[bot]
8bc75c1840
Translate /share/translations/keepassx_en.ts in fr (#6963)
at least 80% translated for the source file '/share/translations/keepassx_en.ts'
on the 'fr' 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:02:51 +02:00
transifex-integration[bot]
2c63f2f8c5
Translate /share/translations/keepassx_en.ts in fi (#6962)
at least 80% translated for the source file '/share/translations/keepassx_en.ts'
on the 'fi' 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:02:43 +02:00
transifex-integration[bot]
9a669cc17f
Translate /share/translations/keepassx_en.ts in et (#6961)
at least 80% translated for the source file '/share/translations/keepassx_en.ts'
on the 'et' 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:02:36 +02:00