-
-
Notifications
You must be signed in to change notification settings - Fork 14.8k
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
mautrix-{meta,signal,whatsapp}: build with goolm #337571
Conversation
Tagging @sumnerevans here as I expect he’ll have opinions about this – per #336052 (comment) apparently |
I think this should be an option for now, i.e., add it as a package argument so it's easy to override. I'm impartial about which to make the default (libolm has the vulnerability, goolm is potentially not adhering to the spec yet and hasn't been audited). |
Do you have any preferences about what shape the option should take? Is it |
We (Beeper) tried to use goolm in our next-generation Android client and ran into weird issues. It's not entirely clear whether the issues were due to goolm itself or the way that we were using the library. We ended up just using libolm to reduce the number of variables that could be causing our issues. I definitely think compilation with goolm should be added as a disabled option for now. Selfishly, it would be great if some people started testing it out more in production and reported any issues with it. |
I doubt any of those issues would be fixed. |
Mautrix uses their own fork. |
Ok, here we go. OfBorg and Hydra won't build these as-is, but I tested the builds with commands like
I intend to use these options for my self-hosted Beeper bridges, and I'll report any issues I run into. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested the whatsapp and signal bridges, both seem to work just fine with goolm enabled
Edit: looks like replies on the whatsapp bridge are broken with goolm
Edit 2: same on the Signal bridge, all incoming messages are broken with goolm. Nonetheless I'm not opposed to merging this as it's opt-in right now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Given the current issues with this flag we should add a warning as comment above. Given that these flags aren't discoverable at all, you'll see the warning when you learn about the flag (by reading the expression).
How about:
@sumnerevans , I'm particularly interested in your feedback here to make sure that I don't misrepresent what Beeper wants to promise/request. |
We marked it as experimental as of https://github.com/mautrix/go/releases/tag/v0.17.0, so maybe:
Given the issues that people have already mentioned, I think we should warn people about using this in production-critical environments. |
After olm gained knownVulnerabilities in NixOS#334638, allow building these bridges using the pure-Go goolm library instead of libolm bindings.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approach is OK for me.
Haven't tried the goolm variant out so far, but @sumnerevans having approved this is OK change-wise, so let's merge.
Successfully created backport PR for |
Description of changes
After olm gained knownVulnerabilities in #334638, build these bridges using the pure-Go goolm library instead of libolm bindings. I also tried converting mautrix-discord, but it failed to build for what appears to be an upstream reason, but I saw no reason to block the other three. The other mautrix-* bridges in nixpkgs are Python bridges, and I didn't look into building those without olm.
Things done
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Add a 👍 reaction to pull requests you find important.