summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* debug: fix verbose debug enableFabrice Bellet2019-07-041-1/+1
|
* conncheck: fix incoming checks memory leakFabrice Bellet2019-07-041-0/+3
|
* conncheck: test incoming checks on candidate base addressFabrice Bellet2019-07-041-1/+7
| | | | | | | | The candidate may be a newly discovered peer reflexive one, or a server reflexive initial candidate, where address and base address differ. Early incoming checks are received on the base address. These incoming checks may accumulate if remote credentials arrive with a delay.
* socket: fix a heap use-after-free on the send queueFabrice Bellet2019-07-041-6/+6
|
* conncheck: increase dumped information in debugFabrice Bellet2019-07-041-2/+64
| | | | | In complement to the conncheck list, we dump the pair transport type, the socket type, and the incoming checks list.
* conncheck: make oc2007r2 mode more rfc5245 friendlyFabrice Bellet2019-07-041-2/+2
|
* agent: more debug when remote credential are receivedFabrice Bellet2019-07-041-0/+2
| | | | | | | This complete the similar debug trace when remote candidates are received, and help to debug our tests with the patched farstream library, where candidates and credentials are transmitted with a random delay.
* agent: signal when a selected pair foundation is updatedFabrice Bellet2019-07-041-4/+17
| | | | | | This foundation update may be needed when a selected pair contains a remote candidate that has been found by an inbound stun request, but has not been received by nice_agent_set_remote_candidates()
* nicesrc: fix a leak spotted by asanFabrice Bellet2019-07-041-0/+6
|
* examples: fix compiler warning about uninitialized variablesFabrice Bellet2019-07-042-2/+2
|
* Revert "conncheck: Don't lookup prflx pair for UDP candidates"Fabrice Bellet2019-07-041-7/+5
| | | | This reverts commit ca47519feda9d4dad38a06e2f7d94c0afc501364.
* component: Fix use-after-free and resolve regressionFabrice Bellet2019-07-041-6/+6
| | | | | | | | | | | | | | | | | | | conn_check_prune_socket() on nsocket must be called before removing the candidate with this socket inside the loop, to prevent the use-after-free reported initially in issue #73. But commit 541801d introduced a regression during discovery when an udp turn over tcp socket is immediately closed by a HUP condition for example. In this case, discovery_prune_socket() is never called, because we don't have a candidate with this socket inside the loop. So the nsocket is freed by the final nice_component_detach_socket() but is still used by the discovery timer callback. This commit moves the discovery_prune_socket() and conn_check_prune_socket() actions before the loop instead of after, or inside. Closes #73
* agent: fix a memory leakFabrice Bellet2019-07-041-0/+1
|
* agent: keep a ref on the agent while removal of TURN refreshesFabrice Bellet2019-07-041-0/+4
| | | | | | | The patch makes the agent alive at least until the last callback of the removal of turn refreshes when a stream is deleted from the agent. Closes #84
* discovery: fix an use-after-free in SFB user credentialsFabrice Bellet2019-07-044-24/+26
| | | | | | The base64 decoded username and password strings given to stun_usage_turn_create() should not freed immediately, since they remain used when handling the following related inbound stun replies.
* meson: Fix enum types generation to match automakeOlivier Crête2019-07-031-4/+14
| | | | | The automake generated ones are a little funky, so the meson one have to also be to not break API...
* agent: add nice_agent_get_sockets APIOlivier Crête2019-07-0210-4/+69
| | | | | | | This API makes it possible to get an array of all of the sockets used by a specific component, this is useful to set options on the socket. Also bump GLib requirement to 2.54, which is the version in RHEL 7
* conncheck: add transport information to debugFabrice Bellet2019-06-271-7/+31
|
* build: add default ignore network interface prefixStefan Becker2019-06-272-2/+3
| | | | | | | | | | | | | By default libnice now ignores network interfaces from virtual machines and containers, i.e. names that start with "docker", "veth", "virbr" and "vnet". If you want to disable this feature override the default with ./configure --without-ignored-network-interface-prefix ... ./configure --with-ignored-network-interface-prefix= ... meson setup -D ignored-network-interface-prefix= ... meson setup -D ignored-network-interface-prefix=[] ...
* configure: support --without-ignored-network-interface-prefixStefan Becker2019-06-271-1/+1
| | | | | | | This fixes commit b4abda09c79e4ce372a3771300abf568c85c7ff5 --without-XXX sets $withval to "no", hence we must check for this special value instead of ignoring network interfaces that start with "no".
* build: make prefix option accept a list of stringsStefan Becker2019-06-273-9/+14
| | | | | | | | | | | | | | | | | | | | | | | The parameter for the ignored network interface prefix build option accepts a comma-separated string now. This list will be converted to a comma-separated list of string literals for the C code. Disable the feature: ./configure ... ./configure --with-ignored-network-interface-prefix= ... meson setup -D ignored-network-interface-prefix= ... meson setup -D ignored-network-interface-prefix=[] ... Ignore interfaces whose names start with "virbr": ./configure --with-ignored-network-interface-prefix=virbr ... meson setup -D ignored-network-interface-prefix=virbr ... Ignore interfaces whose names start with "virbr" or "veth": ./configure --with-ignored-network-interface-prefix=virbr,veth ... meson setup -D ignored-network-interface-prefix=virbr,veth ...
* interfaces: allow list of ignored prefixesStefan Becker2019-06-271-19/+53
| | | | | | | | Improve on commit b4abda09c79e4ce372a3771300abf568c85c7ff5 Instead of checking one prefix, check against a list of prefixes. This allows libnice to be configured to ignore interfaces from virtual machines and containers.
* interfaces: ignore non-running interfacesStefan Becker2019-06-271-0/+13
| | | | Check for IFF_UP and IFF_RUNNING flags on the interface.
* tests: ignore trickle executablesStefan Becker2019-06-271-2/+2
| | | | This fixes commit 9afd0c8b8f12aa560f800ced7e50b4da40dea456
* interfaces: detect IPv6 ULA & link-local addressesStefan Becker2019-06-271-0/+10
| | | | | | | Update nice_interfaces_is_private_ip() to handle IPv6 too: - unique local address block: fc00::/7 - link-local address block: fe80::/10
* interfaces: add missing support for IGNORED_IFACE_PREFIXStefan Becker2019-06-261-0/+5
| | | | | | This fixes commit b4abda09c79e4ce372a3771300abf568c85c7ff5 Copy the implementation to the !HAVE_GETIFADDRS branch too.
* interfaces: support multiple loopbacksStefan Becker2019-06-261-4/+4
| | | | | Clone implementation from HAVE_GETIFADDRS branch to !HAVE_GETIFADDRS branch of nice_interfaces_get_local_ips()
* Assign source out of the for loopalex2019-06-051-1/+2
|
* Fix regression introduced by ↵alex2019-06-051-0/+1
| | | | https://gitlab.freedesktop.org/libnice/libnice/commit/da41258a21102f63ec5d5b2dc20d303f772eb195. Fix #64.
* conncheck: Don't lookup prflx pair for UDP candidatesJakub Adam2019-05-291-5/+7
| | | | Code comment mentions peer reflexive candidate pair should be selected only in the case of TCP local candidates, but it was done in all cases.
* meson: Fix build with MSVC and non-English localeSeungha Yang2019-05-211-0/+6
| | | | Otherwise, MSVC will complain and cause build error.
* Deploy documentationOlivier Crête2019-05-101-0/+14
|
* Version 0.1.16.1Olivier Crête2019-05-092-3/+3
|
* Version 0.1.160.1.16Olivier Crête2019-05-093-6/+14
|
* gst: Fix URI in pluginOlivier Crête2019-05-091-1/+1
|
* agent: Replace closed signal with GASyncResult type functionOlivier Crête2019-05-096-58/+49
| | | | This makes the API more GIO style
* agent: add nice_agent_close_async() APIJakub Adam2019-05-096-0/+78
| | | | | Asynchronously closes resources the agent has allocated on remote servers.
* agent: Add "closed" signalJakub Adam2019-05-091-0/+23
|
* discovery: Asynchronous removal of TURN refreshesJakub Adam2019-05-095-68/+261
| | | | | | | | When deleting a turn refresh, ensure the assocaited port allocations on the TURN server are properly removed. This means wait for a response for our 0-lifetime refresh request and implement retransmissions. Only delete the refresh after TURN port removal has been confirmed or all our retransmissions timed out.
* component: Refactor nice_component_clean_turn_servers()Jakub Adam2019-05-091-14/+15
| | | | First collect the relay candidates, then dispose them in a loop.
* discovery: Remove unused refresh_prune_socket()Jakub Adam2019-05-092-17/+0
|
* agent: G_GNUC_FALLTHROUGH macro for compatibility with older glibJakub Adam2019-05-091-0/+8
|
* conncheck: NOMINATION STUN attribute supportAndrey Skryabin2019-05-085-2/+98
| | | | | | Attribute is proposed here: https://tools.ietf.org/html/draft-thatcher-ice-renomination-00 WebRTC supports this attribute: controlling side provides attribute value increased by one each time selected pair is changed: https://chromium.googlesource.com/external/webrtc/+/3c7d599750405bc734e1d5adbf1b54265b725a9d/p2p/base/p2ptransportchannel.cc#1821
* Added OPENSSL_LDFLAGSillya_dudchenko2019-04-051-1/+1
|
* Replaced OPENSSL_CFLAGS with OPENSSL_INCLUDESillya_dudchenko2019-04-051-1/+1
|
* component: Fix use-after-freeJakub Adam2019-03-111-5/+6
| | | | | | | conn_check_prune_socket() was trying to access deleted NiceCandidate instance. Prune the socket before removing the candidate. Closes #73
* test-new-trickle: remove superfluous expressionJakub Adam2019-03-081-2/+1
|
* tests: enable "trickle-ice" modeJakub Adam2019-03-082-0/+18
| | | | Call nice_agent_peer_candidate_gathering_done () where appropriate.
* test-new-trickle: prevent deadlock in dgram_process()Jakub Adam2019-03-081-0/+2
| | | | | The STUN thread may be blocked waiting for stun_signal_ptr so signal it when stopping the thread.
* tests: rename test-dribble to test-trickleJakub Adam2019-03-085-35/+35
|