- 01 Oct, 2015 2 commits
-
-
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
-
Philip Withnall authored
We depend on GLib 2.36.0, which deprecated g_type_init() since GType initialisation is now done automatically. Reviewed-by:
Olivier Crête <olivier.crete@collabora.com> Differential Revision: https://phabricator.freedesktop.org/D296
-
- 11 Sep, 2015 4 commits
-
-
Jakub Adam authored
Renamed the function to priv_process_response_check_for_reflexive() because it now checks also for server reflexive candidates. Updated the documentation to indicate that the function never returns NULL. Maniphest Tasks: https://phabricator.freedesktop.org/T115 Differential Revision: https://phabricator.freedesktop.org/D243Reviewed-by:
Philip Withnall <philip.withnall@collabora.co.uk>
-
Jakub Adam authored
In priv_process_response_check_for_peer_reflexive(), mere presence of a candidate in local_candidates doesn't mean there's also some candidate pair in conncheck_list using it - for instance that candidate may be server reflexive, for which no check pairs are initially created (see conn_check_add_for_candidate_pair()). If we fail to find corresponding pair upon receiving such candidate's IP in a conncheck response's XOR-MAPPED-ADDRESS attribute, we shall add a new one in a similar way we would add a new pair for a just discovered peer reflexive candidate. Previous priv_process_response_check_for_peer_reflexive() implementation would return NULL, causing a CandidateCheckPair with local candidate of type HOST to be wrongly selected even though the local host IP might not be directly accessible by the remote counterpart (e.g. it's an address on a private network segment). In practice this was coming through as a duplex connection that libnice was reporting as properly established, but only one direction of the communication was actually working. Maniphest Tasks: https://phabricator.freedesktop.org/T115 Differential Revision: https://phabricator.freedesktop.org/D242Reviewed-by:
Philip Withnall <philip.withnall@collabora.co.uk>
-
Jakub Adam authored
The argument passed into the callback is always a base (TCP/UDP) socket, which can't be directly compared with local candidate's sockptr (may be TURN, http, or other socket wrapping another one). We're in fact interested whether sock is a base socket of sockptr. Maniphest Tasks: T114 Reviewed-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.freedesktop.org/D241
-
Jakub Adam authored
This will be used in the next commit. Maniphest Tasks: T114 Reviewed-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.freedesktop.org/D240
-
- 04 Sep, 2015 2 commits
-
-
Philip Withnall authored
This is needed for G_IO_ERROR_BROKEN_PIPE, which is used in the I/O stream code. Reported by Emanuele Bizzarri <emabiz76@gmail.com> on the mailing list.
-
Philip Withnall authored
To match debug_enable in agent/debug.c. Debug can still be enabled by calling stun_debug_enable() or nice_debug_enable(). Spotted on the mailing list by Tom Chen.
-
- 03 Sep, 2015 1 commit
-
-
Philip Withnall authored
There is no point in the NiceComponents having a state machine if the state transition graph is not documented or enforced. Document and enforce it. http://phabricator.freedesktop.org/T120
-
- 02 Sep, 2015 7 commits
-
-
Philip Withnall authored
Summary: Offering multiple host candidates with equal priorities could lead to unpredictable candidate pair selection by our counterparty. Fixes call disconnection by MS Lync client after 30 seconds while VPN (2nd IP) was active on libnice host. Maniphest Tasks: T3324 Reviewers: pwithnall Projects: #libnice Reviewed By: pwithnall Subscribers: pwithnall Differential Revision: https://phabricator.freedesktop.org/D234
-
Jakub Adam authored
Maniphest Tasks: T3324 Reviewers: pwithnall Projects: #libnice Reviewed By: pwithnall Differential Revision: https://phabricator.freedesktop.org/D239
-
Jakub Adam authored
Summary: Fixes "(nice_address_to_string): should not be reached" errors when calling nice_candidate_ms_ice_priority() because of invalid NiceAddress. Maniphest Tasks: T3324 Reviewers: pwithnall Projects: #libnice Reviewed By: pwithnall Subscribers: pwithnall Differential Revision: https://phabricator.freedesktop.org/D238
-
Jakub Adam authored
Summary: Offering multiple host candidates with equal priorities could lead to unpredictable candidate pair selection by our counterparty. Fixes call disconnection by MS Lync client after 30 seconds while VPN (2nd IP) was active on libnice host. Maniphest Tasks: T3324 Reviewers: pwithnall Projects: #libnice Reviewed By: pwithnall Subscribers: pwithnall Differential Revision: https://phabricator.freedesktop.org/D234
-
Jakub Adam authored
Summary: So that we can take the base address into account in the calculation. Maniphest Tasks: T3324 Reviewers: pwithnall Projects: #libnice Reviewed By: pwithnall Subscribers: pwithnall Differential Revision: https://phabricator.freedesktop.org/D235
-
Philip Withnall authored
Maniphest Tasks: T126 Reviewers: pwithnall Projects: #libnice Reviewed By: pwithnall Subscribers: pwithnall Differential Revision: https://phabricator.freedesktop.org/D223
-
Jakub Adam authored
As per [MS-TURN] Section 2.2.1, TURN message type 0x0104 "Send request response" isn't supported and the TURN server MUST NOT send them. Thus, libnice should not remember Send requests in agent->sent_ids because without replies coming, the number of allowed pending transaction gets quickly exhausted, causing our data packets to be dropped until a request timeout frees some space in the queue. This behavior resulted in choppy reception of our audio on a Lync client when connected via Lync Edge (TURN) Server. Maniphest Tasks: T126 Reviewers: pwithnall Projects: #libnice Reviewed By: pwithnall Subscribers: pwithnall Differential Revision: https://phabricator.freedesktop.org/D223
-
- 29 Aug, 2015 4 commits
-
-
Philip Withnall authored
Summary: Disable Nagling for underlying TCP sockets used by libnice, because they are typically used for streaming applications, or for pseudo-TCP; the bandwidth in both cases is harmed by Nagling. Based on a patch by Vadim Genkin. Maniphest Tasks: T3317 Reviewers: vadimgenkin, pwithnall Projects: #libnice Reviewed By: pwithnall Subscribers: pwithnall, vadimgenkin Differential Revision: https://phabricator.freedesktop.org/D230
-
Philip Withnall authored
Disable Nagling for underlying TCP sockets used by libnice, because they are typically used for streaming applications, or for pseudo-TCP; the bandwidth in both cases is harmed by Nagling. Based on a patch by Vadim Genkin. Maniphest Tasks: T3317 Reviewers: pwithnall Projects: #libnice Subscribers: pwithnall, vadimgenkin Differential Revision: https://phabricator.freedesktop.org/D230
-
Philip Withnall authored
Summary: The patch fixes the issue where agent reference count is not properly decremented causing instance leak in cases where component's socket is reset remotely. Reviewers: #libnice, pwithnall Projects: #libnice Reviewed By: #libnice, pwithnall Subscribers: pwithnall, maximgolunov Differential Revision: https://phabricator.freedesktop.org/D236
-
Philip Withnall authored
Summary: The patch fixes the issue where agent reference count is not properly decremented causing instance leak in cases where component's socket is reset remotely. Reviewers: #libnice, pwithnall Projects: #libnice Reviewed By: #libnice, pwithnall Subscribers: pwithnall, maximgolunov Differential Revision: https://phabricator.freedesktop.org/D236
-
- 19 Aug, 2015 5 commits
-
-
Philip Withnall authored
Add stun/usages/.dirstamp.
-
Philip Withnall authored
It’s already defined in common.mk.
-
Philip Withnall authored
This completes the transition to Phabricator; everyone should be using the same project settings now. https://phabricator.freedesktop.org/tag/libnice/
-
Philip Withnall authored
Summary: Some versions of Windows can return ECONNRESET for UDP recvmsg() calls if they would otherwise block. Hence, handle the two equivalently; this should not affect behaviour on Linux, which apparently does not return ECONNRESET for UDP recvmsg() calls at all. https://phabricator.freedesktop.org/T121 Maniphest Tasks: T121 Reviewers: ocrete Projects: #libnice Reviewed By: ocrete Subscribers: stwiname, felixSchl Differential Revision: https://phabricator.freedesktop.org/D227
-
Philip Withnall authored
Summary: Otherwise the base socket will leak. Spotted by Vadim Genkin. https://phabricator.freedesktop.org/T125 Maniphest Tasks: T125 Reviewers: ocrete Projects: #libnice Reviewed By: ocrete Subscribers: vadimgenkin Differential Revision: https://phabricator.freedesktop.org/D228
-
- 18 Aug, 2015 4 commits
-
-
Philip Withnall authored
Otherwise the base socket will leak. Spotted by Vadim Genkin. https://phabricator.freedesktop.org/T125
-
Philip Withnall authored
Summary: As spotted by Felix <felixschlitter@gmail.com>. This is a static function which is totally unused in this compilation unit and is causing build failures with `-Werror=unused-function`. Maniphest Tasks: T123 Reviewers: felixSchl, ocrete Projects: #libnice Differential Revision: https://phabricator.freedesktop.org/D221
-
Philip Withnall authored
As spotted by Felix <felixschlitter@gmail.com>. This is a static function which is totally unused in this compilation unit and is causing build failures with -Werror=unused-function. http://phabricator.freedesktop.org/T123
-
Philip Withnall authored
Some versions of Windows can return ECONNRESET for UDP recvmsg() calls if they would otherwise block. Hence, handle the two equivalently; this should not affect behaviour on Linux, which apparently does not return ECONNRESET for UDP recvmsg() calls at all. https://phabricator.freedesktop.org/T121
-
- 03 Jul, 2015 1 commit
-
-
Jakub Adam authored
A new socket created in nice_tcp_active_socket_connect() should have its writable callback set, because it's possible for it to become a base socket of a peer reflexive candidate, if some is discovered by connection checks on that TCP active candidate. Previously, when such prflx candidate became selected, without write_cb on the socket the agent was never notified about it becoming writable again after the socket's buffer got filled up. This caused the data flow to hang permanently. Reviewed-by:
Philip Withnall <philip.withnall@collabora.co.uk> Reviewed-by:
Olivier Crête <olivier.crete@collabora.com> http://phabricator.freedesktop.org/T117
-
- 01 Jul, 2015 1 commit
-
-
Philip Withnall authored
Recent versions of MinGW define at least ECONNABORTED and EAFNOSUPPORT, so only define the various socket errnos if they are not defined already. Based on a patch by Alexey Pawlow <alexey.pawlow@gmail.com> and Felix <felixschlitter@gmail.com>. Reviewed-by:
Olivier Crete <olivier.crete@collabora.com> Reviewed-by:
Felix Schlitter <felixschlitter@gmail.com> http://phabricator.freedesktop.org/T122
-
- 30 Jun, 2015 1 commit
-
-
Felix Schlitter authored
The C runtime on windows does not implement a printf that understands %zu and other C99 format specifiers. Use G_GSIZE_FORMAT instead. This is further consistent with the rest of the code base that makes use of G_GSIZE_FORMAT throughout. https://github.com/libnice/libnice/pull/3
-
- 24 Jun, 2015 2 commits
-
-
Olivier Crête authored
This way, the regular log will only contain connection-time information.
-
Olivier Crête authored
-
- 01 Jun, 2015 1 commit
-
-
Timo Gurr authored
Error introduced in 20ea22e0, resulting in a configure/build error when building without gstreamer: configure: error: conditional "HAVE_GST_CHECK" was never defined. Usually this means the macro was only invoked conditionally. https://bugs.freedesktop.org/show_bug.cgi?id=90801
-
- 08 May, 2015 1 commit
-
-
Philip Withnall authored
We’ve neglected to manually update this file once too often — it’s been out of date for important new symbols (for example, nice_agent_get_io_stream()) since at least 0.1.11. Since the format is a simple extension of libnice.sym, we might as well automatically generate it at dist time.
-
- 05 May, 2015 3 commits
-
-
Youness Alaoui authored
-
Youness Alaoui authored
This caused issues with thinking local host candidates were peer-reflexive candidates because the nice_address_equal would fail since the scope would be 6 (or some other value) but locally created NiceAddress from a stun response would have the scope set to 0. We ignore the scope when comparing ipv6 candidates when scope is 0 to avoid these kinds of issues. Thanks to ikonst_ for finding these issues
-
Youness Alaoui authored
When adding a remote candidate, if it's the same ip:port, we should also check its type, otherwise it's a new candidate. We can't allow a candidate type to be updated. This caused issues to ikonst_ on IRC where for some reason a host candidate appeared as both host and prflx and the update caused a remote host candidate to be updated to prflx causing a crash when the sockptr was being accessed.
-
- 03 May, 2015 1 commit
-
-
Philip Withnall authored
With the changes in commit 483bdcf8, @name is now guaranteed to be non-NULL. Spotted by Coverity. CID: #109878
-