Philipp Hancke
687a82e5a1
e2ee: move context to separate file
to allow writing tests
5 yıl önce
Philipp Hancke
12604d96ff
e2ee: refactor and clean up
in particular this allows sharing the ratcheting between the E2EEncryption
module and the Worker.
5 yıl önce
Saúl Ibarra Corretgé
25f08f97c3
e2ee: sync ratchetted key with olm layer
5 yıl önce
Saúl Ibarra Corretgé
159ea5357b
e2ee: remove no longer needed code
5 yıl önce
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 yıl önce
Philipp Hancke
4b71f96beb
e2ee: fix authentication tag check
this needs to be called with an Uint8Array, not an ArrayBuffer
5 yıl önce
pavinduLakshan
c5f624b879
fixed incorrect kick() with kickParticipant() in doc/API.md
5 yıl önce
Hristo Terezov
679497938f
feat: Adds a method that finds the SSRC of a JitsiTrack (#1338)
Adds a JitsiConference.getSsrcByTrack() method that finds the SSRC of a JitsiTrack by its SSRC. This method is currently used to get (and display) the first audio/video SSRC in the GSM popover in Jitsi Meet.
Co-authored-by: George Politis <gp@jitsi.org >
5 yıl önce
Hristo Terezov
b881ccbcc7
feat(external-storage): Support.
5 yıl önce
Hristo Terezov
e557b2107c
fix(karma): After adding 2nd webpack configuration
5 yıl önce
Jaya Allamsetty
2297608140
feat(video-quality): Add a log message for max. height message received from JVB
5 yıl önce
Andrei Gavrilescu
a0b8a9c862
feat(TPC): add p2p rtcstats meta info to tpc (#1331)
* add p2p meta info to pc
* fix typos
5 yıl önce
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 yıl önce
Philipp Hancke
85fde1aeae
e2ee: use CTR instead of GCM
following
https://tools.ietf.org/html/draft-omara-sframe-00
but putting the frame metadata into a trailer instead of a header.
We call this JFrame.
Also the key we get from OLM is high entropy so we do not need
to use PBKDF2 but can use HKDF instead. See
https://wiki.developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/deriveKey#HKDF
5 yıl önce
Jaya Allamsetty
4126064855
fix(callstats): Go back to enabling callstats on % of users rather than conferences
5 yıl önce
Philipp Hancke
cf1305bdd2
e2ee: detect transferable streams
Since we use transferable streams to transfer the streams to the worker
we need to feature detect them as Chrome 86 will launch Insertable Streams
by default without shipping transferable streams yet (status still unclear,
it might still ship too)
See here for the feature detection used:
https://groups.google.com/a/chromium.org/g/blink-dev/c/1LStSgBt6AM/m/hj0odB8pCAAJ
5 yıl önce
Jaya Allamsetty
a433ca2dbc
feat(stats): Add the ability to enable callStats only on a certain % of conferences
5 yıl önce
damencho
43e7c853b8
fix: Fix ws reconnect piling up previd param.
5 yıl önce
Jaya Allamsetty
0b258aa4ba
fix: Do not negotiate H264 when E2EE is enabled
5 yıl önce
Jaya Allamsetty
79a88d6434
fix(video-quality): make sure the LD stream is enabled even when requested resolution is lower
This should fix the case when camera is started with 1080p and LD simulcast stream's resolution is 270p but the requested resolution is 180p.
5 yıl önce
Saúl Ibarra Corretgé
84288bd2a2
e2ee: update comment
5 yıl önce
Saúl Ibarra Corretgé
f761413976
e2ee: avoid CORS issues with the worker bundle
5 yıl önce
Aaron van Meerten
a3e9f1c39f
fix: update token doc for tenant details, new prosody (#1316)
5 yıl önce
Saúl Ibarra Corretgé
735c30ec4f
e2ee: introduce per-participant randomly generated keys
This the second stage in our E2EE journey.
Instead of using a single pre-shared passphrase for deriving the key used for
E2EE, we now establish a secure E2EE communication channel amongst peers.
This channel is implemented using libolm, using XMPP groupchat or JVB channels
as the transport.
Once the secure E2EE channel has been established each participant will generate
a random 32 byte key and exchange it over this channel.
Keys are rotated (well, just re-created at the moment) when a participant joins
or leaves.
5 yıl önce
Saúl Ibarra Corretgé
5322ddd6b5
e2ee: use a separate bundle for the worker
Avoid having to use a code blob.
5 yıl önce
Saúl Ibarra Corretgé
dfd68d486c
xmpp: log JSON message parsing errors
5 yıl önce
Saúl Ibarra Corretgé
80ba679eca
xmpp: only parse JSON messages when they actually exist
5 yıl önce
Andrei Gavrilescu
ccaeb9f25f
fix(RTCUtils): system audio share multiple desktop
5 yıl önce
Paul Tiedtke
fe7d5a7ebf
fix(RTCUtils): Cannot read property 'find' of undefined
This error happens in getCurrentlyAvailableMediaDevices
5 yıl önce
Philipp Hancke
92ea388ce9
e2ee: update for latest chrome changes
see https://bugs.chromium.org/p/chromium/issues/detail?id=1119653
We'll probably do similar renaming in the future.
5 yıl önce
Jonathan Lennox
94318fce12
feat: Allows jvb to control DTLS/SRTP protection profile. (#1300)
We're pretty sure it's no longer necessary with JVB2; and it costs
half an RTT in setup, and stops us being able to choose which
DTLS/SRTP protection profile to use.
5 yıl önce
bgrozev
65df5b1da6
Enable opus/red for the conference even when the browser doesn't support it. (#1309)
* Enable opus/red for the conference even when the browser doesn't support it.
* squash: Remove unused import
5 yıl önce
Boris Grozev
4a98a10630
fix: Only advertise opus-red if the browser supports it.
5 yıl önce
Boris Grozev
16fe22e9c9
Advertise support for opus/red.
5 yıl önce
Jaya Allamsetty
cc6ea8bc03
fix(video-quality): Fix a typo, max. bitrates are always applied on unified plan clients
5 yıl önce
paweldomas
376e5176b3
feat(xmpp): resume the connection when online
The XmppConnection will try to resume the connection
only when the internet is online. This speeds up the process
by avoiding unnecessary connect attempts while offline as each
failed attempt increases the backoff delay.
5 yıl önce
paweldomas
9018c34f7a
feat: detect broken XMPP WebSocket using ping
If ping timeouts two times in a row (25 seconds total)
the XMPP WebSocket connection will be killed and restarted.
5 yıl önce
paweldomas
d0f0e98714
fix(XmppConnection.connected): check the underlying websocket
..readyState to tell if the connection is connected.
5 yıl önce
paweldomas
a14a846fb4
fix(XmppConnection): sendIQ2 pass the 'timeout'
5 yıl önce
Jaya Allamsetty
7868a6c185
ref(video-quality): Resolve sender operations when RTCRtpSender/RTCRtpSendParameters are not found.
The constraints are applied again after renegotiation is done. This should mitigate a fail case on Safari when the RTCRtpSendParameters are not available until the simulcast streams are added via SDP munging before sLD is called.
5 yıl önce
Jaya Allamsetty
19b350df3c
ref(TPC): Do not add/remove video tracks from TPC for unmute/mute case on Safari.
Only add/remove the tracks from the peerconnection so that the camera led turns off on mute.
5 yıl önce
Jaya Allamsetty
837996ef8e
ref(unified-plan): Fix unified plan p2p case.
Configure the encodings on FF after the track is added.
5 yıl önce
Jaya Allamsetty
10c6136bd5
ref: Calculate the local video stream height constraints based on the current state
5 yıl önce
Jaya Allamsetty
71b867233c
feat(video-quality): Implement max bitrates for video on p2p sessions
Calculate the bitrate based on the sender video constraint applied on the track and the bitrates specified for different resolutions.
5 yıl önce
paweldomas
d36d72db48
feat: send conference.left analytics event
...which contains conference duration in seconds and
performance stats (currently long tasks).
5 yıl önce
paweldomas
a73de37b2b
feat(chrome|safari): stop the video for maxFrameHeight 0
5 yıl önce
paweldomas
902f02af8f
fix(tests): source maps for Karma
5 yıl önce
paweldomas
ca6b08a775
feat: restart Jingle session on ICE failed
If ICE fails will set the special request restart attribute
in the 'session-terminate' sent to Jicofo in order to restart
the Jingle session.
5 yıl önce
paweldomas
4837f304db
fix(xmpp/Caps): features for a user without caps support
If there's no capabilities version mapping to user's jid
still allow to discover features (that's the case for Jicofo).
5 yıl önce
paweldomas
3ac00edfd5
ref(IceFailedHandling): use ping instead of networkInfo
Simplifies the logic for delayed ICE failed event by relying
on XMPP ping instead of the networkInfo module to check
if the internet is online.
5 yıl önce