-
Notifications
You must be signed in to change notification settings - Fork 246
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
crypto: Implemented sharing room keys for past messages (MSC3061) #2650
base: main
Are you sure you want to change the base?
crypto: Implemented sharing room keys for past messages (MSC3061) #2650
Conversation
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #2650 +/- ##
==========================================
- Coverage 78.74% 78.51% -0.23%
==========================================
Files 200 200
Lines 20360 20445 +85
==========================================
+ Hits 16032 16053 +21
- Misses 4328 4392 +64
☔ View full report in Codecov by Sentry. |
Signed-off-by: Michael Hollister <[email protected]>
Signed-off-by: Michael Hollister <[email protected]>
Signed-off-by: Michael Hollister <[email protected]>
Signed-off-by: Michael Hollister <[email protected]>
Signed-off-by: Michael Hollister <[email protected]>
309a9fc
to
ada3e82
Compare
To manage expectations a bit, I sadly won't have the time to take a proper look at this before the end of the month. |
No problem, thanks for letting me know and taking the time to review this when ready. |
Signed-off-by: Michael Hollister <[email protected]>
Signed-off-by: Michael Hollister <[email protected]>
If this PR is of interest being reviewed/merged, let me know and I can fix conflicts and push a few fixes to issues that exist in this old version. Otherwise, my impression from the discussion in matrix-org/matrix-spec#1655 is that the PR will be not be merged, so I will be holding off updating until needed. |
Fixes #580
Overview
I have created an implementation for MSC 3061 and wanted to share the changes should the team want to merge into the SDK.
Note this follows the implementation suggested in the MSC where keys are forwarded upon invitation of a new user. Based on past discussion in #580 however, this approach was was not preferred due to some flaws. I thought I would still share this implementation however for the following reasons:
Any feedback welcome.
PR Dependencies:
vodozemac: Added ExportedSessionKey conversion trait for SessionKey vodozemac#114Testing:
Tested key sharing with verified and unverified devices with multiple clients including:
Todo:
vodozemacchangesHistoryVisibility
is taken into account when sharing keys (https://raw.githubusercontent.com/matrix-org/matrix-rust-sdk/main/contrib/key-sharing-algorithm/model.png)Signed-off-by: Michael Hollister [email protected]