Age | Commit message (Collapse) | Author | |
---|---|---|---|
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 | |
2021-12-07 | Port E2EE to database instead of JSON files | Tobias Fella | |
2021-12-02 | visit(Event, ...) -> switchOnType() | Alexey Rusakov | |
It has not much to do with the Visitor design pattern; also, std::visit() has different conventions on the order of parameters. | |||
2021-12-01 | Apply suggestions from code review | Tobias Fella | |
Co-authored-by: Alexey Rusakov <Kitsune-Ral@users.sf.net> | |||
2021-12-01 | More improvements | Tobias Fella | |
2021-12-01 | Apply suggestions from code review | Tobias Fella | |
Co-authored-by: Alexey Rusakov <Kitsune-Ral@users.sf.net> | |||
2021-12-01 | Fix compilation | Carl Schwan | |
2021-12-01 | Add function to decrypt notifications | Tobias Fella | |
2021-12-01 | Move non-cache data to a non-cache location | Tobias Fella | |
2021-12-01 | Save olm account on shutdown | Tobias Fella | |
2021-12-01 | Various improvements and fixes | Tobias Fella | |
2021-12-01 | Add mxc protocol to the networkaccessmanager | Tobias Fella | |
2021-12-01 | Implement download and decryption of encrypted files | Tobias Fella | |
2021-12-01 | Store pickling key in qtkeychain and pickle encrypted | Tobias Fella | |
2021-12-01 | Various fixes | Tobias Fella | |
2021-12-01 | Don't crash when ToDeviceEvent decryption fails | Tobias Fella | |
2021-12-01 | Implement (meg)olm key caching, megolm decrypting, EncryptedEvent | Tobias Fella | |
decryption, handling of encrypted redactions and replies | |||
2021-12-01 | Fix build without E2EE | Tobias Fella | |
2021-12-01 | Emit needsSave when required | Tobias Fella | |
2021-12-01 | Remove unrelated changes | Tobias Fella | |
2021-12-01 | Update the OlmAccountPickle in the accountsettings when the olmaccount | Tobias Fella | |
changes | |||
2021-12-01 | Uncomment some stuff | Carl Schwan | |
2021-12-01 | Things | Tobias Fella | |
2021-12-01 | Cleanup and Refactor EncryptionManager | Tobias Fella | |
2021-12-01 | Fix compilation without E2EE | Tobias Fella | |
2021-12-01 | More fixes | Tobias Fella | |
2021-12-01 | Query for keys less and actually load users from cache | Tobias Fella | |