Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-05-02 | Implement key verification | Tobias Fella | |
2022-04-16 | Fixes | Tobias Fella | |
2022-04-16 | Merge branch 'dev' into sendmessages | Tobias Fella | |
2022-04-16 | Use more idiomatic C++ | Tobias Fella | |
2022-04-16 | Only build function when E2EE is enabled | Tobias Fella | |
2022-04-16 | Try fixing lgtm.com | Tobias Fella | |
2022-04-09 | Prepare for MSC 3700 | Tobias Fella | |
2022-04-09 | Make sure devices are known before decrypting olm messages | Tobias Fella | |
2022-04-09 | Check edKey when receiving an olm message | Tobias Fella | |
2022-03-10 | More work; Update olm pickle & timestamps in database; Remove TODOs | Tobias Fella | |
2022-03-10 | Keep log of where we send keys and send keys to new devices and users | Tobias Fella | |
2022-03-10 | Save and load outgoing megolm session | Tobias Fella | |
2022-03-10 | Implement sending encrypted messages | Tobias Fella | |
2022-03-10 | Merge pull request #541 from TobiasFella/storesessionedkey | Alexey Rusakov | |
Store some more things in the database | |||
2022-03-09 | Check for empty ed25519 key. | Tobias Fella | |
2022-03-08 | Store time of last decrypted message for each olm session | Tobias Fella | |
Is required to correctly choose a session to use for sending messages | |||
2022-03-07 | Guard against device reuse attacks | Tobias Fella | |
2022-03-07 | Store the device's ed25519 in the database | Tobias Fella | |
2022-02-27 | Merge #535: Convenience functions for querying user devices and keys from cache | Alexey Rusakov | |
2022-02-27 | Apply suggestions | Tobias Fella | |
2022-02-27 | Merge #536: Use QOlmMessage::Type in more places | Alexey Rusakov | |
2022-02-26 | Use QOlmMessage::Type in more places | Tobias Fella | |
Make sure that the enum values correspond to the values used in the spec and use them instead of magic constants | |||
2022-02-26 | Handle to-device messages before handling roomdata | Tobias 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-26 | Add convenience functions for querying user devices and keys from cache | Tobias Fella | |
2022-02-25 | Ifdef | Tobias Fella | |
2022-02-25 | Save key counts to state | Tobias Fella | |
Otherwise new one time keys will be uploaded on every start | |||
2022-02-24 | Fix all tests | Tobias Fella | |
2022-02-16 | More cleanup, especially in EncryptedFile | Alexey 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-16 | isSupportedAlgorithm() | Alexey Rusakov | |
That's a better primitive than just exposing SupportedAlgorithms list. | |||
2022-02-16 | Connection: guard device loading per-object | Alexey Rusakov | |
Using a static variable is incorrect as it doesn't load the device list for any subsequent created Connection object. | |||
2022-02-16 | Cleanup | Alexey 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). | |||
2022-02-13 | Merge branch 'dev' | Alexey Rusakov | |
The result is FTBFS as yet; next commits will fix that, along with a few other things. | |||
2022-02-12 | Replace QPair with std::pair | Tobias Fella | |
2022-02-11 | Implement more suggestions | Tobias Fella | |
2022-02-09 | Fix compilation without E2EE | Tobias Fella | |
2022-02-07 | Remove encryptionmanager and various fixes | Tobias Fella | |
2022-02-06 | Only create one database | Tobias Fella | |
2022-01-30 | Port devices list to database | Tobias Fella | |
2022-01-30 | Use room() instead of provideRoom() | Tobias Fella | |
2022-01-18 | AccountRegistry: derive from QVector and clean up | Alexey Rusakov | |
Notably, Quotient::AccountRegistry::instance() is now deprecated in favour of Quotient::Accounts inline variable. | |||
2022-01-02 | Add ImplPtr and makeImpl | Alexey Rusakov | |
The original (more complex and comprehensive) solution belongs to https://oliora.github.io/2015/12/29/pimpl-and-rule-of-zero.html - this commit only provides a small wrapper for non-copyable Private class implementations common throughout libQuotient. Unlike the original, default initialisation is made explicit - you have to pass ZeroImpl<Private>() instead (and I firmly believe it's a good thing: normally pointers to Private should not remain nullptr). The reason ZeroImpl<> is not a template variable is quite simple: unique_ptr is non-copyable and so cannot be initialised from; while a template function will initialise the value in-place thanks to copy elision. | |||
2021-12-27 | Connection: Simplify room/user factory code | Alexey Rusakov | |
There's no need to return lambdas where pointers to specialised function templates would work just fine. | |||
2021-12-25 | Apply suggestions from code review | Tobias Fella | |
Co-authored-by: Alexey Rusakov <Kitsune-Ral@users.sf.net> | |||
2021-12-25 | Don't save olm account ón shutdown | Tobias Fella | |
It causes the program to crash for some reason | |||
2021-12-24 | Cache deviceslist to binary when possible | Tobias Fella | |
2021-12-10 | Use individual databases for each connection | Tobias Fella | |
2021-12-10 | ifdef more things | Tobias Fella | |
2021-12-09 | Ifdef all the things | Tobias Fella | |
2021-12-09 | Update lib/connection.cpp | Tobias Fella | |
Co-authored-by: Alexey Rusakov <Kitsune-Ral@users.sf.net> | |||
2021-12-07 | Rename "crypto" -> "e2ee" | Tobias Fella | |