e2ee. (#226)
* chore: e2ee. * update. * update. * update. * update. * chore: Use feat/frame-encryption branch of flutter-webrtc. * chore: Add E2EEKEY defines for dart environment, and e2ee switch. * Add encodedInsertableStreams to RTCConfiguration. * update. * feat: Add e2ee indicator for Participant. * feat: add e2ee worker js for flutter web. * dart format. * remove unused file. * fix flutter analyze . * update. * update. * add: indicate for decryption failure, and string key. * remove .lock files. * update. * update. * update e2ee.worker for web. * feat: support setCodecPreferences. * state TrackE2EEStateEvent. * fix wrong import interface from dart_webrtc. * update. * update. * update. * update. * update pubspec.lock. * chore: update protocol and add EncryptionType for Participant. * Update lib/src/e2ee/options.dart Co-authored-by: Théo Monnom <[email protected]> * fix typo. * revert changes for internal import. * Add _cleanUp() for previous room. * Add e2ee supports detection method for native/web. * Remove redundant overriding methods. * dart format. * Add e2ee.worker code and deployment docs. * chore: remove duplicate words. * chore: using Pbkdf2 derive the key. * Update pubspec.yaml * fix e2ee for safari. * fix key length. * update e2ee.worker.dart.js. * fix. * update proto. * update. * chore: add simulate for rachetKey. * update. * chore: key ratchet for flutter web. * update. * update. * update. * chore: key ratchet export for web. * bump version for xframeworks. * update. * chore: some changes for key safety ratcheting. * update. * fix typo. * update. * rename. * magic bytes for web. * bump version for flutter-webrtc. * fix analyzer. --------- Co-authored-by: Théo Monnom <[email protected]>
This commit is contained in:
co-authored by
Théo Monnom
parent
3407221fc4
commit
26947e96d6
@@ -2,12 +2,10 @@ import 'dart:convert';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_webrtc/flutter_webrtc.dart' as rtc;
|
||||
import 'package:livekit_client/livekit_client.dart';
|
||||
|
||||
import 'events.dart';
|
||||
import 'managers/event.dart';
|
||||
import 'proto/livekit_models.pb.dart' as lk_models;
|
||||
import 'proto/livekit_rtc.pb.dart' as lk_rtc;
|
||||
import 'types/other.dart';
|
||||
|
||||
extension DataPacketKindExt on lk_models.DataPacket_Kind {
|
||||
Reliability toSDKType() => {
|
||||
@@ -172,6 +170,14 @@ extension WidgetsBindingCompatible on WidgetsBinding {
|
||||
static WidgetsBinding? get instance => WidgetsBinding.instance;
|
||||
}
|
||||
|
||||
extension EncryptionTypeExt on lk_models.Encryption_Type {
|
||||
EncryptionType toLkType() => {
|
||||
lk_models.Encryption_Type.NONE: EncryptionType.kNone,
|
||||
lk_models.Encryption_Type.GCM: EncryptionType.kGcm,
|
||||
lk_models.Encryption_Type.CUSTOM: EncryptionType.kCustom,
|
||||
}[this]!;
|
||||
}
|
||||
|
||||
extension DisconnectReasonExt on lk_models.DisconnectReason {
|
||||
DisconnectReason toSDKType() => {
|
||||
lk_models.DisconnectReason.UNKNOWN_REASON: DisconnectReason.unknown,
|
||||
|
||||
Reference in New Issue
Block a user