-
Notifications
You must be signed in to change notification settings - Fork 278
Add e2ee for data channel messages #1595
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
Changes from 18 commits
a215807
9fde033
c8c13a4
5cc484c
98debe6
70aa399
76041ab
8401f3a
b84eaa1
0674e81
1f162cd
393e8a4
fe7fd7a
c06e074
1f08b63
09c8f21
fa5cd09
239448f
57037da
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| --- | ||
| "livekit-client": patch | ||
| --- | ||
|
|
||
| Add preliminary support for data message decryption |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -50,7 +50,7 @@ | |
| decoder: new TextDecoder(), | ||
| defaultDevices: new Map<MediaDeviceKind, string>([['audioinput', 'default']]), | ||
| bitrateInterval: undefined as any, | ||
| e2eeKeyProvider: new ExternalE2EEKeyProvider(), | ||
| e2eeKeyProvider: new ExternalE2EEKeyProvider({ ratchetWindowSize: 100 }), | ||
| chatMessages: new Map<string, { text: string; participant?: Participant }>(), | ||
| }; | ||
| let currentRoom: Room | undefined; | ||
|
|
@@ -128,7 +128,7 @@ | |
| videoCaptureDefaults: { | ||
| resolution: VideoPresets.h720.resolution, | ||
| }, | ||
| e2ee: e2eeEnabled | ||
| encryption: e2eeEnabled | ||
| ? { keyProvider: state.e2eeKeyProvider, worker: new E2EEWorker() } | ||
| : undefined, | ||
| }; | ||
|
|
@@ -273,6 +273,7 @@ | |
| try { | ||
| for await (const chunk of reader.withAbortSignal(streamReaderAbortController.signal)) { | ||
| message += chunk; | ||
| console.log('received message', message, participant); | ||
| handleChatMessage( | ||
| { | ||
| id: info.id, | ||
|
|
@@ -434,7 +435,7 @@ | |
| }, | ||
|
|
||
| toggleE2EE: async () => { | ||
| if (!currentRoom || !currentRoom.options.e2ee) { | ||
| if (!currentRoom || !currentRoom.hasE2EESetup) { | ||
| return; | ||
| } | ||
| // read and set current key from input | ||
|
|
@@ -488,7 +489,7 @@ | |
| }, | ||
|
|
||
| ratchetE2EEKey: async () => { | ||
| if (!currentRoom || !currentRoom.options.e2ee) { | ||
| if (!currentRoom || !currentRoom.hasE2EESetup) { | ||
| return; | ||
| } | ||
| await state.e2eeKeyProvider.ratchetKey(); | ||
|
|
@@ -767,31 +768,31 @@ | |
| div = document.createElement('div'); | ||
| div.id = `participant-${identity}`; | ||
| div.className = 'participant'; | ||
| div.innerHTML = ` | ||
Check warningCode scanning / CodeQL Unsafe HTML constructed from library input Medium
This HTML construction which depends on
library input Error loading related location Loading cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading |
||
| <video id="video-${identity}"></video> | ||
Check warningCode scanning / CodeQL Unsafe HTML constructed from library input Medium
This HTML construction which depends on
library input Error loading related location Loading cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading |
||
| <audio id="audio-${identity}"></audio> | ||
| <div class="info-bar"> | ||
Check warningCode scanning / CodeQL Unsafe HTML constructed from library input Medium
This HTML construction which depends on
library input Error loading related location Loading cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading |
||
| <div id="name-${identity}" class="name"> | ||
| </div> | ||
| <div style="text-align: center;"> | ||
Check warningCode scanning / CodeQL Unsafe HTML constructed from library input Medium
This HTML construction which depends on
library input Error loading related location Loading cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading |
||
| <span id="codec-${identity}" class="codec"> | ||
| </span> | ||
Check warningCode scanning / CodeQL Unsafe HTML constructed from library input Medium
This HTML construction which depends on
library input Error loading related location Loading cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading |
||
| <span id="size-${identity}" class="size"> | ||
| </span> | ||
Check warningCode scanning / CodeQL Unsafe HTML constructed from library input Medium
This HTML construction which depends on
library input Error loading related location Loading cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading |
||
| <span id="bitrate-${identity}" class="bitrate"> | ||
| </span> | ||
| </div> | ||
| <div class="right"> | ||
Check warningCode scanning / CodeQL Unsafe HTML constructed from library input Medium
This HTML construction which depends on
library input Error loading related location Loading cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading |
||
| <span id="signal-${identity}"></span> | ||
Check warningCode scanning / CodeQL Unsafe HTML constructed from library input Medium
This HTML construction which depends on
library input Error loading related location Loading cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading |
||
| <span id="mic-${identity}" class="mic-on"></span> | ||
Check warningCode scanning / CodeQL Unsafe HTML constructed from library input Medium
This HTML construction which depends on
library input Error loading related location Loading cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading |
||
| <span id="e2ee-${identity}" class="e2ee-on"></span> | ||
| </div> | ||
| </div> | ||
| ${ | ||
| !isLocalParticipant(participant) | ||
| ? `<div class="volume-control"> | ||
| <input id="volume-${identity}" type="range" min="0" max="1" step="0.1" value="1" orient="vertical" /> | ||
| </div>` | ||
Check warningCode scanning / CodeQL Unsafe HTML constructed from library input Medium
This HTML construction which depends on
library input Error loading related location Loading cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading This HTML construction which depends on library input might later allow cross-site scripting Error loading related location Loading |
||
| : `<progress id="local-volume" max="1" value="0" />` | ||
| } | ||
|
|
||
|
|
@@ -1043,7 +1044,7 @@ | |
| 'flip-video-button', | ||
| 'send-button', | ||
| ]; | ||
| if (currentRoom && currentRoom.options.e2ee) { | ||
| if (currentRoom && currentRoom.hasE2EESetup) { | ||
| connectedSet.push('toggle-e2ee-button', 'e2ee-ratchet-button'); | ||
| } | ||
| const disconnectedSet = ['connect-button']; | ||
|
|
||
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,4 @@ | ||
| import { type DataPacket, EncryptedPacketPayload } from '@livekit/protocol'; | ||
| import { ENCRYPTION_ALGORITHM } from './constants'; | ||
|
|
||
| export function isE2EESupported() { | ||
|
|
@@ -176,3 +177,18 @@ export function writeRbsp(data_in: Uint8Array): Uint8Array { | |
| } | ||
| return new Uint8Array(dataOut); | ||
| } | ||
|
|
||
| export function asEncryptablePacket(packet: DataPacket): EncryptedPacketPayload | undefined { | ||
| if ( | ||
| packet.value?.case !== 'sipDtmf' && | ||
| packet.value?.case !== 'metrics' && | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Looks like metrics is encryptable? livekit/protocol@72e862b#diff-65ff73125c901a7593f1b81ac2dfa070f5d617c4fa3aebb570d36618526c3d89R313
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. In theory yes, the question is how that would handled for the dashboard were you'd want to see the metrics |
||
| packet.value?.case !== 'speaker' && | ||
| packet.value?.case !== 'transcription' && | ||
| packet.value?.case !== 'encryptedPacket' | ||
| ) { | ||
| return new EncryptedPacketPayload({ | ||
| value: packet.value, | ||
| }); | ||
| } | ||
| return undefined; | ||
| } | ||
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.
Do we really need to expose
dcEncryptionEnabledhere, or just assign based on the type ofoptions(old vs new)?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.
in JS
E2EEManageris an internal class, so this is not really a big concern to me.We can of course also make it part of the E2EEManagerOptions
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.
ah, I see why I didn't do this in the first place, as the
E2EEManagerOptionsare actually exposed to users under an alias right now.