- 03 Apr, 2017 10 commits
-
-
Olivier Crête authored
There was a confusion and it tested against a value not in the enum.
-
Olivier Crête authored
We don't have or call noreturn functions in practice and it makes the stun test build fail on clang.
-
Olivier Crête authored
This makes clang happy.
-
Olivier Crête authored
clang on recent macOS seems to only emit a warning on unknown flags which makes this test fail and then when using Werror, it makes the compiler test fail too.
-
Olivier Crête authored
It's only nonce level randomness, not long term key level. Differential Revision: https://phabricator.freedesktop.org/D1711
-
Olivier Crête authored
GLib already uses it, instead of adding another dep. Reviewed-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.freedesktop.org/D1705
-
Jakub Adam authored
Using a IPv6 local address to connect to a IPv4 relay just creates an extra discovery attempt that will not provide something useful. This commit fixes another place of TURN discovery creation which was omitted in fc0d3744 . In my case it cuts down up to ~15 seconds from candidate gathering phase, making it almost instantaneous. Reviewed-by:
Olivier Crête <olivier.crete@collabora.com> Differential Revision: https://phabricator.freedesktop.org/D1709
-
Jakub Adam authored
Those may have previously been silently ignored. Reviewed-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.freedesktop.org/D1708
-
Jakub Adam authored
There were two almost consecutive verbose debugs containing basically identical information. Merge them into one message that is printed only when something was actually received. Reviewed-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.freedesktop.org/D1707
-
Jakub Adam authored
agent_recv_message_unlocked() always receives a single message and returns a RecvStatus code. Avoid weird debugs like "received -1 valid messages" (when retval is RECV_WOULD_BLOCK) and print the message only when something was actually received. Reviewed-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.freedesktop.org/D1706
-
- 01 Apr, 2017 2 commits
-
-
Olivier Crête authored
They're not present int he 1.5.0 release, so require the newer one.
-
Olivier Crête authored
-
- 31 Mar, 2017 8 commits
-
-
Olivier Crête authored
-
Olivier Crête authored
-
Olivier Crête authored
-
Now that libstun depends on libgcrypt, we might as well use its SHA1 hash support, rather than carrying around our own. Differential Revision: https://phabricator.freedesktop.org/D1612
-
Now that libstun depends on libgcrypt, we might as well use its MD5 hash support, rather than carrying around our own. Differential Revision: https://phabricator.freedesktop.org/D1611
-
Previously, a custom Mersenne Twister PRNG was used, which is not securely random. In addition, its seeding fell back to wall-clock time, which is typically predictable. This uses libgcrypt on Linux but retains the Windows code which uses the Windows crypt API. Differential Revision: https://phabricator.freedesktop.org/D1610
-
This will shortly be used to implement secure random number generation. Differential Revision: https://phabricator.freedesktop.org/D1609
-
The SHA-1 and MD5 implementations in libnice are about to be removed, so stop testing them explicitly. In addition, rework the remaining test to use the stun_sha1() API which will remain. Differential Revision: https://phabricator.freedesktop.org/D1608
-
- 28 Mar, 2017 1 commit
-
-
Philip Withnall authored
There should never be a problem with alignment at runtime, since we’re casting the sockaddr to sockaddr_in or sockaddr_in6 based on its declared sa_family — anything declared as AF_INET6 should have been allocated as a sockaddr_in6, and hence have appropriate alignment (same for AF_INET). This fixes a compiler warning on ARM and other alignment-sensitive architectures. https://phabricator.freedesktop.org/T7718 Signed-off-by:
Philip Withnall <withnall@endlessm.com> Reviewed-by:
Olivier Crête <olivier.crete@collabora.com> Differential Revision: https://phabricator.freedesktop.org/D1686
-
- 17 Jan, 2017 1 commit
-
-
Philip Withnall authored
This should cause all patches submitted using git-phab to be assigned to the #libnice project for review, by default. Signed-off-by:
Philip Withnall <philip@tecnocode.co.uk>
-
- 26 Oct, 2016 5 commits
-
-
Client should stop sending connectivity checks with legacy FINGERPRINT when it receives a conncheck message containing IMPLEMENTATION-VERSION attribute. Differential Revision: https://phabricator.freedesktop.org/D1139
-
In order to preserve compatibility with clients which use custom CRC lookup table from [MS-ICE2], whenever a connectivity check request or reply is sent, an additional message is sent along. These two messages differ only in FINGERPRINT attribute - one uses regular CRC lookup table for calculation, the other uses the modified table. When a message is received and FINGERPRINT doesn't pass validation using regular CRC table, the receiver also tries to verify using the modified table. [MS-ICE2] 3.1.4.8.2 describes this procedure. The commit fixes compatibility with older MSOC and Lync clients. Differential Revision: https://phabricator.freedesktop.org/D1138
-
Windows Live Messenger is a discontinued service. We can repurpose STUN_COMPATIBILITY_WLM2009 as [MS-ICE2] compatibility. The orignial WLM enumerator is kept for the sake of API compatibility. Differential Revision: https://phabricator.freedesktop.org/D1137
-
Connectivity checks that are fully conforming to [MS-ICE2] should contain IMPLEMENTATION-VERSION attribute ([MS-ICE2] 2.2.2.2) equal to 2 and their FINGERPRINT should be calculated as described in RFC5389 section 15.5 (i.e. using standard CRC lookup table). We need this because some Skype for Business clients no longer accept messages whose FINGERPRINT contains a value calculated using Microsoft's old custom CRC table (specified verbatim in [MS-ICE2] 3.1.4.8.2). The change creates a compatibility breakage with legacy Lync clients which will be fixed in following commits. Differential Revision: https://phabricator.freedesktop.org/D1136
-
Windows Live Messenger is a discontinued service. The only users of WLM mode seem to be Lync clients, so STUN_USAGE_ICE_COMPATIBILITY_WLM2009 can be repurposed as [MS-ICE2] compatibility. We keep the WLM enumerator for the sake of API compatibility. Differential Revision: https://phabricator.freedesktop.org/D1135
-
- 23 Jun, 2016 5 commits
-
-
Differential Revision: https://phabricator.freedesktop.org/D1123
-
This patch fixes a problem when a new pair having a peer-reflexive new remote candidate is added while the transport type is udp. In this case the new pair socket really should be the socket of the local candidate, and not the remote (for example, the local candidate may be of relayed type). Differential Revision: https://phabricator.freedesktop.org/D1122
-
The tick counter variable used to display pairs statistics should be per stream defined, to avoid side effects of a global variable, for example always having an odd or even tick counter value when the agent contains just two streams. Differential Revision: https://phabricator.freedesktop.org/D1113
-
Differential Revision: https://phabricator.freedesktop.org/D1112
-
Fixes a bug in the logic of the wait loop, where only a single gathering done was required to exit the loop, the other was caught by the following assert. Differential Revision: https://phabricator.freedesktop.org/D1110
-
- 21 Jun, 2016 2 commits
-
-
Olivier Crête authored
This caused a warning in Farstream tests.
-
fileno of UDP-TURN NiceSocket is NULL since 0a6c779f and so we need different means to identify the topmost socket. Differential Revision: https://phabricator.freedesktop.org/D1100
-
- 20 Jun, 2016 6 commits
-
-
Instead of printing the static pair priority values, it provides more information to dump each pair timer state, next timeout, and retranmission count, when debugging the whole connchecks list content.
-
Differential Revision: https://phabricator.freedesktop.org/D931
-
In construct like "while (foo);" when foo is modified outside of the current thread, the variable should be declared volatile to suggest the compiler to read its value without making code optimization.
-
-
This patch reworks commit fc4d3aab "ignore gathering failures on auto-generated IPs", that introduces a regression in the test-fullmode check, when turn is on and use_loopback is off. The part of the test that fails is when nice_agent_gather_candidates (ragent...) should return false when the port range for the second component is already busy, line 385. In this case, agent->local_address is null, so the code path added by commit fc4d3aab is taken, and the function will return true, even when not local address has been gathered. The proper fix is to swap the inner and outer loops (on components, and on local addresses), and to go to error when all local addresses of a given component have failed, and to return false only in this case.
-
This patch fixes is bug introduced in commit 1ab9d7c1 "conncheck: Separate valid and succeded states", with the introduction of the valid flag. The agent really should go to connected state when we have a nominated pair, and not just a valid one.
-