Merge pull request #1821 from famedly/td/makeKeyPublic

feat: make voip key generator public
This commit is contained in:
Nicolas Werner 2024-05-22 15:05:47 +02:00 committed by GitHub
commit 8c33ce3a12
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 5 additions and 11 deletions

View File

@ -56,7 +56,7 @@ class LiveKitBackend extends CallBackend {
/// used on first join and when someone leaves
///
/// also does the sending for you
Future<void> _makeNewSenderKey(
Future<void> makeNewSenderKey(
GroupCallSession groupCall, bool delayBeforeUsingKeyOurself) async {
final key = secureRandomBytes(32);
final keyIndex = _getNewEncryptionKeyIndex();
@ -87,7 +87,7 @@ class LiveKitBackend extends CallBackend {
final myKeys = _encryptionKeysMap[groupCall.localParticipant];
if (myKeys == null || myKeys.isEmpty) {
await _makeNewSenderKey(groupCall, false);
await makeNewSenderKey(groupCall, false);
return;
}
@ -186,7 +186,7 @@ class LiveKitBackend extends CallBackend {
if (myKeys == null || myLatestKey == null) {
Logs().w(
'[VOIP E2EE] _sendEncryptionKeysEvent Tried to send encryption keys event but no keys found!');
await _makeNewSenderKey(groupCall, false);
await makeNewSenderKey(groupCall, false);
await _sendEncryptionKeysEvent(
groupCall,
keyIndex,
@ -392,7 +392,7 @@ class LiveKitBackend extends CallBackend {
if (groupCall.voip.enableSFUE2EEKeyRatcheting) {
await _ratchetLocalParticipantKey(groupCall, anyJoined);
} else {
await _makeNewSenderKey(groupCall, true);
await makeNewSenderKey(groupCall, true);
}
}
@ -409,7 +409,7 @@ class LiveKitBackend extends CallBackend {
}
_memberLeaveEncKeyRotateDebounceTimer =
Timer(CallTimeouts.makeKeyDelay, () async {
await _makeNewSenderKey(groupCall, true);
await makeNewSenderKey(groupCall, true);
});
}

View File

@ -199,12 +199,6 @@ class GroupCallSession {
/// compltetely rebuilds the local _participants list
Future<void> onMemberStateChanged() async {
if (state != GroupCallState.entered) {
Logs().d(
'[VOIP] early return onMemberStateChanged, group call state is not Entered. Actual state: ${state.toString()} ');
return;
}
// The member events may be received for another room, which we will ignore.
final mems =
room.getCallMembershipsFromRoom().values.expand((element) => element);