Commit Graph

3495 Commits

Author SHA1 Message Date
Jonathan White
0c587999c6
Code quality updates for 2.4.0 (#2709)
* Minor code quality fixes found by Codacy
* Fix unused variables when WITH_XC_NETWORKING is OFF
* Fix #2684, resolve entry references from the root group
* Fix #2697 and Fix #2699, listen specifically for 
WM_QUERYENDSESSION and WM_ENDSESSION on 
Windows to gracefully shutdown KeePassXC
* Cleanup proxy code and add explicit closure for
shutdown messages
2019-02-18 08:26:56 -05:00
Jonathan White
fa459b0d1e
Merge branch 'release/2.4.0' into develop 2019-02-15 09:01:09 -05:00
louib
fa3c959212 Fix quiet option for Merge (CLI) (#2695) 2019-02-15 08:56:29 -05:00
Jonathan White
8cf3ee866e
Updated contributors in about dialog (#2683)
* Updated contributors and translators in about dialog

* Move contributor and maintainer text from
AboutDialog.ui to AboutDialog.cpp in static
strings
2019-02-15 08:56:11 -05:00
louib
504904a414 Refactor database extraction (#2698)
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)
2019-02-13 19:24:54 +01:00
Jonathan White
877a0924c1 Icon cleanup
* Shrank large SVG's using Inkscape 'Optimized SVG'
* Added pngcrush script to 'make icons'
* Ran 'make icons'
2019-02-05 16:09:17 -05:00
Jonathan White
79b8647fd7 Updated kdbx file icon
* Tweaked share/icons/svg/application-x-keepassxc.svg for better scaling
* Added ico build script for Windows
2019-02-05 16:09:17 -05:00
Jonathan White
8e596165ab Add MacOS entitlements to fix TouchID integration
* Fix #2676
2019-02-05 16:09:17 -05:00
Jonathan White
b4de4369eb Fix favicon corruption on loading database
* Fix #2251 and Fix #2674
* Icons stored with duplicate UUID's will be
assigned a new UUID on load. This causes entries
using the duplicate UUID to display the default icon.
2019-02-05 16:09:17 -05:00
Jonathan White
cc932eff30 Fix issues with TOTP
* otp setting is properly loaded and saved (Fix #2671)
* Removing the key from TOTP Setup clears all TOTP
settings for entry
* Santize TOTP key prior to storing in OTP format
2019-02-05 16:09:17 -05:00
Jonathan White
d3a424cc74 Correct window transitions from browser plugin
* Eliminated multiple state variables
* Fix #1643, window is brought to front
2019-02-05 16:09:17 -05:00
Jonathan White
ca39f6e159 Fix Yubikey detection in Database Settings/Wizard
* Fixes #2608
2019-02-05 16:09:17 -05:00
Jonathan White
c9f91b2de5 Various Windows Build Fixes
* Fix #1846, kdbx is registered to KeePassXC with
an icon (locked database icon)
* Fix #2489, OpenSSL and Crypto libraries are packaged
to support https connections
* Fix minor typo in KeeShare (missing "?")
2019-02-05 16:09:17 -05:00
Aetf
e60f4278f7 Fix group signals (#2670)
* Fix group not emitting signals when modified through copyDataFrom
* Fix Group::GroupData equals wrongly compares timeInfo
2019-02-01 17:03:28 -05:00
Jonathan White
42cfe01ad2
Fix WIX packaging with beta builds 2019-01-30 22:26:33 -05:00
Jonathan White
5a34f90319
Update translations
* Corrected use of QCoreApplication::translate -> QObject::tr
* Corrected plural usage in EntryAttachmentsWidget.cpp
2019-01-30 20:54:35 -05:00
Jonathan White
8bfc539234
Merge pull request #2659 from keepassxreboot/cmake_cleanup
Cleanup CMakeFiles and revert Dockerfile changes
2019-01-30 19:45:41 -05:00
Jonathan White
b56ef2b758
Fix typo in release-tool 2019-01-30 16:25:45 -05:00
Jonathan White
37f63406c4
Softer warning message for pre-release builds 2019-01-30 15:17:50 -05:00
Jonathan White
c8a99ee3a4
Revert commit c682b4 because it broke appimages 2019-01-30 15:03:07 -05:00
Jonathan White
21d1e981ca
Cleanup CMakeFiles prior to release
* Remove Git revision finding code in favor of a simple command call: git rev-parse --short=7 HEAD
* Added GIT_HEAD_OVERRIDE to explicitly define the hash for the current commit in case git is not available 
* Made WIX default over NSIS in release tool 
* Rename version.h to git-info.h
2019-01-30 15:03:03 -05:00
Jonathan White
7f3ce65d96
Merge pull request #2610 from brainplot/performance-fixes
Performance fixes
2019-01-30 10:26:37 -05:00
Gianluca Recchia
0dac53df54
Restore formatting 2019-01-30 09:50:11 -05:00
Gianluca Recchia
c01e14c879
Wrap static literal strings with QStringLiteral
The strings in the deprecation map are never modified in the program and
they're known at compile time. An internal resizable buffer is not
needed for these strings so we can allocate them statically.
2019-01-30 09:50:11 -05:00
Gianluca Recchia
2cf837801d
Avoid creation of temporary containers 2019-01-30 09:50:10 -05:00
Gianluca Recchia
39b96c13e8
Avoid copying QSharedPointers when not needed 2019-01-30 09:50:10 -05:00
Gianluca Recchia
6df9c6f9b2
Remove unused variable 2019-01-30 09:50:10 -05:00
Gianluca Recchia
ffea029001
Replace QMap with QHash when the key is a pointer
QHash gives faster lookups than QMap when the key is a pointer.
2019-01-30 09:50:10 -05:00
Gianluca Recchia
9a5bbea2e4
Use QFileInfo's exists() static method
The exists() static method is documented to be faster than its
equivalent member method.

See https://doc.qt.io/qt-5/qfileinfo.html#exists-1
2019-01-30 09:50:06 -05:00
Sami Vänttinen
891f67a1cd Select group when adding credentials from browser extension (#2637) 2019-01-30 09:48:22 -05:00
Weslly
779b529da2 Update checking feature (#2648)
* Check on startup (toggleable setting) and manually
* Option to check for pre-releases (eg, 2.4.0-beta1)
* Only included if WITH_XC_NETWORKING is enabled
2019-01-30 09:11:50 -05:00
Jonathan White
5c9b062f13
Remove redundant issue templates 2019-01-28 23:29:33 -05:00
Jonathan White
1989b86c60
Add release preview bug report & revert previous commit 2019-01-28 23:25:46 -05:00
Jonathan White
f8b21d8d16
Add release preview bug report template 2019-01-28 23:18:55 -05:00
Constantine Grantcharov
c682b48fb9 Refactoring of Dockerfile
- reorganized the libraries for better readability
- added logic to clean-up apt-cache after fetch inorder to shrink layer
size; in-line with Docker best practices
2019-01-28 22:46:42 -05:00
Louis-Bertrand Varin
d74c8a30db Update README after KeePassHTTP deprecation. 2019-01-28 22:40:44 -05:00
Jonathan White
1d24b52fa6 Allow for KDF seeds between 8 and 32 bytes
Correcting undocumented feature from KeePass2
Fixes #2581
2019-01-28 22:40:11 -05:00
Jonathan White
f446774605 Prevent use of wayland theme on Linux
* Wayland theme is buggy yet enforced by default
on Qt 5.11+ on Gnome desktop environment
* Resolves #2006
2019-01-28 22:39:20 -05:00
Jonathan White
7e1b16250c Performed project-wide code formatting
* Updated format CMake command to properly
ignore new directories and files
* Added output when command is run
* Resolves #2623
2019-01-28 22:38:59 -05:00
Jonathan White
c74664097b
Fix crash when canceling save of new database (#2601)
* Fix crash when canceling save of new database
* Standardize use of DatabaseWidget::save() function
* Close new database tabs that are "discarded"
* Fixes #2604. autoSaveOnExit setting
* Re-implement autosave functionality
2019-01-25 07:20:39 -05:00
Sami Vänttinen
d66299260c Clearer error messages for KeePassXC-Browser (#2622) 2019-01-24 22:45:30 -05:00
Gianluca Recchia
395a88a5ef Prevent post-compilation Qt downgrades (#2576)
* Abort the app if a Qt downgrade is detected

The app will now exit immediately if it was compiled with a Qt version
higher than the one present on the machine.

* Add function for checking the Qt version at runtime

* Re-register global D-Bus menu only if DE is Unity
2019-01-24 22:45:05 -05:00
Jonathan White
b21936f94d
Correct issues with issue templates 2019-01-21 20:54:45 -05:00
Jonathan White
1bb5a5794d
Split issue templates into bug & feature request 2019-01-21 20:50:32 -05:00
AlexJoss
cbf92598e2 Add gui dialog when merge makes no changes (#2551)
* Add gui dialog when merge makes no changes
* Add gui dialog when merge makes changes
2019-01-21 14:28:37 -05:00
Sami Vänttinen
0da9efdbd4 Fix updating reference passwords from KeePassXC-Browser (#2218)
* Allow updating reference passwords

* Fix function change after refactor
2019-01-21 14:24:57 -05:00
Carlo Teubner
94430c300b CLI: fix missing check for correct credentials (#2629)
* CLI: fix missing check for correct credentials

Before this fix, most/all CLI commands had incorrect behaviour when bad
credentials were supplied: they would carry on regardless, with
potentially catastrophic results.  In particular, the "add" subcommand
seemed to corrupt the database.  "ls" would always report an empty
database.  Haven't tested any others.

Also fixed a related missing check specific to the "merge" subcommand.
2019-01-21 14:24:29 -05:00
Jonathan White
b59fd6d06a
Merge pull request #2109 from hicknhack-software/feature/sharing_groups
Implement group synchronization feature
2019-01-19 10:03:21 -05:00
Jonathan White
18e234aefc
Fixed storing trust of share and persistent message 2019-01-19 09:31:27 -05:00
Jonathan White
8c5da624e5
KeeShare code formatting and spelling correction 2019-01-18 23:22:04 -05:00