mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2025-12-16 17:04:20 -05:00
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
This commit is contained in:
parent
c1e9f45df9
commit
eca9c658f4
106 changed files with 5828 additions and 503 deletions
|
|
@ -28,7 +28,7 @@ public:
|
|||
void randomize(void* data, int len) override;
|
||||
};
|
||||
|
||||
Random* Random::m_instance(nullptr);
|
||||
QSharedPointer<Random> Random::m_instance;
|
||||
|
||||
void Random::randomize(QByteArray& ba)
|
||||
{
|
||||
|
|
@ -70,18 +70,20 @@ quint32 Random::randomUIntRange(quint32 min, quint32 max)
|
|||
Random* Random::instance()
|
||||
{
|
||||
if (!m_instance) {
|
||||
m_instance = new Random(new RandomBackendGcrypt());
|
||||
m_instance.reset(new Random(new RandomBackendGcrypt()));
|
||||
}
|
||||
|
||||
return m_instance;
|
||||
return m_instance.data();
|
||||
}
|
||||
|
||||
void Random::createWithBackend(RandomBackend* backend)
|
||||
void Random::resetInstance()
|
||||
{
|
||||
Q_ASSERT(backend);
|
||||
Q_ASSERT(!m_instance);
|
||||
m_instance.reset();
|
||||
}
|
||||
|
||||
m_instance = new Random(backend);
|
||||
void Random::setInstance(RandomBackend* backend)
|
||||
{
|
||||
m_instance.reset(new Random(backend));
|
||||
}
|
||||
|
||||
Random::Random(RandomBackend* backend)
|
||||
|
|
@ -95,3 +97,7 @@ void RandomBackendGcrypt::randomize(void* data, int len)
|
|||
|
||||
gcry_randomize(data, len, GCRY_STRONG_RANDOM);
|
||||
}
|
||||
|
||||
RandomBackend::~RandomBackend()
|
||||
{
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue