-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Add support for portable config settings #645
Conversation
632472a
to
7e76e2f
Compare
src/core/Config.cpp
Outdated
userPath = homePath; | ||
userPath += "/.config"; | ||
// Check if portable config is present. If not, find it in user's directory | ||
QString portablePath = QDir::currentPath() + "/keepassxc.ini"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@droidmonkey doesn't QDir::currentPath
return the path from which the executable was launched, and not necessarily the path of the executable itself? Using QCoreApplication::applicationDirPath()
would return the path of the executable instead.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point, I will make that correction! I wish the documentation was a little more explicit.
- Added YubiKey 2FA integration for unlocking databases [#127] - Added TOTP support [#519] - Added CSV import tool [#146, #490] - Added KeePassXC CLI tool [#254] - Added diceware password generator [#373] - Added support for entry references [#370, #378] - Added support for Twofish encryption [#167] - Enabled DEP and ASLR for in-memory protection [#371] - Enabled single instance mode [#510] - Enabled portable mode [#645] - Enabled database lock on screensaver and session lock [#545] - Redesigned welcome screen with common features and recent databases [#292] - Multiple updates to search behavior [#168, #213, #374, #471, #603, #654] - Added auto-type fields {CLEARFIELD}, {SPACE}, {{}, {}} [#267, #427, #480] - Fixed auto-type errors on Linux [#550] - Prompt user prior to executing a cmd:// URL [#235] - Entry attributes can be protected (hidden) [#220] - Added extended ascii to password generator [#538] - Added new database icon to toolbar [#289] - Added context menu entry to empty recycle bin in databases [#520] - Added "apply" button to entry and group edit windows [#624] - Added macOS tray icon and enabled minimize on close [#583] - Fixed issues with unclean shutdowns [#170, #580] - Changed keyboard shortcut to create new database to CTRL+SHIFT+N [#515] - Compare window title to entry URLs [#556] - Implemented inline error messages [#162] - Ignore group expansion and other minor changes when making database "dirty" [#464] - Updated license and copyright information on souce files [#632] - Added contributors list to about dialog [#629]
Description
Implements #231. Config class checks for presence of keepassxc.ini in the run directory prior to checking the user's folder. If no ini file was found, the app proceeds as before with the user's stored config.
Motivation and context
When deploying keepassxc as a portable app (.zip or .tar.gz) we will pre-package a keepassxc.ini config such that one is never created in the user's directory on first run. All other distribution methods will use the original behavior prior to this PR.
How has this been tested?
Manually
Types of changes
Checklist:
-DWITH_ASAN=ON
. [REQUIRED]