aboutsummaryrefslogtreecommitdiff
path: root/lib/crypto/qolmaccount.h
diff options
context:
space:
mode:
authorAlexey Andreyev <aa13q@ya.ru>2021-01-28 23:51:56 +0300
committerTobias Fella <fella@posteo.de>2021-12-01 21:34:52 +0100
commitd72f220e3e3a3b243fdafd93d1405f8207dc516a (patch)
treef4306b6397e39d6842a29f9a31fe5c858be8a4af /lib/crypto/qolmaccount.h
parent9f71b2a79fba7c5d5ce09ebfdd482c8c470203d9 (diff)
downloadlibquotient-d72f220e3e3a3b243fdafd93d1405f8207dc516a.tar.gz
libquotient-d72f220e3e3a3b243fdafd93d1405f8207dc516a.zip
E2EE: initial port to internal olm wrapper
Remove qtolm git module. Update CMakeLists.txt. Rename olm to crypto subdir to prevent disambiguation. Rename internal files accordingly. Comment out not ported E2EE API usage.
Diffstat (limited to 'lib/crypto/qolmaccount.h')
-rw-r--r--lib/crypto/qolmaccount.h15
1 files changed, 8 insertions, 7 deletions
diff --git a/lib/crypto/qolmaccount.h b/lib/crypto/qolmaccount.h
index f98d78ba..b33e3768 100644
--- a/lib/crypto/qolmaccount.h
+++ b/lib/crypto/qolmaccount.h
@@ -5,9 +5,9 @@
#ifdef Quotient_E2EE_ENABLED
#include "crypto/e2ee.h"
-#include "crypto/errors.h"
-#include "crypto/session.h"
-#include <olm/olm.h>
+#include "crypto/qolmerrors.h"
+#include "crypto/qolmmessage.h"
+#include "crypto/qolmsession.h"
#include <QObject>
struct OlmAccount;
@@ -38,13 +38,14 @@ public:
void unpickle(QByteArray &picked, const PicklingMode &mode);
//! Serialises an OlmAccount to encrypted Base64.
- std::variant<QByteArray, OlmError> pickle(const PicklingMode &mode);
+ std::variant<QByteArray, QOlmError> pickle(const PicklingMode &mode);
//! Returns the account's public identity keys already formatted as JSON
IdentityKeys identityKeys() const;
//! Returns the signature of the supplied message.
QByteArray sign(const QByteArray &message) const;
+ QByteArray sign(const QJsonObject& message) const;
//! Sign identity keys.
QByteArray signIdentityKeys() const;
@@ -70,17 +71,17 @@ public:
//! Creates an inbound session for sending/receiving messages from a received 'prekey' message.
//!
//! \param message An Olm pre-key message that was encrypted for this account.
- std::variant<std::unique_ptr<QOlmSession>, OlmError> createInboundSession(const Message &preKeyMessage);
+ std::variant<std::unique_ptr<QOlmSession>, QOlmError> createInboundSession(const QOlmMessage &preKeyMessage);
//! Creates an inbound session for sending/receiving messages from a received 'prekey' message.
//!
//! \param theirIdentityKey - The identity key of an Olm account that
//! encrypted this Olm message.
- std::variant<std::unique_ptr<QOlmSession>, OlmError> createInboundSessionFrom(const QByteArray &theirIdentityKey, const Message &preKeyMessage);
+ std::variant<std::unique_ptr<QOlmSession>, QOlmError> createInboundSessionFrom(const QByteArray &theirIdentityKey, const QOlmMessage &preKeyMessage);
//! Creates an outbound session for sending messages to a specific
/// identity and one time key.
- std::variant<std::unique_ptr<QOlmSession>, OlmError> createOutboundSession(const QByteArray &theirIdentityKey, const QByteArray &theirOneTimeKey);
+ std::variant<std::unique_ptr<QOlmSession>, QOlmError> createOutboundSession(const QByteArray &theirIdentityKey, const QByteArray &theirOneTimeKey);
// HACK do not use directly
QOlmAccount(OlmAccount *account);