0
0
mirror of https://github.com/keepassxreboot/keepassxc.git synced 2024-09-20 04:12:15 +02:00
KeePassXC is a cross-platform community-driven port of the Windows application “Keepass Password Safe”.
Go to file
Janek Bevendorff d612cad09a
Refactor Database and Database widgets (#2491)
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-22 11:47:31 +01:00
.github Add ClangFormat rules 2018-03-31 12:15:09 -04:00
.tx Moved transifex to new url 2016-11-11 16:30:57 -05:00
ci/trusty Add CLI tests and improve coding style and i18n 2018-10-19 21:49:54 +02:00
cmake Reformat CMakeLists.txt files 2018-10-19 22:16:44 +02:00
docs Added Linux, MacOS, and Windows support for Tor Browser. (#2387) 2018-10-30 11:07:59 -04:00
share Add search help pop-up 2018-11-17 09:04:15 -05:00
src Refactor Database and Database widgets (#2491) 2018-11-22 11:47:31 +01:00
tests Refactor Database and Database widgets (#2491) 2018-11-22 11:47:31 +01:00
utils Improve building of macOS target 2017-10-21 10:12:28 -06:00
.clang-format Add ClangFormat rules 2018-03-31 12:15:09 -04:00
.gitattributes Add github-linguist language hints. 2017-02-15 16:36:02 -05:00
.gitignore Add Git tracking ignore rules for snapcraft 2018-10-16 14:27:31 -04:00
CHANGELOG Bumped version number to 2.4.0-preview 2018-09-16 10:28:39 -04:00
CMakeLists.txt Reformat CMakeLists.txt files 2018-10-19 22:16:44 +02:00
COPYING Replace all .svgz in paths to .svg (#2405) 2018-10-24 08:08:37 -04:00
Dockerfile Add CLI tests and improve coding style and i18n 2018-10-19 21:49:54 +02:00
INSTALL.md Update INSTALL.md (#2299) 2018-09-18 22:45:44 -04:00
LICENSE.BOOST-1.0 Display git revision in about dialog. 2015-07-18 13:14:13 +02:00
LICENSE.BSD Add crypto classes and tests. Link to libgcrypt. 2010-09-11 19:49:30 +02:00
LICENSE.CC0 Fix database icons license issues. 2013-03-23 21:50:23 +01:00
LICENSE.GPL-2 Add "LICENSE" prefix to license filenames. 2010-08-15 12:33:42 +02:00
LICENSE.GPL-3 Add "LICENSE" prefix to license filenames. 2010-08-15 12:33:42 +02:00
LICENSE.LGPL-2.1 Fix typo in filename. 2013-03-24 14:16:34 +01:00
LICENSE.LGPL-3 Add LGPL-3 license text for the Oxygen icons. 2013-03-24 11:54:20 +01:00
LICENSE.MIT Fix macOS building and code signing, resolves #1344 2018-01-13 23:49:24 +01:00
LICENSE.NOKIA-LGPL-EXCEPTION Add support for gzip compressed databases. 2010-09-23 22:27:59 +02:00
README.md Correct CI badges in readme 2018-11-17 08:28:23 -05:00
release-tool Migrate to linuxdeploy for building AppImages 2018-09-29 13:12:09 +02:00
snapcraft.yaml Multiple fixes to MainWindow and some cleanup 2018-10-20 15:30:48 +02:00
sonar-project.properties Add support for SonarCloud analysis 2018-06-20 20:37:50 -04:00

KeePassXC

TeamCity Build Status codecov

About KeePassXC

KeePassXC is a cross-platform community fork of KeePassX. Our goal is to extend and improve it with new features and bugfixes to provide a feature-rich, fully cross-platform and modern open-source password manager.

Installation

The KeePassXC QuickStart gets you started using KeePassXC on your Windows, Mac, or Linux computer using pre-compiled binaries from the downloads page.

Additionally, individual Linux distributions may ship their own versions, so please check out your distribution's package list to see if KeePassXC is available.

Additional features compared to KeePassX

For a full list of features and changes, read the CHANGELOG document.

Building KeePassXC

Detailed instructions are available in the Build and Install page or on the Wiki page.

Contributing

We are always looking for suggestions how to improve our application. If you find any bugs or have an idea for a new feature, please let us know by opening a report in our issue tracker on GitHub or join us on IRC on freenode channels #keepassxc or #keepassxc-dev.

You can of course also directly contribute your own code. We are happy to accept your pull requests.

Please read the CONTRIBUTING document for further information.

Note about KeePassHTTP

The KeePassHTTP protocol is not a highly secure protocol. It has a certain flaw which could allow an attacker to decrypt your passwords should they manage to impersonate the web browser extension from a remote address.

(See here and here).

To minimize the risk, KeePassXC strictly limits communication between itself and the browser plugin to your local computer (localhost). This makes your passwords quite safe, but as with all open source software, use it at your own risk!