Olm merge requestshttps://gitlab.matrix.org/matrix-org/olm/-/merge_requests2022-11-30T13:06:04Zhttps://gitlab.matrix.org/matrix-org/olm/-/merge_requests/64Simplify the ratchet2022-11-30T13:06:04ZRichard van der HoffSimplify the ratchetA proposal to replace the megolm ratchet with something much, much simpler.
The existing mechanism for ratcheting the key is baroque and effectively unused. It only offers performance benefits (i.e. being able to advance to any index in...A proposal to replace the megolm ratchet with something much, much simpler.
The existing mechanism for ratcheting the key is baroque and effectively unused. It only offers performance benefits (i.e. being able to advance to any index in at most 1020 steps) once you advance the ratchet more than 257 steps - and we never advance it more than 100, due to the desire to preserve backward secrecy.
The document would probably be clearer if we rearranged it to combine the "Megolm V2 ratchet algorithm" and "Advancing the ratchet" sections, but for now I've left them separate to make the differences to the previous document clearer.https://gitlab.matrix.org/matrix-org/olm/-/merge_requests/33Draft: Add .clang-format file2021-07-01T10:13:02ZDenis KasakDraft: Add .clang-format fileOur current C and C++ coding styles are not very uniform and we don't seem to be following any particular standard, even though there are some patterns we more-or-less abide by. It would be nice if we could rely on a tool to automaticall...Our current C and C++ coding styles are not very uniform and we don't seem to be following any particular standard, even though there are some patterns we more-or-less abide by. It would be nice if we could rely on a tool to automatically ensure that code is formatted uniformly.
As a first step towards this goal, this MR attempts to reproduce our current style using `clang-format`. However, it still introduces quite a lot of changes since `clang-format` doesn't yet support [dangling parentheses][dangling_paren] (where the closing parenthesis of a parameter list goes on its own line). Due to this, it's probably not yet ready for a merge, but I'm opening a MR to discuss/keep track of it.
Another option would be to abandon our current style and going with one of the more common standards (perhaps tweaking a few options).
[dangling_paren]: https://reviews.llvm.org/D33029Denis KasakDenis Kasakhttps://gitlab.matrix.org/matrix-org/olm/-/merge_requests/24Optionally use OpenSSL or LibreSSL instead of bundled crypto-algorithms2021-05-04T22:15:39ZHubert ChathiOptionally use OpenSSL or LibreSSL instead of bundled crypto-algorithmscrypto-algorithms "have no resistence to side-channel attacks and should not
be used in contexts that need cryptographically secure implementations" (see
lib/crypto-algorithms/README.md), so using OpenSSL or LibreSSL is preferable.
This...crypto-algorithms "have no resistence to side-channel attacks and should not
be used in contexts that need cryptographically secure implementations" (see
lib/crypto-algorithms/README.md), so using OpenSSL or LibreSSL is preferable.
This does solve https://github.com/matrix-org/olm/issues/3 for some platforms,
without breaking other platforms without these libraries (like web).
Signed-off-by: Lukas Lihotzki <lukas@lihotzki.de>https://gitlab.matrix.org/matrix-org/olm/-/merge_requests/23Use CMake for Android builds (externalNativeBuild)2021-05-04T22:09:07ZHubert ChathiUse CMake for Android builds (externalNativeBuild)Signed-off-by: Lukas Lihotzki <lukas@lihotzki.de>Signed-off-by: Lukas Lihotzki <lukas@lihotzki.de>