31 Commits

Author SHA1 Message Date
Jonathan White
247b85fe69
Update INSTALL.md and cleanup CMakeLists.txt (#3074)
INSTALL.md
* Better organization of CMake options

CMakeLists.txt
* If WITH_XC_NETWORKING is disabled, also disable WITH_XC_UPDATECHECK
* Move KeeShare logic into KeeShare CMakeLists.txt
* Remove WITH_XC_KEESHARE_SECURE build option
* Attempt to find quazip, if found enable WITH_XC_KEESHARE_SECURE and build with secure container support
2019-05-07 12:56:55 -04:00
Janek Bevendorff
01a3d5b0ba Fix QuaZip find module on macOS and clean up code.
Finding libquazip failed on macOS due to path differences.
This patch also cleans up the find module's code, aligns it
with the coding style of the other CMake files and removes
clutter that is not needed for KeePassXC such as non-Msys
builds on Windows.
2019-05-01 18:25:32 -04:00
Christian Kieschnick
05bee40f0a Fix duplicate icon add in export
SharedObserver did not check for already added icons add during export
leading to duplicate icons in the target db.
2019-04-12 16:14:23 -04:00
Janek Bevendorff
bc5173bac7
Fix compilation with GCC 5 (#2990) 2019-04-12 19:49:43 +02:00
ckieschnick
29c79c935a More detailed KeeShare sharing messages (#2946)
* ShareObserver watches all shares

ShareObserver watches all shares to and considers settings only on
checking for changes. This fixes an assertion when an export group
signal is received, but export was disabled.

* Extend share message in group view

Extended the message for shared groups to indicate deactivate
import/export and errors when the share was not correctly configured.
2019-04-07 22:19:51 -04:00
Vladimir Svyatski
e786291086 Make KeeShare user messages easier to understand (#2824) 2019-03-26 19:54:54 -04:00
Jonathan White
f67b60623e
Update translation source file 2019-03-19 18:56:17 -04:00
ckieschnick
11ecaf4fa4 Hotfix/2657 prevent share overwrite (#2746)
* Fix problem with export from newly saved database

Newly created/saved databases (or used with DatabaseWidget::saveAs)
were not exported/imported correctly.
Fixed the problem by reinitializing the ShareObserver on
DatabaseWidget::saveAs.

* Introduce warnings and prevent conflicting shares

Introduced several warnings and errors to indicate improper settings.
Prevent export when a path is used multiple times (only the file path is
checked - may ignore multiple similar ways to reference a share).

* Improve KeeShare integration in DatabaseWidget

Moved initial KeeShare association to constructor.
Introduced Q_UNUSED to indicate need for assignment statement.
2019-03-15 22:39:46 -04:00
ckieschnick
ebb87e6379 Add share indication label in group view (#2742)
* When viewing a shared group, the sharing state is indicated by a label
similar to the search label.
* Banner shows on children of shared groups
* When searching, share banner is hidden
* Fixed issue where group/entry information was not updated after change
2019-03-07 10:57:13 -05:00
Christian Kieschnick
f09f00a6b8 Add clear functionality to group share settings
Settings in a group can now be cleared using a single button press on
'clear'.
2019-03-06 20:40:42 -05:00
Christian Kieschnick
c369130338 Improve messages and fix issue in ShareObserver
Fixed smaller issue with error check before the actual write.
Extended the error messages in ShareObserver to differentiate between
the error cases.
2019-03-06 20:40:27 -05:00
Vladimir Svyatski
9d44a756bb Add missing colon to SettingsWidgetKeeShare.ui 2019-03-01 09:19:11 -05:00
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
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
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
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
Christian Kieschnick
c954c95da4 Fixed BulkFileWatcher multi signal problem
BulkFileWatcher emitted multiple file change signals (like
QFileSystemWatcher) for the watched files. Introduced a delay by waiting
until the end of the event loop to aggregate signals emitted by
QFileSystemWatcher before emitting custom signals.
2019-01-09 16:25:35 +01:00
Christian Kieschnick
a978880b0b Fixed QuaZip for windows, renaming
QuaZip should now usable under windows (fixed include in FindQuaZip)

Renamed the representation from secure and unsecure to signed and
unsigned
2019-01-07 12:02:21 +01:00
Christian Kieschnick
383b8b77eb Implemented feedback regarding build and ui
Changed build options to use only WITH_XC_KEESHARE and
WITH_XC_KEESHARE_SECURE - WITH_XC_KEESHARE_INSECURE remains as internal
variable to highlight differences (may allow to build schemes later)

Message widget in KeeShare settings for groups is not closeable anymore
2019-01-07 10:38:38 +01:00
Jonathan White
f46062cc4a
Minor bug fixes and formatting 2019-01-06 11:06:41 -05:00
Christian Kieschnick
2bfe66e840 Another attempt to make GCC happy 2019-01-04 12:38:34 +01:00
Christian Kieschnick
51d63f0e83 Fixed GCC issues for const initialization
Fixed issues reported by GCC for initialization of const variables
2019-01-04 12:28:36 +01:00
Christian Kieschnick
6e25da6a19 Fixed issues detected by test suite and ci
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
2019-01-04 12:04:46 +01:00
Christian Kieschnick
3d02013513 Changed KeeShareSettings to explicitly ask
KeeShareSettings now allow to trust, untrust or ask on next import from
a specific publisher with a specific container
2019-01-03 18:22:41 +01:00
Christian Kieschnick
2e18388825 Fixed bug in FileWatcher, improved unsafe sharing
BulkFileWatcher didn't recognize added files in observed directory

Improved UI for unsecured sharing only (hide certificate ui, added
warnings and adjusted indicators)
2019-01-03 17:50:36 +01:00
Christian Kieschnick
d4c391deb2 Splitted KeeShare into secure and insecure parts
KeeShare is now supported in a secure and insecure flavor (set
CMake-Flags accordingly to allow or disallow the corresponding import
and exports)
2019-01-03 10:05:08 +01:00
Christian Kieschnick
52dcc2855e Fixed signal slot connections
Fixed connection to renamed CustomData::customDataModified() signal
Fixed connection to renamed Database::databaseModified() signal
Fixed connection to renamed Group::groupModified() signal
2019-01-02 09:14:34 -05:00
Jonathan White
b96b86bfa7 Cleanup and replumb back to functional state 2018-12-28 17:54:52 -05:00
Jonathan White
9e2be34897
Merge branch 'develop'
Conflicts:
	CMakeLists.txt
	cmake/CLangFormat.cmake
	snapcraft.yaml
	src/CMakeLists.txt
	src/core/Database.cpp
	src/core/Database.h
	src/core/Tools.cpp
	src/crypto/CryptoHash.h
	src/crypto/ssh/ASN1Key.h
	src/crypto/ssh/OpenSSHKey.cpp
	src/format/Kdbx4Reader.cpp
	src/gui/DatabaseTabWidget.cpp
	src/gui/DatabaseTabWidget.h
	src/gui/DatabaseWidget.cpp
	src/gui/DatabaseWidget.h
	src/gui/DetailsWidget.cpp
	src/gui/DetailsWidget.ui
	src/gui/EditWidgetProperties.cpp
	src/gui/EntryPreviewWidget.cpp
	src/gui/EntryPreviewWidget.ui
	src/gui/FileDialog.cpp
	src/gui/dbsettings/DatabaseSettingsDialog.cpp
	src/gui/dbsettings/DatabaseSettingsDialog.h
	src/gui/group/EditGroupWidget.cpp
	src/gui/group/EditGroupWidget.h
	src/sshagent/ASN1Key.h
	src/sshagent/OpenSSHKey.cpp
	src/sshagent/SSHAgent.cpp
	tests/CMakeLists.txt
2018-12-18 22:28:56 -05:00
Christian Kieschnick
eca9c658f4
Add sharing of groups between databases
* Add source folder keeshare for sharing with corresponding define WITH_XC_KEESHARE
* Move common crypto parts to src/crypto/ssh
* Extended OpenSSHKey
* Move filewatching to own file (currently in two related classes DelayedFileWatcher and BulkFileWatcher)
* Small improvements for style and code in several classes
* Sharing is secured using RSA-Keys which are generated on demand
* Publisher signs the container using their private key
* Client can verify the signed container and choose to decline an import,
import only once or trust the publisher and automatically import all
data of this source henceforth
* Integration of settings into Group-Settings, Database-Settings and Application-Settings
* Introduced dependency QuaZip as dependency to allow combined export of
key container and the (custom format) certificate
2018-10-01 10:39:37 -04:00