瀏覽代碼

e2ee: remove encodedFrameType workaround (#1099)

no longer required as of Chrome 84.0.4108.0 and has been merged into M83 as well.
master
Philipp Hancke 5 年之前
父節點
當前提交
c3fd3431a6
沒有連結到貢獻者的電子郵件帳戶。
共有 1 個檔案被更改,包括 8 行新增11 行删除
  1. 8
    11
      modules/e2ee/E2EEContext.js

+ 8
- 11
modules/e2ee/E2EEContext.js 查看文件

304
         const keyIndex = data[encodedFrame.data.byteLength - 1];
304
         const keyIndex = data[encodedFrame.data.byteLength - 1];
305
 
305
 
306
         if (this._cryptoKeyRing[keyIndex]) {
306
         if (this._cryptoKeyRing[keyIndex]) {
307
-            // TODO: use encodedFrame.type again, see https://bugs.chromium.org/p/chromium/issues/detail?id=1068468
308
-            const encodedFrameType = encodedFrame.type
309
-                ? (data[0] & 0x1) === 0 ? 'key' : 'delta' // eslint-disable-line no-bitwise
310
-                : undefined;
311
             const iv = new Uint8Array(encodedFrame.data, encodedFrame.data.byteLength - ivLength - 1, ivLength);
307
             const iv = new Uint8Array(encodedFrame.data, encodedFrame.data.byteLength - ivLength - 1, ivLength);
312
-            const cipherTextStart = unencryptedBytes[encodedFrameType];
313
-            const cipherTextLength = encodedFrame.data.byteLength - (unencryptedBytes[encodedFrameType] + ivLength + 1);
308
+            const cipherTextStart = unencryptedBytes[encodedFrame.type];
309
+            const cipherTextLength = encodedFrame.data.byteLength - (unencryptedBytes[encodedFrame.type]
310
+                + ivLength + 1);
314
 
311
 
315
             return crypto.subtle.decrypt({
312
             return crypto.subtle.decrypt({
316
                 name: 'AES-GCM',
313
                 name: 'AES-GCM',
317
                 iv,
314
                 iv,
318
-                additionalData: new Uint8Array(encodedFrame.data, 0, unencryptedBytes[encodedFrameType])
315
+                additionalData: new Uint8Array(encodedFrame.data, 0, unencryptedBytes[encodedFrame.type])
319
             }, this._cryptoKeyRing[keyIndex], new Uint8Array(encodedFrame.data, cipherTextStart, cipherTextLength))
316
             }, this._cryptoKeyRing[keyIndex], new Uint8Array(encodedFrame.data, cipherTextStart, cipherTextLength))
320
             .then(plainText => {
317
             .then(plainText => {
321
-                const newData = new ArrayBuffer(unencryptedBytes[encodedFrameType] + plainText.byteLength);
318
+                const newData = new ArrayBuffer(unencryptedBytes[encodedFrame.type] + plainText.byteLength);
322
                 const newUint8 = new Uint8Array(newData);
319
                 const newUint8 = new Uint8Array(newData);
323
 
320
 
324
-                newUint8.set(new Uint8Array(encodedFrame.data, 0, unencryptedBytes[encodedFrameType]));
325
-                newUint8.set(new Uint8Array(plainText), unencryptedBytes[encodedFrameType]);
321
+                newUint8.set(new Uint8Array(encodedFrame.data, 0, unencryptedBytes[encodedFrame.type]));
322
+                newUint8.set(new Uint8Array(plainText), unencryptedBytes[encodedFrame.type]);
326
 
323
 
327
                 encodedFrame.data = newData;
324
                 encodedFrame.data = newData;
328
 
325
 
329
                 return controller.enqueue(encodedFrame);
326
                 return controller.enqueue(encodedFrame);
330
             }, e => {
327
             }, e => {
331
                 logger.error(e);
328
                 logger.error(e);
332
-                if (encodedFrameType === undefined) { // audio, replace with silence.
329
+                if (encodedFrame.type === undefined) { // audio, replace with silence.
333
                     const newData = new ArrayBuffer(3);
330
                     const newData = new ArrayBuffer(3);
334
                     const newUint8 = new Uint8Array(newData);
331
                     const newUint8 = new Uint8Array(newData);
335
 
332
 

Loading…
取消
儲存