Commit Graph

788 Commits

Author SHA1 Message Date
650e633c14 contrib: http_parser: create lib directory if it doesn't exist yet at this point
Change-Id: If1a026fd7ad474129a95c3fb4434cd0b3b598be5
2020-07-25 11:39:39 +03:00
db5abdd50b opendht: remove --with-http-fork
This fork is deprecated and not used anymore on proxies
Also use official repo for http-parser

Change-Id: I2dcccb5616171ce20de17e805e77d72a8ebd167d
2020-07-22 13:57:33 -04:00
67d8fe9f33 contrib: update jsoncpp
Change-Id: Iffb7c8b4be4f084575e5e1a7bc6a02c86cb07fda
2020-07-13 07:42:35 -04:00
7c8491bae9 pjproject: fix crash in pj_turn_session_on_rx_pkt2()
Instead of letting the TURN session destroy itself when finished, the current
code is overriding the user_data attached to the session. This is not needed
because the turn session will be stopped when the timer will complete and
this can cause some crashes in pj_turn_session_on_rx_pkt2 because the data
is erased while not protected via turn_sock->grp_lock() (mostly in turn_sock.c,
on_data_read)

Change-Id: Ia4a12917711b5534b372cb3a26e9141e5393c569
Gitlab: #299
2020-07-09 15:32:52 -04:00
3f598a6a69 pjproject: avoid to declare check valid too soon
The relay candidate was declared as suceeded even if not in the valid list.
Because of this, some negotiations were successful but no valid candidates
were given to the app.

Moreover, the connection timeout checks were using the wrong timer. This
avoids to cancel successful negotiations to check a connection timeout.

Finally, some clean is done with this patch

Change-Id: Iacfbf3b9f5faafe1bd05f66157485226761c30bf
Gitlab: #256
2020-07-09 14:35:40 -04:00
cf5f128160 contrib: update ffnvcodec
Change-Id: Ib8b12f9f2133aa38ee3f48f805e8db78401faa9e
2020-07-06 18:16:08 -04:00
7f7460a908 opendht: add a minimal version
Avoid to be able to build if an old version of opendht is installed

Change-Id: Iefcd2ba476ad3d7291a12bf112ab731c9962909a
2020-07-06 17:21:09 -04:00
2f04319723 contrib: update opendht
Change-Id: Ic61c5acaff60b015d1df92b5f1633a63f81bccd9
2020-07-06 09:45:26 -04:00
da10fd4d46 contrib: update ffmpeg
Change-Id: I4c6ea07a9d6734235e488a914bbaeeab01cee357
2020-07-03 14:55:51 -04:00
1f5a859391 contrib: update libressl
Change-Id: I1256fcb763bd4982714e9205078919d0d05a1e6b
2020-07-02 19:54:36 -04:00
1ec8964f56 contrib: update gnutls
Change-Id: I6b97da0a32855dc8dc583a30883b31a647d20d15
2020-07-02 16:02:59 -04:00
fc50e77a31 contrib: update nettle
Change-Id: Iae41a073cfa5a1a842d8025477539db833f506b8
2020-07-02 16:02:55 -04:00
7501648ee5 contrib: update gmp
Change-Id: Ibd8a93dceb1dc3fb959cdc6c874aae7da5514647
2020-07-02 16:02:48 -04:00
93f85f3776 pjproject: fix TCP sockets death detection
TCP_KEEPALIVE are not enough to detect that TCP connections are dead or not.
Some routers doesn't seems to support TCP_KEEPALIVE and moreover, sometimes
the settings is just not enough as described in this article:
https://blog.cloudflare.com/when-tcp-sockets-refuse-to-die/

RFC 5482 describe a new option for sockets: TCP_USER_TIMEOUT which must be used
with keep alives to detect closed connection in a better way.

In this patch we set TCP_USER_TIMEOUT to 30 seconds (like the keep alive). This is
a TCP level socket option used to specify the max time in ms that transmitted data
can be unacknowledged before a force close.

