Yash
709052d8b2
feat(ts) migrate SAS to TS
9 kuukautta sitten
Saúl Ibarra Corretgé
f0e3cb289c
feat(lint) update linter and apply it to TS code
9 kuukautta sitten
Saúl Ibarra Corretgé
793f7ce575
feat(e2ee) add ability to disable the feature
1 vuosi sitten
Saúl Ibarra Corretgé
97bbb1c576
chore(deps) use lodash-es
1 vuosi sitten
Jonathan Lennox
c1efaa2b89
Don't enqueue 'undefined' on the TransformStream if _decryptFrame fails. (#2376)
2 vuotta sitten
Saúl Ibarra Corretgé
0cc323d96e
fix(misc) use safeJsonParse from js-utils
2 vuotta sitten
Jorge Oliveira
1714bf079c
fix(e2ee) call correct function to update key
s/updateCurrentKey/updateCurrentMediaKey/g
2 vuotta sitten
tmoldovan8x8
751b363080
feat(e2ee) add ability to verify participants using a SAS mechanism
It implements SAS verification as per the Matrix spec, adapted to our environment.
3 vuotta sitten
Saúl Ibarra Corretgé
dcbfdac10d
chore(deps,eslint) update eslint-jitsi-config
3 vuotta sitten
tmoldovan8x8
c29de010e8
fix(e2ee) discards frames that cannot be decrypted
3 vuotta sitten
Nils Ohlmeier
411f8f81e0
fix potential race condition when en-/dis-abling E2EE
3 vuotta sitten
Jorge Oliveira
043149046b
ref(e2ee) mark _decryptFrame function with correct jsdoc
the editor will no longer complain about superfluous await when calling
3 vuotta sitten
Jorge Oliveira
26f05c4207
ref(e2ee) make tests compatible with new karma/jasmine versions
it removed support for functions being simultaneous async and have done parameter in callback
3 vuotta sitten
Jorge Oliveira
43ae27f990
ref(e2ee) change jsdoc return to correct promise
the editor will no longer complain about superfluous await when calling these functions
3 vuotta sitten
titus.moldovan
5c23a28087
fix(e2ee) adds promise to map when sending key onParticipantPropertyChanged
3 vuotta sitten
titus.moldovan
67f43eeef8
fix(e2ee) keeps the initial key when decryption error
3 vuotta sitten
Jaya Allamsetty
5ae19379aa
ref(JitsiConference) Make methods getMediaSessions and getActiveMediaSession public.
3 vuotta sitten
Saúl Ibarra Corretgé
6bb981532d
fix(e2ee) removed no longer needed code
4 vuotta sitten
Saúl Ibarra Corretgé
526bd5a94c
chore(lint) tame the new linter
4 vuotta sitten
Saúl Ibarra Corretgé
c24130622e
chore(deps) adapt to logger package rename
4 vuotta sitten
Daniel McAssey
4498f65fcc
fix(e2ee): fix loading web worker when using a relative path inside a blob for the E2EE context
4 vuotta sitten
tmoldovan8x8
afc006e99a
feat(e2ee) add ExternallyManagedKeyHandler
4 vuotta sitten
Daniel McAssey
fbebebd75d
fix: logger calling wrong function typo
4 vuotta sitten
Saúl Ibarra Corretgé
86f6c25638
fix(e2ee) replace nullish coalescing with or
For some reason webpack seems to not be transpiling that properly.
Fixes: https://github.com/jitsi/lib-jitsi-meet/issues/1722
4 vuotta sitten
tmoldovan8x8
2e1ca64654
fix(e2ee) restore initial key when RATCHET_WINDOW_SIZE reached
4 vuotta sitten
Saúl Ibarra Corretgé
61c977f70a
feat(e2ee) add support for WebRTC Encoded Transform
An alternative to Insertable Streams, currently implemented in Safarii / WebKit.
https://w3c.github.io/webrtc-encoded-transform/
Fixes: https://github.com/jitsi/jitsi-meet/issues/9585
4 vuotta sitten
Philipp Hancke
ba2958c014
e2ee: remove legacy apis (#1653)
remove legacy APIs which are not even supported anymore
4 vuotta sitten
tmoldovan8x8
dd902dd33d
fix(e2ee): destroys olm session on disabling e2ee
4 vuotta sitten
Jaya Allamsetty
17f968fdea
fix(logger): Logging enhancements.
Get rid of noisy logs related to SDP transformations which are redundant. Fix formatting and add missing information.
4 vuotta sitten
tmoldovan8x8
e354745db5
task(e2ee): switch back to GCM
4 vuotta sitten
tmoldovan8x8
49c4e75f37
bugfix(e2ee): frees olm session and rotates key when remote participant disabled e2ee
4 vuotta sitten
tmoldovan8x8
2b94da12e8
feat(e2ee): makes olm sessions initialisation lazy
4 vuotta sitten
Saúl Ibarra Corretgé
cacf6c7b56
feat(e2ee) update to SFrame draft -02
Drop end to end signature. The impersonation attack vector is deemed out of
scope since insiders are already part of the meeting.
4 vuotta sitten
Saúl Ibarra Corretgé
6a7b16c33e
fix(e2ee) fix disabling E2EE
When E2EE is disabled we need just set the last key to `false`. When decoding we
need to check if the last key is not false, otherwise we might try to decrypt
the unencrypted video frames, thus resulting in breakage.
4 vuotta sitten
Ahmet Sarı
16aaa125dd
fix(e2ee) fix key index after ratchetting
- After ratchet do not set it as new key for current index. Set it to correct position in crypto ring.
4 vuotta sitten
Philipp Hancke
6784189600
(feat) e2ee: sign and verify frames (#1373)
Signs and verifies frames. For now this is done on every frame.
This is not the long-term goal and there needs to be a better strategy.
5 vuotta sitten
Saúl Ibarra Corretgé
c77487685e
feat(e2ee) log Olm version
5 vuotta sitten
Saúl Ibarra Corretgé
b65b1784df
feat(e2ee) publish olm id key in presence
5 vuotta sitten
Saúl Ibarra Corretgé
b5aeba27b9
feat(e2ee) emit PARTICIPANT_E2EE_CHANNEL_READY also for the initiator
5 vuotta sitten
Philipp Hancke
9331243236
e2ee: rename constants to upper-case
and add a few new ones.
5 vuotta sitten
Philipp Hancke
9e10554e55
e2ee: clean up tests
and make them a bit more concise. No functional changes
5 vuotta sitten
Philipp Hancke
00c8cfad98
e2ee: sync key ring size and packet format
this uses the full four bits in the wire format. The wire format
looses the (currently not implemented) extensibility with variable
length keys.
5 vuotta sitten
Philipp Hancke
666f1006de
e2ee: add unit tests
Both for just encode function as well as an end-to-end test.
5 vuotta sitten
Philipp Hancke
687a82e5a1
e2ee: move context to separate file
to allow writing tests
5 vuotta sitten
Philipp Hancke
12604d96ff
e2ee: refactor and clean up
in particular this allows sharing the ratcheting between the E2EEncryption
module and the Worker.
5 vuotta sitten
Saúl Ibarra Corretgé
25f08f97c3
e2ee: sync ratchetted key with olm layer
5 vuotta sitten
Saúl Ibarra Corretgé
159ea5357b
e2ee: remove no longer needed code
5 vuotta sitten
Philipp Hancke
4a6e493f41
e2ee: Ratchet the key forward on authentication tag errors
similar to what is explained here:
https://tools.ietf.org/html/draft-omara-sframe-00#section-4.3.5.1
but we do it on authentication tag failures since it is not possible
to tell whether decrypt.
5 vuotta sitten
Philipp Hancke
4b71f96beb
e2ee: fix authentication tag check
this needs to be called with an Uint8Array, not an ArrayBuffer
5 vuotta sitten
Philipp Hancke
b6821ddb65
e2ee: refactor to make it clear when to ratchet
refactor the signature checking to make it clear when we need to ratchet.
This is similar to
https://tools.ietf.org/html/draft-omara-sframe-00#section-4.3.5.1
but we verify the hash before attempting to decrypt.
5 vuotta sitten