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.cpp21
-rw-r--r--lib/e2ee/qolmutility.h4
5 files changed, 11 insertions, 26 deletions
diff --git a/autotests/testolmaccount.cpp b/autotests/testolmaccount.cpp
index 56532698..53a0c955 100644
--- a/autotests/testolmaccount.cpp
+++ b/autotests/testolmaccount.cpp
@@ -60,8 +60,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 64ceb3e7..4de5afdf 100644
--- a/autotests/testolmutility.cpp
+++ b/autotests/testolmutility.cpp
@@ -78,10 +78,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 7392a9f5..345ab16b 100644
--- a/lib/e2ee/qolmaccount.cpp
+++ b/lib/e2ee/qolmaccount.cpp
@@ -269,8 +269,7 @@ 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);
}
QString QOlmAccount::accountId() const { return m_userId % '/' % m_deviceId; }
diff --git a/lib/e2ee/qolmutility.cpp b/lib/e2ee/qolmutility.cpp
index 08c2b699..46f7f4f3 100644
--- a/lib/e2ee/qolmutility.cpp
+++ b/lib/e2ee/qolmutility.cpp
@@ -44,21 +44,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());
-
- if (olm_ed25519_verify(m_utility, key.data(), key.size(), message.data(),
- message.size(), signatureBuf.data(),
- signatureBuf.size())
- == 0)
- return true;
-
- auto error = lastErrorCode();
- if (error == OLM_BAD_MESSAGE_MAC)
- return false;
- return error;
+ 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 89277385..508767bf 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);
OlmErrorCode lastErrorCode() const;
const char* lastError() const;