Commit graph

448 commits

Author SHA1 Message Date
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
fiaxh d02c5bc55d Merge branch groupcalls 2021-12-23 00:46:58 +01:00
Marvin W 8e99ed1e9c RTP: Disable VP9 2021-12-19 22:38:27 +01:00
Marvin W cd6d501c23 RTP: Improve screen resolution update logic 2021-12-19 22:38:00 +01:00
Marvin W b1c1751cc4 DTLS: Use own thread for connection establishment 2021-12-19 22:36:26 +01:00
Translations 4e9957deaf Update translations 2021-12-18 23:40:47 +01:00
Marvin W b07c4187ef RTP: Less log spam 2021-12-18 21:47:50 +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 4f80a9f5cc RTP: Correctly handle timestamp after re-enabling a stream 2021-12-18 21:43:12 +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
fiaxh fa1ba2f83d Remove ContentFilters
fixes #1129 #573
2021-12-09 15:46:16 +01:00
fiaxh 2b3d150949 Improve call details dialog + small multi-party call fixes 2021-11-15 13:29:13 +01:00
Marvin W ec65415186
Optimize encoder for low cpu usage 2021-11-15 23:49:48 +01:00
Marvin W 0b828a0ae5
Add maximum bitrate and adjust video resolution based on bitrate 2021-11-15 22:49:44 +01:00
Marvin W 9958cfbe7b
Log probe for decode QOS 2021-11-11 22:49:48 +01:00
Marvin W 9e5a3895ae
Limit REMB target bitrate to 2x maximum actually seen value 2021-11-11 22:35:45 +01:00
fiaxh e205743f0c Display target bitrates in connection details UI 2021-11-11 21:54:55 +01:00
Marvin W 1b157a20ab
Fix REMB calculation 2021-11-10 23:13:33 +01:00
Marvin W cfe43de5d5
Make elements sync to get proper qos data 2021-11-10 23:13:33 +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 f398135bc8 RTP: Make opus mono-channel 2021-11-10 11:05:34 +01:00
Marvin W dfda2f25f0 DTLS: throw exceptions from SRTP 2021-11-10 11:05:34 +01:00
Marvin W ea19a9c5cb RTP: Only start gstreamer pipeline once needed 2021-11-10 11:05:34 +01:00
Marvin W b593aa05ef RTP: Encode with device 2021-11-10 11:05:34 +01:00
Marvin W 083f73b0ca Split payloader off encoder chain 2021-11-10 11:05:34 +01:00
Marvin W 72569ea52f Improve codec support 2021-11-10 11:05:34 +01:00
Marvin W aae13b9ea6 Crop video to match widget ratio 2021-11-10 11:05:34 +01:00
Translations 44c0e65129 Update translations 2021-10-13 20:11:17 +02: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 237081e573 Fix compiler warnings ('Switch does not handle .. of enum ..') 2021-10-12 19:43:57 +02:00
fiaxh e8c162eae3 Fix misc compiler warnings 2021-10-12 19:43:57 +02:00
fiaxh 76e425ed27 Fix compiler warnings ('assignment .. from incompatible pointer type') by returning non-const after_actions in OrderListener 2021-10-12 17:59:47 +02:00
fiaxh 8d8dcf5af6 Fix compiler warnings ('[GtkChild] fields must be declared as `unowned'') 2021-10-12 17:58:18 +02:00
Translations 6ca47bf795 Update translations 2021-09-25 16:13:44 +02:00
Translations ce227f7189 Update translations 2021-09-24 23:10:28 +02:00
fiaxh 83fcc295fe Use own STUN fallback server
fixes #1078
2021-08-09 18:50:22 +02:00
fiaxh ce292d03e3 Don't remove characters after '#' in filename 2021-06-07 10:00:47 -06:00
Marvin W 686035ca1e
RTP: Handle missing rtp pay/depay elements 2021-05-15 19:55:44 +02:00
Marvin W 6399892bf2
Move crypto-vala to shared library 2021-05-14 19:26:05 +02:00
Marvin W bec73ed371
RTP: Fix GStreamer version check 2021-05-14 10:17:51 +02:00
Marvin W 3bfd407843
Calls: Use vp8depay.wait-for-keyframe only with GStreamer 1.16+ 2021-05-11 22:11:44 +02:00
fiaxh d71604913d Merge remote-tracking branch 'origin/feature/calls' 2021-05-11 12:57:02 +02:00
fiaxh 90f9ecf62b Calls: Indicate whether OMEMO key is verified 2021-05-11 12:52:00 +02:00
Marvin W 8044b546d0
Support voice processing on GStreamer 0.14 2021-05-02 18:03:03 +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 7d2e647690 Improve call wording, cleanup 2021-05-01 21:51:24 +02:00
Marvin W 0409f55426
Fix webcam framerate selection 2021-05-01 17:27:55 +02:00
Marvin W d388525fc6
Correctly handle missing webrtc-audio-processing 2021-05-01 16:00:37 +02:00
Marvin W 23ffd37dde
Echo Cancellation 2021-05-01 15:48:51 +02:00
fiaxh 421f43dd8b Add support for OMEMO call encryption 2021-04-29 16:13:25 +02:00
fiaxh 5d85b6cdb0 Handle non-existant call support 2021-04-29 16:13:25 +02:00
Marvin W 3880628de4
Video optimizations 2021-04-29 15:53:59 +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 fe160d94ba
Handle broken VAPI in older vala 2021-04-11 16:28:59 +02:00
Translations e32b49b68f Update translations 2021-04-11 15:59:37 +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
Marvin W 6ebdec1d78
GStreamer compat 2021-04-11 12:31:03 +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 4ce2bd8cd2 Set omemo+openpgp database properties to be the same as main db 2021-04-07 21:31:47 +02:00
fiaxh 3454201e5a Use outgoing JMI if contact has supporting device 2021-04-01 12:03:04 +02:00
Marvin W c5ab4fed87
Fix bug in legacy SRTP decryption 2021-04-01 11:51:35 +02:00
Marvin W c5cb43350a
Remove unnecessary debug code 2021-04-01 11:51:12 +02:00
Marvin W 5e58f29883
Migrate to libsrtp2 2021-03-29 13:20:12 +02:00
Marvin W 9520a81b81
Don't reuse PTs for different media types 2021-03-29 13:14:37 +02:00
Marvin W fd21eafe26
Fix cyclic reference in DTLS 2021-03-29 13:14:10 +02:00
Marvin W fc3263d49e
Fix device manager usage for GStreamer 1.16 2021-03-26 15:18:04 +01:00
fiaxh ec35f95e13 Add initial support for DTLS-SRTP 2021-03-25 14:45:54 +01:00
Marvin W 4b230808b9
Move SRTP implementation into crypto library for reuse 2021-03-23 20:04:28 +01:00
Marvin W 97ab7de7ab
Mark ICE component as ready even without the event 2021-03-23 15:11:00 +01:00
Marvin W b01f6f9ef7
Resample audio data for common 48k sample rate 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 b393d41601
Add support for SRTP 2021-03-23 15:11:00 +01:00
Marvin W cde1e38f5d
RTP: Backport gst_caps_copy_nth from GStreamer 1.16 2021-03-21 15:43:54 +01:00
Marvin W ef2e3c774c Add RTP implementation as plugin 2021-03-21 12:41:38 +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
Marvin W 64237a83a4
CMake: Make STATIC explict where needed 2021-03-06 10:25:56 -06:00
Translations ea678bb8d8 Update translations 2021-03-04 09:38:26 -06:00
fiaxh ad031ee333 Remove unnecessary Soup dependency from OMEMO plugin
fixes #983
2021-01-28 14:02:24 +01:00
Translations fc18e781a5 Update translations + DOAP 2021-01-11 20:37:24 +01:00
fiaxh cc01374d3c Use advertized/server/live time for sorting instead of arrival time
fixes #310
2020-12-04 19:11:27 +01:00
fiaxh f31e96d6bb Improve contact description in OMEMO warnings
fixes #947
2020-12-04 17:16:09 +01:00
fiaxh 881b9eec9d Improve entity identity getter 2020-11-20 15:21:18 +01:00
fiaxh d0488401ce Use WeakMap for message caching 2020-11-14 17:05:46 +01:00
Translations 7726c0b75b Update translations 2020-11-12 18:28:56 +01:00
Translations b2c7e9dfff Make some strings translatable, update translations 2020-11-10 14:04:57 +01:00
Translations 6218b759bf Update translations 2020-11-04 18:12:01 +01:00
Kim Alvefur 0b145c69e9
Swedish translations (#936)
* Swedish translations

* Translate OMEMO strings to Swedish
2020-11-04 13:26:34 +01:00
fiaxh 2e0357877c Fix some compiler warnings 2020-10-27 16:05:30 +01:00
Translations d42918b0ab Update translations 2020-10-07 20:52:53 +02:00
Marvin W 1956f63179
Set key size for omemo http file transfers to 256 bits
Fixes #909
2020-09-15 20:32:09 +02:00
Marvin W cd5b639a82
Send OMEMO-encrypted messages and files using 12 byte IV 2020-09-14 22:04:06 +02:00
Translations 1534aa3a5e Update translations 2020-09-10 20:18:18 +02:00
fiaxh 3563232df0 OMEMO: Don't trigger "Not encrypted to this device" warning for messages w/o payload 2020-09-10 19:35:05 +02:00
fiaxh 49bcbdaa51 Fix initial file encryption displaying
fixes #831
2020-09-07 15:14:29 +02:00
Translations ff9a9a0d66 Update translations 2020-08-01 23:02:44 +02:00
fiaxh e159fd2492 Only query entity caps when we need them 2020-07-16 23:31:19 +02:00
Marvin W af98b8ea0f
Fix rare 1 byte buffer over-read 2020-06-28 11:53:43 +02:00
fiaxh 886a519d85 Don't offer encryption in MUC PMs 2020-06-23 15:54:12 +02:00
fiaxh 0beb592c5a Use sqlite UPSERT 2020-06-10 23:40:00 +02:00
fiaxh b72ea08d03 Show unencryptable/untrusted OMEMO warnings also in MUCs
fixes #857
2020-06-05 01:28:42 +02:00
Translations 82ce2426c1 Update translations 2020-05-17 20:07:48 +02:00
Translations c6cf90a923 Update translations 2020-05-16 19:14:54 +02:00
fiaxh 51a2372869 Add file upload preview
fixes #756
2020-04-22 15:44:12 +02:00
fiaxh 7c4260eed7 Remove features from service discovery module when detaching module from stream
fixes #179
fixes #812
2020-04-21 16:25:21 +02:00
Marvin W fbd70ceaac
Bump libsignal-protocol-c version to 2.3.3 2020-04-13 19:56:45 +02:00
Translations 5b9199e7d4 Update translations 2020-04-12 22:35:42 +02:00
Translations d3e58291e7 Update translations 2020-04-11 00:28:51 +02:00
fiaxh 5b2683dfa5 Last message correction fixes 2020-04-06 15:33:43 +02:00
fiaxh 871ff33ac7 Add support for last message correction 2020-04-03 22:49:59 +02:00
fiaxh 1016529c36 Visually mark OMEMO messages from a trusted device as trusted 2020-03-29 20:24:39 +02:00
fiaxh c029da49bc Warn about undecrypted and untrusted messages 2020-03-29 20:24:38 +02:00
mbeko 5a98d2919b Change UI messages for more clarity 2020-03-24 22:19:38 +01:00
Alexander Krotov b9125b7e3e Enable secure_delete PRAGMA on SQLite databases (#370)
It is especially important for OMEMO database, as it stores *ephemeral* keys
2020-02-21 20:49:36 +01:00
Translations 29bcba2580 Update translations 2020-02-16 16:56:12 +01:00
fiaxh 7d699a2ed2 Rename zh_Hans -> zh_CN and zh_Hant -> zh_TW
fixes #524
2020-01-29 00:38:12 +01:00
Translations 74dc1c1739 Update translations 2020-01-29 00:38:07 +01:00
Marvin W 4a9c05ea37
Enabling display of more compiler warnings and fix some of them
Most of these are caused by various issues is the Vala compiler,
but it doesn't hurt to display them and report them upstream.
2020-01-21 21:55:08 +01:00
Marvin W 55b148a0f7
Use system provided libsignal-protocol-c by default
You can still compile in tree by using --with-libsignal-in-tree flag
2020-01-21 21:55:08 +01:00
Marvin W 41f9827166
Improve log messages for OMEMO sending issues 2020-01-15 23:45:00 +01:00
Marvin W 3cfe0d60f6
Initialize GCrypt on libsignal setup 2020-01-15 19:31:47 +01:00
Marvin W b2af8c5112
Fix various typing issues in signal bindings 2020-01-09 13:39:36 +01:00
Marvin W 8cca049e5c
Fix file receival in groupchat pmsx 2020-01-09 13:21:54 +01:00
Marvin W 4a3cef89fd
Don't allow newlines in URLs, also clean up on http file transfer detection 2019-12-26 15:46:58 +01:00
Translations 2d8a1374ad Update translations 2019-12-24 23:31:17 +01:00
Marvin W a0a956ee08
Properly check Jids everywhere 2019-12-23 16:58:53 +01:00
Marvin W 6257e9705c
OMEMO: Improve handling of newly added devices 2019-12-23 16:49:56 +01:00
Translations 013786a120 Update translations 2019-12-19 15:26:54 +01:00
fiaxh c3532bdf31 Refactor MAM catchup. Fetch from latest to earliest message. 2019-12-18 20:35:04 +01:00
Marvin W bd45fdf1e1
Add version and adjust some cmake 2019-12-18 00:51:49 +01:00
Translations 11c18cdf72 Update translations 2019-12-16 21:23:18 +01:00
fiaxh 21c01dcdcb Omemo contact details dialog: Only show inactive keys Expander if there are any 2019-12-13 20:55:39 +01:00
Wiktor Kwapisiewicz 687ec1a159 Add support for HTTP Upload headers
Some services use Authorization header [0] to pass upload credential
data. This avoids the token being exposed in server logs and is allowed
by XEP-0363 since version 0.5.0.

This change adds support for headers allowed in XEP-0363: Authorization,
Expires and Cookie.

[0]: https://xmpp.org/extensions/xep-0363.html#request
2019-11-19 21:24:28 +01:00
Translations 65feaece87 Update translations 2019-11-14 01:56:13 +01:00
Wiktor Kwapisiewicz 0acbe4855d Fix reporting failed HTTP upload
Status code can't be less than 200 and greater than or equal 300 at the same
time. Using || instead of && marks all uploads that do not have 2xx status code
as "failed".
2019-11-04 15:15:28 +01:00
fiaxh 247a368150 OMEMO: Don't set publish options, configure only bundle node instead 2019-11-04 15:11:36 +01:00
Marvin W 388cc56674
Fix OMEMO file transfer GCM tag 2019-10-28 22:38:54 +01:00
fiaxh 0082d376af Fix accept/reject new OMEMO key buttons in current Adwaita theme versions 2019-10-28 01:28:40 +01:00
fiaxh 26e970a4d4 Colapse inactive keys in OMEMO keys dialog 2019-10-22 01:23:43 +02:00
fiaxh c032ab00ec Don't send delivery recipts or chat states for own messages
fixes #631
2019-10-22 01:23:08 +02:00