Commit graph

39 commits

Author SHA1 Message Date
hrxi 3edda368f3 meson: Add ice plugin 2023-10-06 15:25:12 +02:00
Marvin W 7357b7ecfb Fix certificate start time
I doubt anyone ever looked at it, but it shouldn't be 1 day in the future ;)
2023-07-09 14:32:33 +02:00
Marvin W 1bf57a42fa Do not send DTLS datagrams to RTP even after handshake
Also post debug message in case we drop datagrams
2023-07-09 14:32:33 +02:00
Stephen Paul Weber f82f788f43 Ignore non-DTLS data before handshake is complete
https://datatracker.ietf.org/doc/html/rfc9147#name-demul
https://datatracker.ietf.org/doc/html/rfc5764#section-5.1.2

If data is received before handshake is complete, discard it rather than
forwarding it blindly to GnuTLS which can get confused.
2023-07-09 14:32:33 +02:00
Marvin W a2f2224781
DTLS: Use ECDSA key 2022-10-28 18:36:46 +02:00
fiaxh 7e7dcedaf3 Port from GTK3 to GTK4 2022-07-27 20:34:20 +02:00
Marvin W 28248607f0
DTLS: Handle DTLS fingerprint in transport-info before session-accept 2022-02-09 23:58:54 +01:00
Marvin W 51dc414631
Use uppercase hex for DTLS fingerprints 2022-02-06 00:19:26 +01:00
Marvin W 9490ffed6b
Fixes for older valac versions 2021-12-25 18:25:29 +01:00
Marvin W 1c47652814
Fix build with older Vala compilers
- Older versions seem to assume a wrong type for Nice messages
- Older versions have broken bindings for Gst.Value.set_fraction
2021-12-23 07:06:07 +01:00
Marvin W b1c1751cc4 DTLS: Use own thread for connection establishment 2021-12-19 22:36:26 +01:00
Marvin W 9aeff4bf9e SRTP: Do not continue processing data after encrypt/decrypt failed
RTP: Copy less
2021-12-18 21:45:36 +01:00
Marvin W 09cd060889 ICE: Use non-blocking send 2021-12-18 21:39:19 +01:00
Marvin W 52698a23d3 ICE: Run receiver in own thread 2021-12-18 22:35:52 +01:00
Marvin W 0fe24c4339 Register local ip address handler for raw udp 2021-11-10 11:05:34 +01:00
Marvin W c9194973de Log when DTLS-SRTP has errors 2021-11-10 11:05:34 +01:00
Marvin W 6fa5702e9c ICE: Report transferred bytes for UI 2021-11-10 11:05:34 +01:00
Marvin W dfda2f25f0 DTLS: throw exceptions from SRTP 2021-11-10 11:05:34 +01:00
fiaxh 9285fd07bf Fix compiler warnings ('Type `uint8[]' can not be used for a GLib.Object property') 2021-10-12 19:43:57 +02:00
fiaxh 83fcc295fe Use own STUN fallback server
fixes #1078
2021-08-09 18:50:22 +02:00
fiaxh 0ad968df36 Use the same DTLS fingerprint in all contents. Display audio+video enc keys in UI if they differ. 2021-05-01 22:57:38 +02:00
fiaxh 421f43dd8b Add support for OMEMO call encryption 2021-04-29 16:13:25 +02:00
fiaxh 328c3cf37f Fix bad syntax in gnutls vapi, add libsrtp2 dependency to CI builds 2021-04-12 22:22:39 +02:00
Marvin W 2bee82f0b6
ICE: Require libnice 0.1.15 or newer 2021-04-12 18:05:55 +02:00
Marvin W d19a01d5f2
Handle DTLS edge-cases 2021-04-12 18:05:08 +02:00
Marvin W 4edab3c8d6
Fix custom vapi integration 2021-04-11 15:13:22 +02:00
Marvin W e9ff660537
Fix usage of old libnice versions 2021-04-11 15:13:22 +02:00
fiaxh dfffa08ec1 Fix warnings 2021-04-11 14:42:59 +02:00
fiaxh 5e11986838 Fix dtls pull_timeout_function, fix cyclic references 2021-04-09 22:23:56 +02:00
Marvin W fbc10c2023 DTLS-SRTP: Wait for setup finish and handle setup=passive 2021-04-09 22:23:53 +02:00
fiaxh 8d1c6c29be Display+store call encryption info 2021-04-09 22:23:13 +02:00
fiaxh 3454201e5a Use outgoing JMI if contact has supporting device 2021-04-01 12:03:04 +02:00
Marvin W 5e58f29883
Migrate to libsrtp2 2021-03-29 13:20:12 +02:00
Marvin W fd21eafe26
Fix cyclic reference in DTLS 2021-03-29 13:14:10 +02:00
fiaxh ec35f95e13 Add initial support for DTLS-SRTP 2021-03-25 14:45:54 +01:00
Marvin W 97ab7de7ab
Mark ICE component as ready even without the event 2021-03-23 15:11:00 +01:00
Marvin W c8a37c0246
Make foundation a string 2021-03-23 15:11:00 +01:00
Marvin W d703b7c09d Add libnice-based ICE-UDP implementation as plugin 2021-03-21 12:41:27 +01:00
hrxi 148cf48d2b Add libnice and listen for direct connections in Jingle SOCKS5 (#608)
Add libnice as a plugin. If it is present, use libnice to enumerate
local IP addresses and listen on them to support direct connections for
Jingle SOCKS5.

Tested with Conversations and Gajim.

Created the nice.vapi file using
```
vapigen --library nice --pkg gio-2.0 --metadatadir metadata /usr/share/gir-1.0/Nice-0.1.gir
```
2021-03-19 22:06:02 +01:00