aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--autotests/testolmaccount.cpp3
-rw-r--r--autotests/testolmutility.cpp6
-rw-r--r--lib/e2ee/qolmaccount.cpp3
-rw-r--r--lib/e2ee/qolmutility.cpp23
-rw-r--r--lib/e2ee/qolmutility.h4
5 files changed, 11 insertions, 28 deletions
diff --git a/autotests/testolmaccount.cpp b/autotests/testolmaccount.cpp
index 280705d0..a41af268 100644
--- a/autotests/testolmaccount.cpp
+++ b/autotests/testolmaccount.cpp
@@ -58,8 +58,7 @@ void TestOlmAccount::signatureValid()
QOlmUtility utility;
const auto identityKeys = olmAccount.identityKeys();
const auto ed25519Key = identityKeys.ed25519;
- const auto verify = utility.ed25519Verify(ed25519Key, message, signature);
- QVERIFY(verify.value_or(false));
+ QVERIFY(utility.ed25519Verify(ed25519Key, message, signature));
}
void TestOlmAccount::oneTimeKeysValid()
diff --git a/autotests/testolmutility.cpp b/autotests/testolmutility.cpp
index 5b67c805..1d461a94 100644
--- a/autotests/testolmutility.cpp
+++ b/autotests/testolmutility.cpp
@@ -81,10 +81,8 @@ void TestOlmUtility::verifySignedOneTimeKey()
delete[](reinterpret_cast<uint8_t *>(utility));
QOlmUtility utility2;
- auto res2 =
- utility2
- .ed25519Verify(aliceOlm.identityKeys().ed25519, msg, signatureBuf1)
- .value_or(false);
+ auto res2 = utility2.ed25519Verify(aliceOlm.identityKeys().ed25519, msg,
+ signatureBuf1);
//QCOMPARE(std::string(olm_utility_last_error(utility)), "SUCCESS");
QVERIFY(res2);
diff --git a/lib/e2ee/qolmaccount.cpp b/lib/e2ee/qolmaccount.cpp
index ccb191f4..1b04dae7 100644
--- a/lib/e2ee/qolmaccount.cpp
+++ b/lib/e2ee/qolmaccount.cpp
@@ -264,6 +264,5 @@ bool Quotient::ed25519VerifySignature(const QString& signingKey,
QByteArray signingKeyBuf = signingKey.toUtf8();
QOlmUtility utility;
auto signatureBuf = signature.toUtf8();
- return utility.ed25519Verify(signingKeyBuf, canonicalJson, signatureBuf)
- .value_or(false);
+ return utility.ed25519Verify(signingKeyBuf, canonicalJson, signatureBuf);
}
diff --git a/lib/e2ee/qolmutility.cpp b/lib/e2ee/qolmutility.cpp
index 84559085..22f9ec0d 100644
--- a/lib/e2ee/qolmutility.cpp
+++ b/lib/e2ee/qolmutility.cpp
@@ -40,23 +40,10 @@ QString QOlmUtility::sha256Utf8Msg(const QString &message) const
return sha256Bytes(message.toUtf8());
}
-QOlmExpected<bool> QOlmUtility::ed25519Verify(const QByteArray& key,
- const QByteArray& message,
- const QByteArray& signature)
+bool QOlmUtility::ed25519Verify(const QByteArray& key, const QByteArray& message,
+ QByteArray signature)
{
- QByteArray signatureBuf(signature.length(), '0');
- std::copy(signature.begin(), signature.end(), signatureBuf.begin());
-
- const auto ret = olm_ed25519_verify(m_utility, key.data(), key.size(),
- message.data(), message.size(), (void *)signatureBuf.data(), signatureBuf.size());
-
- if (ret == olm_error()) {
- auto error = lastError(m_utility);
- if (error == QOlmError::BadMessageMac) {
- return false;
- }
- return error;
- }
-
- return !ret; // ret == 0 means success
+ return olm_ed25519_verify(m_utility, key.data(), key.size(), message.data(),
+ message.size(), signature.data(), signature.size())
+ == 0;
}
diff --git a/lib/e2ee/qolmutility.h b/lib/e2ee/qolmutility.h
index 5f6bcdc5..6c1c8624 100644
--- a/lib/e2ee/qolmutility.h
+++ b/lib/e2ee/qolmutility.h
@@ -29,8 +29,8 @@ public:
//! \param key QByteArray The public part of the ed25519 key that signed the message.
//! \param message QByteArray The message that was signed.
//! \param signature QByteArray The signature of the message.
- QOlmExpected<bool> ed25519Verify(const QByteArray &key,
- const QByteArray &message, const QByteArray &signature);
+ bool ed25519Verify(const QByteArray &key,
+ const QByteArray &message, QByteArray signature);
private:
OlmUtility *m_utility;