Commit graph

424 commits

Author SHA1 Message Date
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
Marvin W 394862dbd3
Fix wrong size being reported for OMEMO encrypted HTTP file transfers
Fixes #630
2019-10-18 21:10:19 +02:00
fiaxh 8e6db8859c Plugins: Set UI texts in code instead of .ui files to fix translations
Co-authored-by: srgcdev <srg.dev@posteo.net>
2019-10-10 00:21:45 +02:00
fiaxh 7adb0e82fb Fix pubsub item listener notifying 2019-10-02 19:09:29 +02:00
fiaxh 74c29d4df1 Add Bookmarks2 implementation, introduce bookmarks interfaces 2019-09-29 01:53:59 +02:00
Marvin W f746ce74ce
Fix compilation with older gcrypt 2019-09-17 00:36:25 +02:00
Marvin W 9daf18f031
Fix warnings and compilation with older valac 2019-09-16 23:57:48 +02:00
Marvin W 392cb472ab
Add support for JET-OMEMO 2019-09-16 23:31:11 +02:00
Marvin W e899668213
Add JET support 2019-09-16 23:31:11 +02:00
Marvin W 87d64524c8
Add basic crypto-vala 2019-09-16 23:31:11 +02:00
Maxime “pep” Buquet 2a70a4e83f Make TestCase protected for newer vala
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-09-11 15:35:46 +02:00
fiaxh bd7fde99af fixup Fix some warnings 2019-09-10 19:36:11 +02:00
hrxi d5d305193c Fix some warnings
Instances of `RegexError` are just asserted as `assert_not_reached` as
they cannot really fail except for allocation failure if the given regex
is valid.
2019-09-10 19:36:11 +02:00
Translations f0c2ce0047 Update translations 2019-08-28 14:29:55 +02:00
fiaxh d02f7b6a3a Fix runtime critical 2019-08-26 17:20:10 +02:00
fiaxh 0521afa3d8 Fix specified size for encrypted file uploads 2019-08-21 22:37:52 +02:00
fiaxh 3ad2891eb8 Set OMEMO devicelist + bundle node access model to public 2019-08-09 13:44:39 +02:00
fiaxh 08a5088c16 Rework encryption enabling logic + UI 2019-08-02 19:20:04 +02:00
Henrik Ullman 432074ff1b Fix Manage Key dialog string for verified keys (#588) 2019-07-28 16:42:54 +02:00
fiaxh f0abb8aaf9 Refactor file receive/send interfaces and UI 2019-07-18 02:03:42 +02:00
fiaxh 6c480b862e OMEMO: Add debug logs for incoming bundles 2019-07-08 18:46:30 +02:00
fiaxh 06db4d0aa6 OMEMO: Rename variables, refactor can_encrypt 2019-07-08 18:46:30 +02:00
fiaxh a7aa5130f8 OMEMO code cleanup: Move TrustLevel out of Database 2019-07-08 18:46:30 +02:00
fiaxh 837de4063d OMEMO: Move files to fitting subdirectory 2019-07-08 18:46:30 +02:00
Translations 701175fcd3 Update translations 2019-07-04 16:54:05 +02:00