Implements KDBX4 format with Argon2 KDF

* Adds KDBX4 reader/writer interfaces
* Adds KDBX4 XML reader/write interfaces
* Implements test cases for KDBX4
* Fully compatible with KeePass2
* Corrects minor issues with Argon2 KDF
This commit is contained in:
Jonathan White 2018-01-05 10:41:29 -05:00
parent 7dba788d09
commit bef7ba2cfe
No known key found for this signature in database
GPG key ID: 440FC65F2E0C6E01
36 changed files with 3305 additions and 51 deletions

View file

@ -49,6 +49,7 @@ Metadata::Metadata(QObject* parent)
m_recycleBinChanged = now;
m_entryTemplatesGroupChanged = now;
m_masterKeyChanged = now;
m_settingsChanged = now;
}
template <class P, class V> bool Metadata::set(P& property, const V& value)
@ -525,3 +526,12 @@ void Metadata::removeCustomField(const QString& key)
m_customFields.remove(key);
emit modified();
}
QDateTime Metadata::settingsChanged() const {
return m_settingsChanged;
}
void Metadata::setSettingsChanged(const QDateTime& value) {
Q_ASSERT(value.timeSpec() == Qt::UTC);
m_settingsChanged = value;
}