Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/keepassxreboot/keepassxc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-12-06Improve CSV export and import capabilityJonathan White
* Fixes #3541 * CSV export now includes TOTP settings, Entry Icon (database icon number only), Modified Time, and Created Time. * CSV import properly understands time in ISO 8601 format and Unix Timestamp. * CSV import will set the TOTP settings and entry icon based on the chosen column.
2020-05-15Significantly enhance hardware key robustnessJonathan White
* Significantly improve user experience when using hardware keys on databases in both GUI and CLI modes. Prevent locking up the YubiKey USB interface for prolonged periods of time. Allows for other apps to use the key concurrently with KeePassXC. * Improve messages displayed to user when finding keys and when user interaction is required. Output specific error messages when handling hardware keys during database read/write. * Only poll for keys when previously used or upon user request. Prevent continuously polling keys when accessing the UI such as switching tabs and minimize/maximize. * Add support for using multiple hardware keys simultaneously. Keys are identified by their serial number which prevents using the wrong key during open and save operations. * Fixes #4400 * Fixes #4065 * Fixes #1050 * Fixes #1215 * Fixes #3087 * Fixes #1088 * Fixes #1869
2020-05-14CLI: Use stderr for password promptJonathan White
Fixes #3398. Convert to QTextStream for all CLI IO and greatly improve CLI tests * Completely overhaul CLI tests to be much more streamlined and easy to read. Removed unnecessary code blocks by using existing functions. Co-authored-by: Emma Brooks <me@pluvano.com>
2020-05-07Make CLI clip test more reliableJanek Bevendorff
2020-04-09[CLI] On Unix, copy to clipboard using wl-clipboard if xclip is not available.Tezkerek
2020-03-19CLI: Cleanup create options (#4313)louib
* 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-01-30Add --username option to Clip command. (#3947)James Ring
* 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-28CLI: set decryption time on create.louib
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-27Adding db-info CLI command. (#4231)louib
This adds a basic db-show CLI command, to display the information related to a database.
2019-12-22CLI: Fix keyfile from/to parameter collision in merge commandWizz
Rename 'k' to 'f' because 'k' is already used to specify the key for the target database of the merge * Remove short -f option from keepassxc-cli.1 * Remove -f option from keepassxc-cli merge * Add test cases covering cli options for merge * Add functional test for merge with keys
2019-11-23Run code formatterBalazs Gyurak
2019-11-02CLI: do not display protected fields by default.louib
2019-10-30Fix building without featuresJonathan White
* Fix #3684 - Include YubiKey headers in CLI tests * Skip building testguibrowser if browser integration is disabled * Cleanup test CMakeLists
2019-10-21Improve Database and CLI testsJonathan White
2019-10-17Add support for multiple URLs in an entryvarjolintu
* 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-16CLI: Add Import XML command (#3572)Jacob Sachs
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-09-28CLI: Add interactive session mode command `open`James Ring
This change adds a GNU Readline-based interactive mode to keepassxc-cli. If GNU Readline is not available, commands are just read from stdin with no editing or auto-complete support. DatabaseCommand is modified to add the path to the current database to the arguments passed to executeWithDatabase. In this way, instances of DatabaseCommand do not have to prompt to re-open the database after each invocation, and existing command implementations do not have to be changed to support interactive mode. This change also introduces a new way of handling commands between interactive and batch modes. * Fixes #3224. * Ran make format
2019-09-23CLI: Add group commandslouib
2019-09-23CLI: Add Yubikey unlock support louib
2019-09-22CLI: Export database as CSVlouib
* Changed `Extract` to `Export` to support additional formats * Allow database expot as CSV. Added a `--format` option to the `Export` command for that, which defaults to xml, so the current behavior is unchanged. *The `CsvExporter` had to be refactored a bit, but nothing major. It can now print to a file or return a string.
2019-09-22Additional database file checks in cli/Utils.unlockDatabaseJames Ring
Avoids prompting the user for a password if unlocking is likely to fail due to some problem with the database file (i.e. not found, not a file, not readable). Add unit tests.
2019-08-31CLI password generation options cleanup (#3275)louib
Summary of changes: * Extract function for creating password generator from options into `Generate` command. This function is now reused in `Add` and `Edit` commands. * Updated manpage with missing password generation options. * Updated manpage with missing longer forms of password generation options. * Added unit tests for new password generation options in `Add` and `Edit`. * Handle case when `-g` and `-p` options are used at the same time. This PR adds password generation functionalities while reducing code duplication, but at the cost of 2 small breaking changes: * The password generation option for `Add` and `Edit` for specifying password length is now `-L` instead of `-l`, to not clash with the `-l --lower` option. * The `-u` shorthand for the `--upper` option has to be removed, to not clash with the `-u --username` option. * Add -U variant for uppercase.
2019-06-25CLI: add 'analyze' subcommand for offline HIBP breach checksJonathan White
This new subcommand checks all passwords in the given database against a given list of SHA-1 password hashes. Such lists are available from the "Have I Been Pwned" project at https://haveibeenpwned.com/Passwords. Note that this support offline checking only. The HIBP project also provides a web API for checking specific hash ranges; this is not currently supported.
2019-06-19Add CLI --dry-run option for merge (#3254)louib
2019-06-19CLI: Add 'flatten' option to the 'ls' command (#3276)Balazs Gyurak
* Fixes #925 * Add 'flatten' option to CLI ls command * Add test for Group::hierarchy() and man page for ls --flatten * Rename group sort test to align with others
2019-06-15✨✨ CLI Command cleanup ✨✨louib
This PR cleans up the `Command` classes in the CLI, introducing a `DatabaseCommand` class for the commands operating on a database, and a `getCommandLineParser` command to centralize the arguments parsing and validation. The opening of the database based on the CLI arguments and options is now centralized in `DatabaseCommand.execute`, making it easy to add new database opening features (like YubiKey support for the CLI). Also a couple of bugs fixed: * `Create` was still using `stdout` for some error messages. * `Diceware` and `Generate` were not validating that the word count was an integer. * `Diceware` was also using `stdout` for some error messages.
2019-05-20Code formattingJonathan White
2019-04-08Improved error messages when opening databaseJonathan White
* Reduced wording and confusion * Streamlined delivery format * Fix #813
2019-03-24Adding --no-password option to CLIJonathan White
I also added tests for the --key-file option, which was untested.
2019-02-15Fix quiet option for Merge (CLI) (#2695)louib
2019-01-29Performed project-wide code formattingJonathan White
* Updated format CMake command to properly ignore new directories and files * Added output when command is run * Resolves #2623
2019-01-04Fixed issues detected by test suite and ciChristian Kieschnick
Fixed serialization for KeeShareSettings::ScopedCertificate Fixed tests for KeeShareSettings serialization Fixed tests Cli features - tests translation for recycle bin since the tests are executed with the system locale Fixed initialization issue in ShareObserver
2018-12-29Multiple macOS fixes and include keepassxc-cli in DMG (#2165)JTL
* Fixes including keepassxc-cli when building KeePassXC dmg on Mac. resolves #1697 * Fix Qt search path and Properties display on macOS * Simplify packaging POST_BUILD fixups * Various fixes to get cli to run on macos * Correct cli tests on macOS * Several macOS related GUI test fixes
2018-12-20Add create command to keepassxc-cli (#2540)louib
* Add tests for CLI::Create
2018-12-11Move unlockDatabase to CLI/Utils (#2539)louib
Move unlockDatabase from Database to to cli/Utils
2018-11-29Restore correct formattingGianluca Recchia
Many lines were not conformant with the project's formatting rules. This patch should fix all formatting and whitespace issues in the code base. A clang-format directive was put around the connect() calls containing SIGNALs and SLOTs whose signatures would be denormalized because of the formatting rules.
2018-11-28Adding --quiet option to the CLI. (#2507)louib
2018-11-22Refactor Database and Database widgets (#2491)Janek Bevendorff
The Database, DatabaseWidget, and DatabaseTabWidget classes share many responsibilities in inconsistent ways resulting in impenetrable and unmaintainable code and a diverse set of bugs and architecture restrictions. This patch reworks the architecture, responsibilities of, and dependencies between these classes. The core changes are: * Move loading and saving logic from widgets into the Database class * Get rid of the DatabaseManagerStruct and move all the information contained in it into the Database * Let database objects keep track of modifications and dirty/clean state instead of handing this to external widgets * Move GUI interactions for loading and saving from the DatabaseTabWidget into the DatabaseWidget (resolves #2494 as a side-effect) * Heavily clean up DatabaseTabWidget and degrade it to a slightly glorified QTabWidget * Use QSharedPointers for all Database objects * Remove the modifiedImmediate signal and replace it with a markAsModified() method * Implement proper tabName() method instead of reading back titles from GUI widgets (resolves #1389 and its duplicates #2146 #855) * Fix unwanted AES-KDF downgrade if database uses Argon2 and has CustomData * Improve code This patch is also the first major step towards solving issues #476 and #2322.
2018-11-10CLI Merge: Only save database file when modified. (#2466)louib
* Merge: detect if database was changed. * Adding unit test. * Only saving on change.
2018-11-10CLI: add commands to show and copy TOTP to clipboard (#2454)Felix Fontein
* Add CLI commands show --totp and totp-clip for handling TOTPs, resolves #2429. * Adding tests for new CLI TOTP commands * Update keepassxc-cli man page.
2018-10-28Fix stdin/stdout encoding on Windows. (#2425)Janek Bevendorff
QTextStream uses the system default locale, but this breaks in various situations: (1) It does not work on the native Windows shell (cmd.exe, Powershell), since the default Windows locale is Windows-1252, but the shell uses Windows-850. (2) It also breaks on *nix systems where the locale is Latin1 or C, which is the case for most CI systems or build servers. We allow overriding the detected codec by setting the ENCODING_OVERRIDE environment variable, but otherwise prefer Windows-850 on Windows and UTF-8 on any other system, even if LANG is set to something else. This resolves #2413
2018-10-19Implement review feedbackJanek Bevendorff
2018-10-19Fix tests on WindowsJanek Bevendorff
2018-10-19Add CLI tests and improve coding style and i18nJanek Bevendorff
The CLI module was lacking unit test coverage and showed some severe coding style violations, which this patch addresses. In addition, all uses of qCritical() with untranslatble raw char* sequences were removed in favor of proper locale strings. These are written to STDERR through QTextStreams and support output redirection for testing purposes. With this change, error messages don't depend on the global Qt logging settings and targets anymore and go directly to the terminal or into a file if needed. This patch also fixes a bug discovered during unit test development, where the extract command would just dump the raw XML contents without decrypting embedded Salsa20-protected values first, making the XML export mostly useless, since passwords are scrambled. Lastly, all CLI commands received a dedicated -h/--help option.