- 26 May, 2016 6 commits
-
-
Olivier Crête authored
Using a IPv6 local address to connect to a IPv4 relay just creates an extra discovery attempt that will not provide something useful.
-
Olivier Crête authored
This is recommended by the STUN RFC 5389.
-
Olivier Crête authored
Instead of re-discovering the nonce and realm for every request, cache them in th socket.
-
Olivier Crête authored
-
Olivier Crête authored
-
Olivier Crête authored
-
- 20 May, 2016 1 commit
-
-
Olivier Crête authored
-
- 04 Apr, 2016 5 commits
-
-
Fabrice Bellet authored
This patch makes the debug log more explicit about the agent controlling role for each stun request sent. It helps to debug role conflict resolution. Reviewed-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.freedesktop.org/D877
-
Fabrice Bellet authored
Just a cosmetic fix. Reviewed-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.freedesktop.org/D872
-
Jakub Adam authored
• rename to nice_socket_is_based_on() and swap the order of arguments accordingly; the implementation doesn't have to use the confusing 'return other->is_base_of()' pattern anymore • fix potential NULL dereferences The argument order in agent_recv_message_unlocked() was already wrongly swapped in 1732c7d6 and thus this commit isn't changing it back because that order has become the correct one. Reviewed-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.freedesktop.org/D866
-
Jakub Adam authored
We have to call is_base_of "virtual function pointer" of 'other' object, not 'sock', since 'other' is the structure whose base NiceSocket we need to get from its private data. For instance calling nice_socket_is_base_of() with 'sock' and 'other' being respectively pseudo-SSL and UDP-TURN-over-TCP invoked is_base_of variant for pseudo-SSL, casting other->priv into PseudoSSLPriv *, but other->priv is actually TurnTcpPriv *. It must be called the other way around. https://phabricator.freedesktop.org/T7335 https://phabricator.freedesktop.org/T7336Reviewed-by:
Philip Withnall <philip.withnall@collabora.co.uk> Reviewed-by:
José Antonio Santos Cadenas <santoscadenas@gmail.com> Reviewed-by:
Philip Withnall <philip@tecnocode.co.uk> Reviewed-by:
José Antonio Santos Cadenas <santoscadenas@gmail.com> Differential Revision: https://phabricator.freedesktop.org/D785
-
Fabrice Bellet authored
The checks should not be sent immediately in priv_conn_check_initiate(), but be put into the "triggered queue", see "7.2.1.4 Triggered Checks". This patch implements this triggered checks list, and uses it to enforce a pacing of STUN transactions, no more than one per Ta ms, according to "B.1. Pacing of STUN Transactions". Reviewed-by:
Philip Withnall <philip.withnall@collabora.co.uk> Reviewed-by:
Philip Withnall <philip@tecnocode.co.uk> Differential Revision: https://phabricator.freedesktop.org/D802
-
- 06 Mar, 2016 1 commit
-
-
Olivier Crête authored
Fixes crash reported on https://phabricator.freedesktop.org/D786
-
- 05 Mar, 2016 1 commit
-
-
Fabrice Bellet authored
Reviewed-by:
Olivier Crête <olivier.crete@collabora.com> Differential Revision: https://phabricator.freedesktop.org/D807
-
- 02 Mar, 2016 1 commit
-
-
Jakub Adam authored
When a message is received from a TURN server and we manage to find a local relay candidate with matching stream and component IDs, we should also check whether the message came from the candidate's respective socket. We should do this because there might still be some pending TURN candidate discovery with the same server from a different local host IP and the message may be a response to our allocate request. If nice_udp_turn_socket_parse_recv_message() is passed such request, it can make some wrong assumptions and modify it like in the case of reliable UDP-TURN-OVER-TCP by removing (supposed) RFC4571 framing, which in turn causes the reply to be unrecognized and discarded. Because of this, any subsequent replies following the first successful allocate response from that server couldn't create any additional relay candidates. Maniphest Tasks: https://phabricator.freedesktop.org/T7336Reviewed-by:
Olivier Crête <olivier.crete@collabora.com> Differential Revision: https://phabricator.freedesktop.org/D786
-
- 01 Mar, 2016 11 commits
-
-
Olivier Crête authored
If nicesocket is not added to a component it will be leaked. This is the case of active tcp sockets Change-Id: I57fefffef71d35ce9871139ee1064181f6fe125b Reviewed-by:
José Antonio Santos Cadenas <santoscadenas@gmail.com> Differential Revision: https://phabricator.freedesktop.org/D822
-
Philip Withnall authored
In priv_update_selected_pair(), commit 57393333 changed the code to re-find a CandidatePair matching the given lfoundation and rfoundation. However, the foundation does not uniquely identify candidate pairs, and if we’re aiming to set a specific candidate pair as the selected pair, this could result in the wrong pair being selected. This can happen when handling multiple similar candidate pairs, such as when generating peer reflexive candidates from multiple sources. See https://tools.ietf.org/html/rfc5245#section-2.4. Originally spotted by Fabrice Bellet in https://phabricator.freedesktop.org/T3557. Reviewed-by:
José Antonio Santos Cadenas <santoscadenas@gmail.com> Differential Revision: https://phabricator.freedesktop.org/D742
-
Philip Withnall authored
Reviewed-by:
Olivier Crête <olivier.crete@collabora.com> Differential Revision: https://phabricator.freedesktop.org/D819
-
Philip Withnall authored
The test didn't let enough time for ragent to reach the completed state after obtaining its remote candidates and switching to connecting state. Reviewed-by:
Olivier Crête <olivier.crete@collabora.com> Differential Revision: https://phabricator.freedesktop.org/D817
-
Philip Withnall authored
The update of pairs priorities due to agent role change requires the conncheck list to be reordered to reflect this modification. Reviewed-by:
Olivier Crête <olivier.crete@collabora.com> Differential Revision: https://phabricator.freedesktop.org/D806
-
Philip Withnall authored
With this patch, we send keepalive binding requests using agent compatibility flags, instead of RFC 3489 classic stun. The peer stun agent will known how to handle it, and won't be confused by the uncompatible RFC 3489 message, causing "no cookie" errors in the debug log. Reviewed-by:
Olivier Crête <olivier.crete@collabora.com> Differential Revision: https://phabricator.freedesktop.org/D804
-
Philip Withnall authored
This patch fixes a bug where the foundation definition shouldn't take into account the stream the pair belongs to. This is important, because the ordinary checks algorithm will change pair state from Frozen to Waiting, by selecting pairs from other streams sharing the same foundation than already succeeded pairs. Reviewed-by:
Olivier Crête <olivier.crete@collabora.com> Differential Revision: https://phabricator.freedesktop.org/D815
-
Philip Withnall authored
The local preference depends on the rank of the IP address in the list of all IP addresses available of the box running the test. As this value is not fixed we ignore it in the test. Reviewed-by:
Olivier Crête <olivier.crete@collabora.com> Differential Revision: https://phabricator.freedesktop.org/D818
-
Philip Withnall authored
This patch fixes a bug in priv_mark_pair_nominated(), where the local candidate was not passed to the function, so removing the possibility to find which local candidate the check was sent to. Reviewed-by:
Philip Withnall <philip@tecnocode.co.uk> Differential Revision: https://phabricator.freedesktop.org/D808
-
Philip Withnall authored
Add a more debug details, specifically in some places, it is interesting to have the src and dst IP addresses of the pairs being checked, and also to make the difference between log related to different stream ids. Reviewed-by:
Philip Withnall <philip@tecnocode.co.uk> Differential Revision: https://phabricator.freedesktop.org/D803
- 18 Jan, 2016 1 commit
-
-
Mike Ruprecht authored
If the first call to nice_agent_gather_candidates() partially succeeds (setting a UPnP agent and timeout), then fails before starting gathering, a second call to nice_agent_gather_candidates() would fail to set a new UPnP timeout because the UPnP initialisation block would be skipped. That means gathering would never succeed due to timing out on UPnP. Fix that by setting the UPnP timeout whenever a new pending UPnP mapping is added. https://phabricator.freedesktop.org/T3534Reviewed-by:
Philip Withnall <philip.withnall@collabora.co.uk>
-
- 03 Dec, 2015 1 commit
-
-
Jose Antonio Santos Cadenas authored
As udp-bsd.ccode is using G_IO_ERROR_CONNECTION_CLOSED glib 2.44 is required. Change-Id: I1bb63f2484c513c58eeec312ba0835164604c40c Reviewed-by:
Philip Withnall <philip@tecnocode.co.uk> https://phabricator.freedesktop.org/T3492
-
- 21 Oct, 2015 1 commit
-
-
Philip Withnall authored
This fixes a compiler warning and prevents a possible truncation. Reviewed-by:
Olivier Crête <olivier.crete@collabora.com> Differential Revision: https://phabricator.freedesktop.org/D345
-
- 18 Oct, 2015 1 commit
-
-
Philip Withnall authored
Now that we’re using automake’s parallel test harness, it automatically redirects all the debug log spew away from the console, so we should always have it enabled. Reviewed-by:
Olivier Crête <olivier.crete@collabora.com> Differential Revision: https://phabricator.freedesktop.org/D292
-
- 01 Oct, 2015 10 commits
-
-
Philip Withnall authored
This fixes `arc diff` to select the right repository when submitting patches.
-
Philip Withnall authored
Remove all references to the old, unnamespaced versions. This should cause no functional changes. Reviewed-by:
Olivier Crête <olivier.crete@collabora.com> Differential Revision: https://phabricator.freedesktop.org/D309
-
Philip Withnall authored
Remove all references to the old, unnamespaced versions. This should cause no functional changes. Reviewed-by:
Olivier Crête <olivier.crete@collabora.com> Differential Revision: https://phabricator.freedesktop.org/D308
-
Philip Withnall authored
This makes it reference-counted. This will be useful for allowing GDatagramBased and GIOStream objects to hold references to the stream and component they are interested in, allowing removal of the global NiceAgent lock previously needed to look up the component for every I/O operation. Deprecate all the old methods until it’s properly namespaced. Reviewed-by:
Olivier Crête <olivier.crete@collabora.com> Differential Revision: https://phabricator.freedesktop.org/D307
-
Philip Withnall authored
This makes it reference-counted. This will be useful for allowing GDatagramBased and GIOStream objects to hold references to the stream and component they are interested in, allowing removal of the global NiceAgent lock previously needed to look up the component for every I/O operation. It also means that nice_stream_close() could eventually become asynchronous, which would fix a few race conditions. Reviewed-by:
Olivier Crête <olivier.crete@collabora.com> Differential Revision: https://phabricator.freedesktop.org/D306
-
Philip Withnall authored
This is a follow up to T3324, to update the test case to match the new values generated. Bug: https://phabricator.freedesktop.org/T3324Reviewed-by:
Olivier Crête <olivier.crete@collabora.com> Differential Revision: https://phabricator.freedesktop.org/D301
-
Philip Withnall authored
Now we can actually see the priority numbers which are unequal. Reviewed-by:
Olivier Crête <olivier.crete@collabora.com> Differential Revision: https://phabricator.freedesktop.org/D300
-
Philip Withnall authored
This avoids an assertion failure in nice_address_to_string() when the addresses are compared for priority. Reviewed-by:
Olivier Crête <olivier.crete@collabora.com> Differential Revision: https://phabricator.freedesktop.org/D299
-
Philip Withnall authored
We depend on GLib 2.36.0, which is a higher version than any of these version checks cared about, so they were all trivially true or false. Reviewed-by:
Olivier Crête <olivier.crete@collabora.com> Differential Revision: https://phabricator.freedesktop.org/D298
-
Philip Withnall authored
We depend on GLib 2.36.0; g_thread_init() has been deprecated since 2.32.0, when thread initialisation was changed to happen automatically. Reviewed-by:
Olivier Crête <olivier.crete@collabora.com> Differential Revision: https://phabricator.freedesktop.org/D297
-