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
2021-11-22Correctly set KDBX envelope versionJanek Bevendorff
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-07-14Optimize includes across code basepeter
2021-02-20Address translation feedback from TransifexJonathan White
2019-02-13Refactor database extraction (#2698)louib
Previously, extracting the XML from a database was done with the `saveXml` attribute in the `KeePass2Reader` class. This had several unfortunate consequences: * The `KdbxReader` class had to import the `KdbxXmlWriter` class in order to perform the export (bad separation of concerns); * The CLI database unlocking logic had to be duplicated only for the `Extract` command; * The `xmlData` had to be stored in the `KeePass2Reader` as a temporary result. * Lots of `setSaveXml` functions were implemented only to trickle down this functionality. Also, the naming of the `saveXml` variable was not really helpful to understand it's role. Overall, this change will make it easier to maintain and expand the CLI database unlocking logic (for example, adding a `--no-password` option as requested in https://github.com/keepassxreboot/keepassxc/issues/1873) It also opens to door to other types of extraction/exporting (for example exporting to CSV, as requested in https://github.com/keepassxreboot/keepassxc/issues/2572)
2018-12-02KeePass2Reader: fix error message logic (#2523)Carlo Teubner
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-10-31Reduce unnecessary copies using move semanticsGianluca Recchia
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.
2018-09-25Add a new database settings wizardJanek Bevendorff
This patch implements a new database wizard to guide users through the process of setting up a new database and choosing sane encryption settings. It also reimplements the master key settings to be more user-friendly. Users can now add, change, or remove individual composite key components instead of having to set all components at once. This avoids confusion about a password being reset if the user only wants to add a key file. With these changes comes a major refactor of how database composite keys and key components are handled. Copying of keys is prohibited and each key exists only once in memory and is referenced via shared pointers. GUI components for changing individual keys are encapsulated into separate classes to be more reusable. The password edit and generator widgets have also been refactored to be more reusable.
2018-03-31Formatting the code.Louis-Bertrand Varin
2018-01-13Refactor database readers/writers and XML handlingJanek Bevendorff
* Refactor Kdbx*Reader * Refactor KdbxWriter * Refactor KdbxXmlReader * Refactor KdbxXmlWriter
2018-01-13Fix coding style and GUI testJanek Bevendorff
2018-01-13Implements KDBX4 format with Argon2 KDFJonathan White
* Adds KDBX4 reader/writer interfaces * Adds KDBX4 XML reader/write interfaces * Implements test cases for KDBX4 * Fully compatible with KeePass2 * Corrects minor issues with Argon2 KDF
2018-01-13Formatting and consistency fixesJonathan White
2018-01-13Refactor Endian namespaceJanek Bevendorff
2018-01-13Rename KeePass2{,Xml}{R,W} to Kdbx3{,Xml}{R,W}, and add a redirection classangelsl
This class will in future select Kdbx4{R,W} as appropriate.
2018-01-13Add support for various algorithms for kdbx4angelsl
* Add SHA512 support to CryptoHash * Add ChaCha20 support * Add HMAC support * Add new HmacBlockStream, used in KDBX 4 * Add support for ChaCha20 protected stream
2018-01-13Pull out KDFs into their own class hierarchyangelsl
In preparation for multiple KDFs in KDBX 4
2017-07-20Add ellipsisJosh Soref
The rule for ellipsis is simple: If the described action requires interruption (typically by a dialog) which requires user input, then ellipsis should be used to indicate that triggering the menu will not immediately trigger the desired action. Examples: "Save" does not need an ellipsis in general (when the file name is known) "Open..." needs an ellipsis, as one must select a file to open. "Save as..." needs an ellipsis, as in order to save the file as something, one must select a file name. "About" does not need an ellipsis, while it may open a dialog, that dialog is the desired result.
2017-06-14Update and fix copyright headersthez3ro
2017-02-24Use QSharedPointer instead of cloning YkChallengeResponseKey and make it a ↵Janek Bevendorff
QObject to allow emitting signals
2017-02-15Merge branch 'develop' into feature/yubikeyJanek Bevendorff
2017-01-28Add support for Twofish in KeePass2 codeTimothy Redaelli
2017-01-15Merge branch 'develop' into feature/yubikeyJanek Bevendorff
2017-01-14spelling: transformJosh Soref
2017-01-09YubiKey: Clean-up master seed challengeKyle Manna
* Tweak the logic so it more closely resembles other code (i.e. trasnformKey()). Matches existing style better. * Save the challengeResponseKey in the database structure so that it can be referred to later (i.e. database unlocking). Signed-off-by: Kyle Manna <kyle@kylemanna.com>
2017-01-09challenge: Propagate failed challenge to callerKyle Manna
* If a removed Yubikey is to blame, re-inserting the Yubikey won't resolve the issue. Hot plug isn't supported at this point. * The caller should detect the error and cancel the database write. Signed-off-by: Kyle Manna <kyle@kylemanna.com>
2017-01-08format: Add challenge response result to final key hashKyle Manna
* The challengeMasterSeed() function return empty if not present maintaining backwards compatability. * This commit is where the challenge response result is computed into the final key used to encrypt or decrypt the database. Signed-off-by: Kyle Manna <kyle@kylemanna.com>
2016-10-03Merge branch '2.0'Felix Geyer
2016-09-30Fix typo.Felix Geyer
# Conflicts: # src/format/KeePass2Reader.cpp
2016-04-09Fix typo.Felix Geyer
2016-01-29Merge branch '2.0'Felix Geyer
2016-01-29Add repair functionality to strip invalid XML chars.Felix Geyer
Refs #392
2015-10-11Use C++11 keywords directly.Felix Geyer
2015-09-26Merge branch '2.0'Felix Geyer
2015-09-24Show a better message when trying to open an old database format.Felix Geyer
Refs #338
2015-09-12Make C++11 mandatory.Felix Geyer
2015-05-14Initialize some instance variables in ctor.Felix Geyer
Discovered by Coverity. Most likely doesn't fix any actual bug but better be safe.
2015-05-10Catch and handle all errors from libgcrypt.Felix Geyer
2013-10-03Drop Qt module name from include statements.Felix Geyer
This is a preparation to be able to build KeePassX against Qt 5.
2013-06-30Improve error messages for reading and wriiting databases.Felix Geyer
Closes #7
2012-10-12Check if all required database headers were present.Felix Geyer
2012-09-26Add support for database format 3.01 (HeaderHash).Felix Geyer
Add test for the format 3.00 and upgrade Compressed.kdbx, NonAscii.kdbx and ProtectedStrings.kdbx to 3.01. Add a test for an incorrect HeaderHash.
2012-07-23Return Q_NULLPTR instead of 0 when the return type is a pointer.Felix Geyer
2012-05-14Coding style improvements.Felix Geyer
2012-05-11New TODO comment style.Felix Geyer
Qt Creator 2.5 is able to parse those.
2012-04-21Support KeePass format 3.00 (used by KeePass2 >= 2.15).Felix Geyer
Closes #6 Attachments are now stored in a pool under Metadata instead of in entries. The protected flag of attachments isn't supported anymore. New metadata attributes: color, historyMaxItems and historyMaxSize. Dropped metadata attribute: autoEnableVisualHiding.
2012-04-19Improve code style.Felix Geyer
2012-04-11Add modified signals for metadata.Florian Geyer
2012-01-06Proper error handling for reading databases.Felix Geyer