aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2022-04-16Only build function when E2EE is enabledTobias Fella
2022-04-16Try fixing lgtm.comTobias Fella
2022-04-09Comment out debug statementTobias Fella
2022-04-09Prepare for MSC 3700Tobias Fella
2022-04-09Don't crash when decrypting existing messagesTobias Fella
2022-04-09Make sure devices are known before decrypting olm messagesTobias Fella
2022-04-09Check edKey when receiving an olm messageTobias Fella
2022-04-09Correctly load EncryptedEventsTobias Fella
2022-03-23Add database migrationTobias Fella
2022-03-11Fix loading images when E2EE is disabledTobias Fella
2022-03-10Minor fixTobias Fella
2022-03-10Update lib/room.cppTobias Fella
2022-03-10Update lib/events/encryptedfile.hTobias Fella
2022-03-10More work; Update olm pickle & timestamps in database; Remove TODOsTobias Fella
2022-03-10Properly create encrypted editsTobias Fella
2022-03-10Implement sending encrypted filesTobias Fella
2022-03-10Keep log of where we send keys and send keys to new devices and usersTobias Fella
2022-03-10Save and load outgoing megolm sessionTobias Fella
2022-03-10Implement sending encrypted messagesTobias Fella
2022-03-10Add constructor for creating roomkeyeventsTobias Fella
2022-03-10Merge pull request #541 from TobiasFella/storesessionedkeyAlexey Rusakov
Store some more things in the database
2022-03-09Check for empty ed25519 key.Tobias Fella
2022-03-09Update lib/database.cppTobias Fella
Co-authored-by: Carl Schwan <carl@carlschwan.eu>
2022-03-08Store time of last decrypted message for each olm sessionTobias Fella
Is required to correctly choose a session to use for sending messages
2022-03-07Add datbase migrationTobias Fella
2022-03-07Guard against device reuse attacksTobias Fella
2022-03-07Store the device's ed25519 in the databaseTobias Fella
2022-02-27Merge #538: Verification should return false instead of error for failed ↵Alexey Rusakov
signature checks
2022-02-27Merge #535: Convenience functions for querying user devices and keys from cacheAlexey Rusakov
2022-02-27Update lib/e2ee/qolmutility.cppTobias Fella
Co-authored-by: Carl Schwan <carl@carlschwan.eu>
2022-02-27Return false instead of error for failed signature checksTobias Fella
2022-02-27Merge pull request #537 from TobiasFella/decryptcheckroomAlexey Rusakov
2022-02-27Apply suggestionsTobias Fella
2022-02-27Apply suggestionsTobias Fella
2022-02-27Merge #536: Use QOlmMessage::Type in more placesAlexey Rusakov
2022-02-26Check that decrypted events are for the current roomTobias Fella
2022-02-26Use QOlmMessage::Type in more placesTobias Fella
Make sure that the enum values correspond to the values used in the spec and use them instead of magic constants
2022-02-26Handle to-device messages before handling roomdataTobias Fella
Probably improves the performance slightly If we handle to room data first, if a message arrives at the same time as the to-device message containing the key and we handle the message first, it will not be decryptable and stored as undecrypted. Then, when the key is handled, the cache of undecrypted messages is searched, the message decrypted and replaced. When handling the key first, the message can be decryped instantly.
2022-02-26Add convenience functions for querying user devices and keys from cacheTobias Fella
2022-02-26Merge pull request #477 from TobiasFella/work/readencryptedmessagesAlexey Rusakov
2022-02-25IfdefTobias Fella
2022-02-25Save key counts to stateTobias Fella
Otherwise new one time keys will be uploaded on every start
2022-02-24Fix all testsTobias Fella
2022-02-16quotient_export.h: #include <qglobal.h>Alexey Rusakov
To ensure Q_DECL_EXPORT/Q_DECL_IMPORT macros are defined.
2022-02-16More cleanup, especially in EncryptedFileAlexey Rusakov
For EncryptedFile: - JSON converter bodies moved away to .cpp; - instead of C-style casts, reinterpret_cast is used to convert from (const) char* to (const) unsigned char*; - the size for the target plain text takes into account the case where the cipher block size can be larger than 1 (after reading https://www.openssl.org/docs/man1.1.1/man3/EVP_DecryptUpdate.html). - file decryption is wrapped in #ifdef Quotient_E2EE_ENABLED, to avoid OpenSSL linking errors when compiling without E2EE.
2022-02-16isSupportedAlgorithm()Alexey Rusakov
That's a better primitive than just exposing SupportedAlgorithms list.
2022-02-16Use QHash instead of QMapAlexey Rusakov
We don't seem to need sorted associative containers in those cases.
2022-02-16Fix file decryptionTobias Fella
2022-02-16Connection: guard device loading per-objectAlexey Rusakov
Using a static variable is incorrect as it doesn't load the device list for any subsequent created Connection object.
2022-02-16CleanupAlexey Rusakov
A note on switching to QLatin1String for JSON key constants - this is more concise and barely affects (if at all) runtime performance (padding each QChar with zeros is trivial for assignment; and comparison can be done directly with the same performance as for two QStrings).