E2EE: allow setting key_ring_size and key_derivation_algorithm, update webrtc to m144#921
E2EE: allow setting key_ring_size and key_derivation_algorithm, update webrtc to m144#921onestacked wants to merge 5 commits intolivekit:mainfrom
Conversation
a15edf5 to
379961f
Compare
|
Now based on webrtc-sdk/webrtc#224 |
|
webrtc-sdk/webrtc#224 is now merged, this will only need a new webrtc-sdk build and update to that. (once thats done I'll look into why node fails. |
|
Please, keep going, @onestacked !! :) |
|
This is mosly waiting for review and the WebRTC build to be done. |
|
@theomonnom , @typester , I hope you would forgive me for pinging you directly. I'm just a person who wants to help a very needed work from @onestacked to make to your product. |
|
We've been running a production deployment with an equivalent patch set for about three weeks now — a Matrix bot that joins Element Call rooms via LiveKit, decrypts E2EE audio, and transcribes it. Our patches target the same layers (webrtc C++ → webrtc-sys → livekit crates → livekit-ffi) and the approach is functionally identical: branch on a KeyDerivationAlgorithm enum in DeriveKeys(), call BoringSSL's HKDF() with EVP_sha256(), and thread the option through the Rust/FFI stack. Happy to help test once the new webrtc-sdk release unblocks this. Looking forward to dropping our custom .so build. |
|
Webrtc-sdk has just been rebased to a new upstream release: webrtc-sdk/webrtc#217 so livekit will probably update fairly soon. |
that's nice @maxinflection that MatrixRTC is getting traction around the matrix rust-sdk. I think the community would be really interested in your project. So yes please share your stuff :-) |
a775d90 to
303b040
Compare
303b040 to
229e2bb
Compare
|
I'm not sure why the FFI Proto fails on checkout? I don't think any change should effect this. |
|
Also let me know if you want my PR split, as it now does three things (key_ring_size, key_derivation_algorithm and webrtc update) |
229e2bb to
6f225c3
Compare
6f225c3 to
6856cd4
Compare
|
|
||
| pub const SCRATH_PATH: &str = "livekit_webrtc"; | ||
| pub const WEBRTC_TAG: &str = "webrtc-0001d84-2"; | ||
| pub const WEBRTC_TAG: &str = "webrtc-24f6822"; |
There was a problem hiding this comment.
Hey, this is a version that will be released soon webrtc-24f6822-2. You can update to it now. And the m144 upgrade will begin next week.
| solutions = [ | ||
| { | ||
| "name": 'src', | ||
| "url": 'https://github.com/webrtc-sdk/webrtc.git@m137_release', |
There was a problem hiding this comment.
Please revert to m137_release here first. We will modify this section again after updating to m144.
This PR uses this webrtc-sdk PR to configure the KDF, instead of just overwriting the derived key afterwards. This should also now properly support KeyRatcheting.
I've tested this with https://codeberg.org/esoteric_programmer/matrix-jukebox and it is compatible with Element Call.
Since this PR needs to use a new webrtc build it also updates webtc to m144. See this PR
Fixes: #796