diff options
| author | Melvin Keskin <melvo@olomono.de> | 2021-10-07 16:35:50 +0200 |
|---|---|---|
| committer | Linus Jahn <lnj@kaidan.im> | 2021-10-10 20:12:46 +0200 |
| commit | e4970a79535dd5cfff2d010049cf39b644a87850 (patch) | |
| tree | f274962b1063012ce0482e9e7328070bec69fba0 /src/client/QXmppAtmManager.cpp | |
| parent | e1836d08b2f659d2ac5c98280e08d96c8df60d88 (diff) | |
| download | qxmpp-e4970a79535dd5cfff2d010049cf39b644a87850.tar.gz | |
Update to OMEMO 0.8, TM 0.6 and ATM 0.4
* OMEMO has namespace 'urn:xmpp:omemo:2' and uses SCE 0.4 now
* TM has namespace 'urn:xmpp:tm:1' and uses Base64 for key identifiers
* ATM uses Base64 for key identifiers
Diffstat (limited to 'src/client/QXmppAtmManager.cpp')
| -rw-r--r-- | src/client/QXmppAtmManager.cpp | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/src/client/QXmppAtmManager.cpp b/src/client/QXmppAtmManager.cpp index 04e9ff2a..e0255a9e 100644 --- a/src/client/QXmppAtmManager.cpp +++ b/src/client/QXmppAtmManager.cpp @@ -56,7 +56,7 @@ using namespace QXmpp::Private; /// Is is recommended to apply TOAKAFA for good security and usability when /// using \xep{0384, OMEMO Encryption}: /// \code -/// trustStorage->setSecurityPolicy("urn:xmpp:omemo:1", QXmppTrustStorage::Toakafa); +/// trustStorage->setSecurityPolicy("urn:xmpp:omemo:2", QXmppTrustStorage::Toakafa); /// \endcode /// /// Afterwards, this manager must be added with the storage: @@ -107,12 +107,12 @@ QXmppAtmManager::QXmppAtmManager(QXmppTrustStorage *trustStorage) /// \param keyIdsForAuthentication IDs of the keys being authenticated /// \param keyIdsForDistrusting IDs of the keys being distrusted /// -QFuture<void> QXmppAtmManager::makeTrustDecisions(const QString &encryption, const QString &keyOwnerJid, const QList<QString> &keyIdsForAuthentication, const QList<QString> &keyIdsForDistrusting) +QFuture<void> QXmppAtmManager::makeTrustDecisions(const QString &encryption, const QString &keyOwnerJid, const QList<QByteArray> &keyIdsForAuthentication, const QList<QByteArray> &keyIdsForDistrusting) { auto interface = std::make_shared<QFutureInterface<void>>(QFutureInterfaceBase::Started); auto future = m_trustStorage->keys(encryption, QXmppTrustStorage::Authenticated | QXmppTrustStorage::ManuallyDistrusted); - await(future, this, [=](const QHash<QXmppTrustStorage::TrustLevel, QMultiHash<QString, QString>> &&keys) { + await(future, this, [=](const QHash<QXmppTrustStorage::TrustLevel, QMultiHash<QString, QByteArray>> &&keys) { const auto authenticatedKeys = keys.value(QXmppTrustStorage::Authenticated); const auto manuallyDistrustedKeys = keys.value(QXmppTrustStorage::ManuallyDistrusted); const auto ownJid = client()->configuration().jidBare(); @@ -123,8 +123,8 @@ QFuture<void> QXmppAtmManager::makeTrustDecisions(const QString &encryption, con QXmppTrustMessageKeyOwner keyOwner; keyOwner.setJid(keyOwnerJid); - QList<QString> modifiedAuthenticatedKeys; - QList<QString> modifiedManuallyDistrustedKeys; + QList<QByteArray> modifiedAuthenticatedKeys; + QList<QByteArray> modifiedManuallyDistrustedKeys; for (const auto &keyId : keyIdsForAuthentication) { if (!authenticatedKeys.contains(keyOwnerJid, keyId)) { @@ -145,8 +145,8 @@ QFuture<void> QXmppAtmManager::makeTrustDecisions(const QString &encryption, con keyOwner.setTrustedKeys(modifiedAuthenticatedKeys); keyOwner.setDistrustedKeys(modifiedManuallyDistrustedKeys); - QMultiHash<QString, QString> keysBeingAuthenticated; - QMultiHash<QString, QString> keysBeingDistrusted; + QMultiHash<QString, QByteArray> keysBeingAuthenticated; + QMultiHash<QString, QByteArray> keysBeingDistrusted; for (const auto &key : std::as_const(modifiedAuthenticatedKeys)) { keysBeingAuthenticated.insert(keyOwnerJid, key); @@ -299,7 +299,7 @@ void QXmppAtmManager::handleMessageReceived(const QXmppMessage &message) /// \param keyIdsForDistrusting key owners' bare JIDs mapped to the IDs of their /// keys being distrusted /// -QFuture<void> QXmppAtmManager::makeTrustDecisions(const QString &encryption, const QMultiHash<QString, QString> &keyIdsForAuthentication, const QMultiHash<QString, QString> &keyIdsForDistrusting) +QFuture<void> QXmppAtmManager::makeTrustDecisions(const QString &encryption, const QMultiHash<QString, QByteArray> &keyIdsForAuthentication, const QMultiHash<QString, QByteArray> &keyIdsForDistrusting) { auto interface = std::make_shared<QFutureInterface<void>>(QFutureInterfaceBase::Started); @@ -334,8 +334,8 @@ QFuture<void> QXmppAtmManager::handleMessage(const QXmppMessage &message) const auto isSenderKeyAuthenticated = senderKeyTrustLevel == QXmppTrustStorage::Authenticated; // key owner JIDs mapped to key IDs - QMultiHash<QString, QString> keysBeingAuthenticated; - QMultiHash<QString, QString> keysBeingDistrusted; + QMultiHash<QString, QByteArray> keysBeingAuthenticated; + QMultiHash<QString, QByteArray> keysBeingDistrusted; QList<QXmppTrustMessageKeyOwner> keyOwnersForPostponedTrustDecisions; @@ -400,7 +400,7 @@ QFuture<void> QXmppAtmManager::handleMessage(const QXmppMessage &message) /// \param encryption encryption protocol namespace /// \param keyIds key owners' bare JIDs mapped to the IDs of their keys /// -QFuture<void> QXmppAtmManager::authenticate(const QString &encryption, const QMultiHash<QString, QString> &keyIds) +QFuture<void> QXmppAtmManager::authenticate(const QString &encryption, const QMultiHash<QString, QByteArray> &keyIds) { auto interface = std::make_shared<QFutureInterface<void>>(QFutureInterfaceBase::Started); @@ -435,7 +435,7 @@ QFuture<void> QXmppAtmManager::authenticate(const QString &encryption, const QMu /// \param encryption encryption protocol namespace /// \param keyIds key owners' bare JIDs mapped to the IDs of their keys /// -QFuture<void> QXmppAtmManager::distrust(const QString &encryption, const QMultiHash<QString, QString> &keyIds) +QFuture<void> QXmppAtmManager::distrust(const QString &encryption, const QMultiHash<QString, QByteArray> &keyIds) { auto interface = std::make_shared<QFutureInterface<void>>(QFutureInterfaceBase::Started); @@ -476,12 +476,12 @@ QFuture<void> QXmppAtmManager::distrustAutomaticallyTrustedKeys(const QString &e /// \param encryption encryption protocol namespace /// \param senderKeyIds IDs of the keys that were used by the senders /// -QFuture<void> QXmppAtmManager::makePostponedTrustDecisions(const QString &encryption, const QList<QString> &senderKeyIds) +QFuture<void> QXmppAtmManager::makePostponedTrustDecisions(const QString &encryption, const QList<QByteArray> &senderKeyIds) { auto interface = std::make_shared<QFutureInterface<void>>(QFutureInterfaceBase::Started); auto future = m_trustStorage->keysForPostponedTrustDecisions(encryption, senderKeyIds); - await(future, this, [=](const QHash<bool, QMultiHash<QString, QString>> &&keysForPostponedTrustDecisions) { + await(future, this, [=](const QHash<bool, QMultiHash<QString, QByteArray>> &&keysForPostponedTrustDecisions) { // JIDs of key owners mapped to the IDs of their keys const auto keysBeingAuthenticated = keysForPostponedTrustDecisions.value(true); const auto keysBeingDistrusted = keysForPostponedTrustDecisions.value(false); |
