Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add interoperability with DR and X3DH based on Signal specs #124

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

dkasak
Copy link
Member

@dkasak dkasak commented Feb 4, 2024

This implements the delta between Olm and the Signal DR and X3DH specs[1][2] as a new mode (dubbed "Interolm"), intended to enable interoperability with libsignal and similar implementations.

[1]: https://signal.org/docs/specifications/x3dh/
[2]: https://signal.org/docs/specifications/doubleratchet/

@dkasak dkasak force-pushed the interolm branch 2 times, most recently from 5e6570e to 8d7eafd Compare February 4, 2024 01:07
@dkasak
Copy link
Member Author

dkasak commented Feb 4, 2024

Caveats

  • Broken libolm pickling.
    This currently breaks libolm session unpickling, because the legacy libolm pickle format doesn't contain some information added by the Interolm mode. This means we have one failing test.
  • Missing a bunch of tests.
  • Missing fuzzing.

src/olm/messages/message.rs Outdated Show resolved Hide resolved
src/olm/messages/message.rs Outdated Show resolved Hide resolved
There is still a bit of a mix between the terms left in Megolm, but
those should be cleaned up in a separate PR.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants