Commit Graph

14083 Commits

Author SHA1 Message Date
4ad78be57f sipcall: avoid use after free on the invite session
pjsip uses a counter to delete objects when the ref counter is equals to 0.
This means that our unique_ptr on the invite will be invalid if resources are
already freed by pjproject. To avoid this, we need to increment and decrement
the counter when we respectively create and destroy our unique_ptr on the
invite session

Change-Id: Ida5c687004b91100f1c10f83e32c1a40264c775c
2019-12-24 11:42:19 -05:00
957cc3f23b rfc6544: resend is_pending status when closing/connecting a new socket
During the negotiation, if the TURN needed to be resetted or got a EBUSY
status, the is_pending boolean was stuck to is_pending=true and the ICE
session was immediately considered as failed.

Change-Id: I0d8caac3ec04fec0ad32d9569013025a9787f7ab
2019-12-24 11:23:58 -05:00
20a0422fdf media: move from git.videolan.org to code.videolan.org
Videolan is moving to gitlab. So, URL must be replaced

Change-Id: I9508336b2528a5272476c0f676d39a45482476c9
2019-12-23 09:32:01 -05:00
c3c15164dd build: link/include with ffmpeg
Gitlab: #54
Change-Id: Ieedfde12a0c9602f8ce664ef99b7205e9899751a
2019-12-20 11:59:17 -05:00
9f28553440 presence: avoid unneeded copy
Change-Id: Ief51be2f11ee65be017d93dbc7b19e6152dd7b91
2019-12-20 11:59:12 -05:00
7362ba1348 tls: make TlsSession owns the transport
TlsSession must be the only one owning the transport. So, instead a reference,
TlsSession stores a unique_ptr and is now able to check if the transport
is still available

Gitlab: #190
Change-Id: I784eef7edd6d5447ba671dcbe453575a03e51ca8
2019-12-20 02:05:58 -05:00
f43df26ce0 contrib: update opendht
Change-Id: Iadb6af6c7d005dca00f3a68282c6acd6403b3605
2019-12-19 16:56:26 -05:00
1191c7db30 p2p: add dht put result log
Change-Id: Ic6eb026538fe4dc80d52aa6748c06884c9b3786b
2019-12-19 16:56:26 -05:00
1cc0d1bd44 presence: support Jami accounts for setSubscriptions
Change-Id: I6ad0e5cefdb677d51cb75745b6c86b245753f18e
2019-12-17 16:15:39 -05:00
fdb9bfecb2 contrib: update OpenDHT
Change-Id: I5e6499cbcba0a294a65664f20eeedc8edf18a2dd
2019-12-17 16:15:39 -05:00
8599bcdd23 build: ignore python utf-8 parsing errors when finding vs lastest dir
Change-Id: Ia03ace8826ac44820c621c9ff2ee1a99b26bbf1b
2019-12-12 12:30:23 -05:00
fb09e1a7f2 upnp: remove restartTimers_
Change-Id: I41fc348e6bcc2a0e042fe9355cb86288065300d4
2019-12-12 10:31:35 -05:00
1f9c191bdb av_utils: cleanup
Change-Id: I6f888fb7432c1a8bb8b3bae90f675e65f40903d5
2019-12-11 13:48:56 -05:00
6c20ddc51c contrib: update opendht
Change-Id: I9c857e9c3f184b1807d6ef9fbf645b6bbc82638a
2019-12-08 16:23:18 -05:00
18cd2e1000 fix: peer hash in file transfer
Change-Id: I44acf2c9cb3b2986a7ea7cc6d7633d3887159996
2019-12-06 10:17:24 -05:00
2437e5b000 contrib: update restinio to 0.6.1.1
Change-Id: I0d5b9e7a228a2bb5ecc33b6ce0ca04733ed9ba0a
2019-12-05 17:29:01 -05:00
31b8adf195 project: fix the bug of identifying env_set logic
Change-Id: Idb13d1e98d9ddf3ae4f68aec27c08e4e25dc1d36
2019-12-05 13:56:07 -05:00
f1bd5c9909 fix: file transfer on macOS
prevent bad access when verifying certificate.