Change-Id: I217616b9b9e08adfa5a044a451fbbc97faf1939e
Gitlab: #243
2020-06-29 16:39:35 -04:00
224ca9cbd6 contrib: update opendht on Windows
Change-Id: I32788f8b817c4e38bdf1c689c751d0f0e09c4e74
2020-06-26 15:57:23 -04:00
8b6e7d06ef contrib: update opendht
Change-Id: If1d318acf90ce34f3de8372bd9cf48c1ab0bde7a
2020-06-19 16:30:21 -04:00
69be4789d8 build: libarchive for iOS
Change-Id: I43d881096bc375b9c33984c3078a04036de07737
2020-06-08 20:33:36 -04:00
03ed99103d plugin: libarchive and plugins as default for linux
fix preferences set in first plugin loading
small logic changes in libraries loading
related to: https://review.jami.net/c/ring-project/+/14433

Change-Id: I4730f279ee38d337e3ef94dd9562a5dfc1a63c32
2020-06-05 10:17:10 -04:00
7ff3cbd0cf plugin: add opencv and opencv-contrib for plugins builds
jpl uncompress regex modification

Change-Id: I54bf8f45c71777537e892189889b9814eed70a6a
2020-06-05 10:17:10 -04:00
dd0e365800 libarchive: use static for macOS
Change-Id: Ie3b7089156c481b5abfad1978ee90f241c0ef675
2020-05-28 11:28:24 -04:00
f1ff4c3e11 archiver: add libarchive
Change-Id: I2ff7d879de55e18bedcbddce74f743ffe8755ca6
2020-05-26 11:04:10 -04:00
acf910d421 opendht: fix bump
Change-Id: I8495f79ead4e15df756238624198f46ec72032f5
2020-05-26 10:30:40 -04:00
a9a2db0168 contrib: update opendht
Change-Id: I54c876133ec39454d4d71b8122b744da82dd030b
2020-05-25 15:36:58 -04:00
387f6988cd build: add support for meson
Change-Id: I331522a09257d4ae787893ff72c270886c1aa210
Reviewed-by: Sébastien Blin <sebastien.blin@savoirfairelinux.com>
2020-05-21 11:50:30 -04:00
0a37f25166 contrib: update opendht
Change-Id: I969de308275f02556bd9f82cf5d5c0973652dcab
2020-05-20 15:49:09 -04:00
ff5ed9d3c6 filetransfer: fix add_header detection before the first on_return
Change-Id: I59414f3d0c55f13aa8a91e498ee8c694fa73ffe3
2020-05-11 11:40:48 -04:00
3305972990 build: use gitlab.xiph.org instead of git.xiph.org
git.xiph.org doesn't exists anymore

Change-Id: I93a478888319bc1de5aa11713358d20a19e8bd55
2020-05-07 09:36:32 -04:00
8c33ec6944 contrib: update opendht
Change-Id: I44c1c8c1ae653e08ba2824272d22a90b47becd57
2020-05-07 02:08:15 -04:00
d10e7a1e04 pjproject: avoid to fail the negotiation when TURN needs a retry
This aims to fix the some negotiation failure when:
UserA (TURN ipv4) calls UserB (ipv4 only)

In fact, the first user will take some time to know the userB
addresses to allow on the TURN. So, during this time, the TURN will
give some EPIPE errors. EPIPE is code 32 defined by 120032 in pjsip
(PJ_STATUS_FROM_OS(EPIPE)).

So previous code was a mistake

Change-Id: If38c5d36dc38bfe89e3b2ccfbf1b64c934639adb
2020-05-06 11:39:01 -04:00
fe198fbeb9 pjproject: fix tls packet reconstruction
In the case whare two packets like this were received:

P1
+----------------+-------------+---------------+
| data (X bytes) | header (2b) | data (1 byte) |
+----------------+-------------+---------------+

P2
+----------------+
| data (X bytes) |
+----------------+

The RTP loop used the last byte of p1 and the first
byte of P2 as the header. Leading to malformed packets