Change-Id: Ic54749f58894b4832f3331a21ca714dfa986f50e
2019-12-04 16:12:37 -05:00
b49029a687 build: ignore python utf-8 parsing errors when decoding env vars
Change-Id: I362550773790643a663b6e8da70b48cb1064b391
2019-12-04 14:22:04 -05:00
444e0f0c3d media: avoid crash in case of unknown format
Change-Id: I72ea80c56c685545cfa2d185174db1a52da04eb6
2019-12-03 17:10:35 -05:00
e30887fa06 contrib: update OpenDHT
Change-Id: Ibe7d113be8153d602e05b483e3b844e0276d7370
2019-12-03 17:10:35 -05:00
b7bbbeb676 contrib: update OpenDHT
Change-Id: I6ef25e132acd201b59f513589203d76855ff7c34
2019-12-03 00:33:01 -05:00
53cca73521 ice: protect icest in addReflexiveCandidates
Change-Id: I196759816d55d412cf2350bb8b94bb0b4421491f
2019-12-03 00:10:13 -05:00
e7d178c941 contrib: update yaml-cpp
Change-Id: Ib7700f2ad5988279e657cf9c6688afc54e31ad31
2019-12-03 00:07:28 -05:00
3babe447a2 natpmp: avoid log flooding in case of an init error
Change-Id: I88ff2997ec436f0f10672fa14471de93395673fa
2019-11-29 16:46:45 -05:00
12742b8cb1 win32: add python build script
Change-Id: I464d2f29173d2bcfdf6ddea5e26ed9e0192e98ae
2019-11-29 13:31:05 -05:00
f4314dbed5 autoadapt: change logs for congestion control algorithm
Change-Id: If74aecfb0703aaadd2e555b2032cf28804b11f58
2019-11-28 15:15:41 -05:00
8a2a00f2a3 socket_pair: avoid unknown packet type messages for Sender Reports
Change-Id: I6e730fb2245fe88a84255f8ffc06449f866f4918
2019-11-28 10:48:52 -05:00
2469eae44f contrib: update OpenDHT
Change-Id: I88d44fe644abdb171c8815eafff49c8e6195087e
2019-11-27 21:56:21 -05:00
46a038aa2d p2p: check address length before parsing
Change-Id: Ic4576fe22b10fc2033cbcd7afe8bb201c57223e1
2019-11-27 21:56:21 -05:00
104c649360 socket pair: fix branch on uninitialized memory
fix https://review.jami.net/c/ring-daemon/+/13190

Change-Id: I688043cd505347f86256d5a70f55168318f0e4d9
2019-11-27 17:59:59 -05:00
13ccef93c5 pjproject: fix assert for turn_on_connection_attempt
The current assert will automatically fail because it will check if 0 < 0

Change-Id: I3e56c09cf273a67fd5b322ce4c97de64504dc11e
2019-11-27 15:24:39 -05:00
793be9cc83 file transfer: do not use waitForReady
This patch replaces waitForReady by setOnStateChange to detect
when TLS Session is ready

Change-Id: Ic127cdbe45447fe89b725d5b0995a0925ddd3e14
2019-11-27 15:16:39 -05:00
e10ccdd334 socket pair: fix branch on uninitialized memory
Change-Id: If544f9ef91033f5eb74bd2aa63d9a31f65ed4d7c
2019-11-27 13:25:20 -05:00
21b3fcf9b2 libav_utils: cleanup
Change-Id: I73e6ad39f6b0dc37e9142d33b079dae230c92367
2019-11-27 13:24:58 -05:00
93286f4aea sip: add preference to disable secure dialog checks for SIP/TLS
Some VoIP services, such as VoIP.ms, support SIP/TLS and SRTP, but
give the wrong schema in the INVITE's Contact header; specifically
"sip" instead of "sips." The relevant ticket for pjsip is as
follows:

https://trac.pjsip.org/repos/ticket/1735

This patch adds a preference to allow a user to disable the checks,
which allows them to answer incoming calls in this situation. By
default, the checks are enabled, and it will silently drop calls
which are not RFC-compliant.

Reviewed-by: mingrui.zhang@savoirfairelinux.com
Change-Id: I401ef481ef29f7ae7bbc56025d2e8b461e850791
2019-11-26 10:42:22 -04:00
b5c04e96e2 fix: iOS rotation when rescale
on iOS landscape mode corresponds to 90 or 270 degree. Current rescale
implementation will create output that is out of bounds for iOS frame.

Change-Id: I29c89402fc056714149f0ff2fe98e7b8bdf13565
2019-11-22 15:20:14 -05:00
5f102d4256 sipcall: add mutex around transport
Change-Id: I1ad6f00a44ceeac14929ca573dd130a678a23a31
2019-11-22 10:43:59 -05:00
471061cffd call: hold mutex during merge
Change-Id: Ie1d1120957fe3e8bb38621b5ffa38f8d1e407b62
2019-11-21 16:46:11 -05:00
7aeadc5f1f tls_session: cleanup
Change-Id: I18a9d9854c8c5ff082103b6198ef9f4623bf2ca1
2019-11-21 16:46:07 -05:00
27001eb0ab jamiaccount: specify address family when retrieving local address
Change-Id: Idb67cd9b9a3c5ff3ee5fa99cb8bb9931723bc622
2019-11-21 16:16:47 -05:00
95728e1ebe sipcall: cleanup
Change-Id: Ie1ff7315e0d5dca1a63cb16aac4a3a4bff09415f
2019-11-21 16:16:39 -05:00
77310afe73 audio: cleanup
Change-Id: I14fa239e52f119903c7d3dd8d7759d95a069085c
2019-11-21 16:16:31 -05:00
8baf450410 accel: fix crash during conferences with hardware acceleration
NVENC is still limited to 2 concurrent encoding sessions for most of nvidia GPU

Change-Id: Iad55018543ec316051639f489d4189534fef22f7
2019-11-21 15:09:32 -05:00
3fa1037781 p2p: do not search for contact devices when closing the connection
In closeConnection the forEachDevice is not necessary because the
peer_id parameter only contains the device's hash. The
forEachDevice is unnecessary and print a warning each time an
outgoing file transfer occurs.

Change-Id: I4085b96af1fe864139b2c0e4389933f08605a486
2019-11-19 09:25:52 -05:00
d0744b3252 video_input: handle EBUSY error from ffmpeg
This solves some bugs:
+ If we have two calls and the client is holding one of these till the other
is creating, the camera will start for the second call
+ If another process is using the camera, Jami will retry to open the camera
till the call ends
+ If one video input runs cleanup() and the other one createDecoder(), the
shmPath_ is set back correctly

Change-Id: Id6b02e453dffbe0b231884c2942786407af5eac3
2019-11-18 16:21:55 -05:00
f3f3b69bb3 ice: wait to close all sockets when destroying
TURN is destroyed via some timer events in pjsip, so we need to poll the queue
to be sure to close all sockets when destroying the ICE transport

Change-Id: I3e41014230925acb5a6b2ce08cd061608fcece11
2019-11-18 14:26:00 -05:00
097b53569d sip: change idle timeout to 3 seconds
Change-Id: Ie29afbabd6b59445ce143d7b87e27e22f91fe4ea
2019-11-15 16:31:42 -05:00
3a6803cbac contrib: force unicode charset build flag in portaudio vcxproj
Change-Id: I2672a4eb868183b84620bc46d814cf48870707fc
2019-11-15 14:57:31 -05:00
7927f1a601 sipvoiplink: use thread pool for name resolution
Change-Id: I0f41dd8fdfc008b2967854fe2e0e097f67888095
2019-11-15 11:52:58 -05:00