Change-Id: Ie714fcf0bab1e372f7433342ed60ed4e6d20aff3
2020-05-01 17:22:22 -04:00
12a7a95a42 opendht: bump opendht
Change-Id: I66b07df09098833a1ad59df008f04c521edf1449
2020-04-30 10:30:39 -04:00
6f687dfa72 contrib: bump opendht
Change-Id: I5c991b37011b4c3d97114c9f2b8f05b742e029a3
2020-04-28 17:58:24 -04:00
7255f3bb07 ice_transport: fix regression on pending when bumping to pj 2.10
With these changes, Jami only got on_data_sent for data that Jami
send. In previous state, some on_data_sent comes from TURN refresh
because it's managed by the ice_session in pjsip.

Change-Id: I76109f9662aeca01ffccd884dac2a5aab7ab2503
2020-04-27 17:44:23 -04:00
d931f140f1 contrib: update opendht
Change-Id: Ie9a7fdca48dc086af7e21990a490c93041f12428
2020-04-24 19:15:56 -04:00
04acab5a32 pjproject: avoid to cancel succesful connection
The timer is triggered through a passive candidate, so it should
be done only if the timer is none.

Change-Id: I89a16467667393949ad38b4184b4edfb0a452675
2020-04-07 10:35:37 -04:00
e2fb50a8ec pjproject: fix incorrect iteration due to rebase
The incorrect candidates list was used.

Change-Id: Ib31dcd7e8924754244d300a500f8e7e60ca03250
2020-03-31 14:16:14 -04:00
3bfe553b21 contrib: update opendht
Change-Id: Ifeeb67ee2fb8d7b9fda07a8c3b3183d2683703c6
2020-03-30 20:17:15 -04:00
ef497b9064 pjsip: fix TURN pending status
The fix in current master branch doesn't make any sense. pkt_len
contains incorrect data and is also used for incoming packets.
Just return the size sent is enough

Change-Id: I4c1ced40086b6418946ab1d384c93cc697304749
2020-03-27 10:18:55 -04:00
6c58fb5184 contrib: update opendht
Change-Id: Ibaffac94f9a91bfeb2a5a32d374fe2f0f06bbe1a
2020-03-26 00:23:06 -04:00
3b1f043633 audiolayer: use Speex AEC
Change-Id: Ieb36dc5b97e8a451160b59079353c82f07d049be
2020-03-25 23:44:59 -04:00
1a78baf930 contrib: bump pjsip version to 2.10
also remove what has been upstreamed.
also, logic of how upstream has implements dealing with pending packets
on the socket is different now and therefore needs testing.

minor change:
- patches are now done in order.
- all configs are moved to config_site.h; TODO: also move HOSTVARS to use.mak
- enable epoll on linux

Change-Id: I87b9389a845d4c4a41fc9e70c3a94a0a990ca83d
2020-03-25 13:41:22 -04:00
593466a45c sip: change timeout for SIP messages
Change-Id: I60ce038769d55687e65b7dca64d2fe0d4731571c
2020-03-13 12:08:49 -04:00
0d604652e4 contrib: update ffmpeg
Change-Id: Id3f8043749f27fcf6222d5b565217f7f63064cb2
2020-02-28 18:27:55 -05:00
6aea927430 contrib: update fmt
Change-Id: I46885d97d22af7c6c2ee899f21312db97df5cb6a
2020-02-28 18:27:55 -05:00
6ab15efc50 gnutls: bump to 3.6.12
Change-Id: I5384060d01e680d45767ba730cca591c8da2b97d
2020-02-28 15:52:37 -05:00
18751c3cfe contrib: update SpeexDSP
Change-Id: If4bcc00319f12b844970a32315f8183fa28e1d91
2020-02-18 14:06:01 -05:00
2df2f02dab pjproject: send keep alive on socket and add callback
Change-Id: I8d99d7f229e25f970a2a12cd7d2a2bee69017a5a
2020-02-14 15:29:13 -05:00
3382382233 contrib: update OpenDHT
Change-Id: Ia3b830e67401e8875842af6207de86da0ebd2807
2020-02-14 14:12:01 -05:00
fbeda91629 contrib: update OpenDHT
Change-Id: I3ca5b2a63abe9290a723e8ebcab47ce81275a088
2020-02-11 17:21:30 -05:00
bf3f1ac4f8 media/codec: enable h265 for windows
Change-Id: Icbf5ad283c16c953fce12cd0884cd781fcab1202
2020-02-06 16:41:16 -05:00