platform/upstream/libnice.git
10 years agoagent: Add a missing forward declaration
Philip Withnall [Fri, 25 Apr 2014 07:21:55 +0000 (08:21 +0100)]
agent: Add a missing forward declaration

10 years agoagent: Simplify gathering-done stage of UPnP handling
Philip Withnall [Thu, 24 Apr 2014 15:11:03 +0000 (16:11 +0100)]
agent: Simplify gathering-done stage of UPnP handling

This introduces no functional changes, but consolidates and documents
the code a bit more.

10 years agoagent: Tidy up upnp_mapping handling
Philip Withnall [Thu, 24 Apr 2014 14:59:24 +0000 (15:59 +0100)]
agent: Tidy up upnp_mapping handling

Use a NULL check to determine if upnp_mapping is an empty list (rather
than counting every element). Use g_slist_free_full() where appropriate.

This introduces no functional changes.

10 years agoagent: Document units for NiceAgent::upnp-timeout property
Philip Withnall [Thu, 24 Apr 2014 14:58:01 +0000 (15:58 +0100)]
agent: Document units for NiceAgent::upnp-timeout property

It’s in milliseconds.

10 years agostunagent: Only declare the long term key valid if the username/realm coudl be read
Olivier Crête [Fri, 25 Apr 2014 01:32:40 +0000 (21:32 -0400)]
stunagent: Only declare the long term key valid if the username/realm coudl be read

10 years agoexample: Prevent possible non-NULL terminated string
Olivier Crête [Fri, 25 Apr 2014 01:32:12 +0000 (21:32 -0400)]
example: Prevent possible non-NULL terminated string

10 years agoaddress: Correctly identify ipv6 link local
Olivier Crête [Fri, 25 Apr 2014 01:27:29 +0000 (21:27 -0400)]
address: Correctly identify ipv6 link local

The test for fe80::/10 always returned FALSE.

10 years agoadd nice_agent_forget_relays()
Guillaume Desmottes [Tue, 15 Apr 2014 13:57:55 +0000 (15:57 +0200)]
add nice_agent_forget_relays()

10 years agocomponent: Clear turn local candidates when clearing turn servers
Olivier Crête [Wed, 16 Apr 2014 02:52:30 +0000 (22:52 -0400)]
component: Clear turn local candidates when clearing turn servers

But keep the turn connection that's currently being used if it is
the selected candidate. Also clear the TURN candidate refresh.

10 years agoagent: Make the TurnServer structure refcounted
Olivier Crête [Tue, 22 Apr 2014 21:05:57 +0000 (17:05 -0400)]
agent: Make the TurnServer structure refcounted

Instead of just blindling assuming that all of the pointers are valid
until the end.

10 years agodiscovery: Use g_slist_free_full for candidate refresh list
Olivier Crête [Tue, 22 Apr 2014 21:10:28 +0000 (17:10 -0400)]
discovery: Use g_slist_free_full for candidate refresh list

10 years agodiscovery: Use g_slist_free_full for discovery list
Olivier Crête [Tue, 22 Apr 2014 21:03:03 +0000 (17:03 -0400)]
discovery: Use g_slist_free_full for discovery list

10 years agodiscovery: Remove never used and leaked msn_turn_* fields in CandidateDiscovery
Olivier Crête [Tue, 22 Apr 2014 20:47:36 +0000 (16:47 -0400)]
discovery: Remove never used and leaked msn_turn_* fields in CandidateDiscovery

10 years agodiscovery: Remove never used and leaked msn_turn_* fields in CandidateRefresh
Olivier Crête [Tue, 22 Apr 2014 20:47:36 +0000 (16:47 -0400)]
discovery: Remove never used and leaked msn_turn_* fields in CandidateRefresh

10 years agoagent: Factor out creating the TurnServer structure
Olivier Crête [Tue, 22 Apr 2014 20:25:26 +0000 (16:25 -0400)]
agent: Factor out creating the TurnServer structure

10 years agodiscovery: Remove duplicated element between CandidateRefresh and NiceCandidate
Olivier Crête [Tue, 22 Apr 2014 20:13:52 +0000 (16:13 -0400)]
discovery: Remove duplicated element between CandidateRefresh and NiceCandidate

10 years agodiscovery: Store NiceCandidate in CandidateRefresh
Olivier Crête [Tue, 22 Apr 2014 20:02:32 +0000 (16:02 -0400)]
discovery: Store NiceCandidate in CandidateRefresh

10 years agocomponent: Make detach_source close the socket
Olivier Crête [Wed, 16 Apr 2014 02:44:52 +0000 (22:44 -0400)]
component: Make detach_source close the socket

10 years agocomponent: Make is possible to remove a socket
Olivier Crête [Wed, 16 Apr 2014 02:21:07 +0000 (22:21 -0400)]
component: Make is possible to remove a socket

Change the SocketSource handling to make it possible
to remove a source, not only to add one.

10 years agofactor out: component_clean_turn_servers()
Guillaume Desmottes [Tue, 15 Apr 2014 13:50:39 +0000 (15:50 +0200)]
factor out: component_clean_turn_servers()

10 years agostream: No need to pass RNG to stream_restart()
Olivier Crête [Fri, 25 Apr 2014 00:55:17 +0000 (20:55 -0400)]
stream: No need to pass RNG to stream_restart()

It can now take it from the agent.

10 years agoconncheck: Only print debug message if actually freeing something
Olivier Crête [Fri, 25 Apr 2014 00:53:09 +0000 (20:53 -0400)]
conncheck: Only print debug message if actually freeing something

10 years agoconncheck: Don't fail a stream that has on-going discovery
Olivier Crête [Thu, 24 Apr 2014 02:03:29 +0000 (22:03 -0400)]
conncheck: Don't fail a stream that has on-going discovery

10 years agoagent: Add nice_agent_restart_stream() to restart a single stream
Olivier Crête [Wed, 16 Apr 2014 00:19:18 +0000 (20:19 -0400)]
agent: Add nice_agent_restart_stream() to restart a single stream

10 years agostream: Clear connchecks on restart inside stream
Olivier Crête [Wed, 16 Apr 2014 00:14:16 +0000 (20:14 -0400)]
stream: Clear connchecks on restart inside stream

10 years agoconncheck: Use g_slist_free_full() for conncheck list
Olivier Crête [Fri, 25 Apr 2014 00:40:09 +0000 (20:40 -0400)]
conncheck: Use g_slist_free_full() for conncheck list

Skips one iterator over g_slist_foreach() + g_slist_free(). It is also easier
to read.

10 years agoconncheck: Make conn_check_free_item() static
Olivier Crête [Fri, 25 Apr 2014 00:39:20 +0000 (20:39 -0400)]
conncheck: Make conn_check_free_item() static

It is never used outside of this file.

10 years agoconncheck: Only stop conncheck timer if no stream has pending conn checks
Olivier Crête [Fri, 25 Apr 2014 00:33:33 +0000 (20:33 -0400)]
conncheck: Only stop conncheck timer if no stream has pending conn checks

10 years agoconncheck: Remove useless return value on conn_check_prune_stream
Olivier Crête [Fri, 25 Apr 2014 00:31:44 +0000 (20:31 -0400)]
conncheck: Remove useless return value on conn_check_prune_stream

10 years agoconncheck: Factor out stopping connectivity checks
Olivier Crête [Fri, 25 Apr 2014 00:27:38 +0000 (20:27 -0400)]
conncheck: Factor out stopping connectivity checks

10 years agocomponent: Remove return value from *_restart() functions, they can't fail
Olivier Crête [Tue, 15 Apr 2014 23:54:45 +0000 (19:54 -0400)]
component: Remove return value from *_restart() functions, they can't fail

10 years agocomponent: socket has been renamed nicesock
Olivier Crête [Thu, 24 Apr 2014 03:30:34 +0000 (23:30 -0400)]
component: socket has been renamed nicesock

10 years agoAdd more debug info when adding relays
Youness Alaoui [Sat, 19 Apr 2014 01:45:12 +0000 (21:45 -0400)]
Add more debug info when adding relays

10 years agoProtect test-dribble against read->connected->ready state changes
Youness Alaoui [Wed, 16 Apr 2014 22:50:10 +0000 (18:50 -0400)]
Protect test-dribble against read->connected->ready state changes

10 years agoReturn the correct originating IP on TURN
Youness Alaoui [Sat, 19 Apr 2014 04:44:53 +0000 (00:44 -0400)]
Return the correct originating IP on TURN

If doing a recv on UDP-TURN, the 'from' address was kept set to
the turn server which causes connchecks to fail with "mismatched address"
error. This fixes it

10 years agoadd nice_component_state_to_string()
Guillaume Desmottes [Wed, 23 Apr 2014 12:39:59 +0000 (14:39 +0200)]
add nice_component_state_to_string()

Nice to make debug logs more friendly to read.

10 years agopseudotcp: Fix partial acknowledgement of segments
Philip Withnall [Wed, 16 Apr 2014 11:44:32 +0000 (12:44 +0100)]
pseudotcp: Fix partial acknowledgement of segments

If an incoming ACK acknowledges part of a pending SSegment, correctly
increment the base offset of that SSegment before attempting to transmit
it. Otherwise, the wrong data will be transmitted and the offset passed
to packet() will be incorrect.

10 years agopseudotcp: Fix an assertion on an invalid calculated RTT
Philip Withnall [Wed, 16 Apr 2014 11:43:20 +0000 (12:43 +0100)]
pseudotcp: Fix an assertion on an invalid calculated RTT

If a packet has an invalid tsecr field, invalid (e.g. negative) RTTs may
be calculated from it. If so, discard the packet as invalid.

10 years agotests: Add a test-pseudotcp-fuzzy test for fuzzing PseudoTcpSocket
Philip Withnall [Wed, 16 Apr 2014 11:41:47 +0000 (12:41 +0100)]
tests: Add a test-pseudotcp-fuzzy test for fuzzing PseudoTcpSocket

As documented at the top of the file, this creates two PseudoTcpSockets
in a loopback configuration, and mutates the raw packets which are sent
between them, hoping to cause assertion failures and illegal memory
accesses in the pseudotcp code.

Best run under Valgrind or GDB.

10 years agoagent: Fix leaks if a component is removed during a recv() call
Philip Withnall [Wed, 16 Apr 2014 18:09:06 +0000 (19:09 +0100)]
agent: Fix leaks if a component is removed during a recv() call

If the error handling block in the middle of the recv() loop is hit,
various things were previously leaked (context, cancellable_source) and
the return values were potentially incorrect.

Fix the break out of the error handling block to clean up correctly.

10 years agostun: Restore argument type to stun_usage_bind_process(), it's used outside libnice
Olivier Crête [Wed, 16 Apr 2014 03:18:21 +0000 (23:18 -0400)]
stun: Restore argument type to stun_usage_bind_process(), it's used outside libnice

10 years agoagent: Factor out a tiny bit of common code
Philip Withnall [Fri, 14 Mar 2014 09:24:08 +0000 (09:24 +0000)]
agent: Factor out a tiny bit of common code

10 years agoagent: Limit printed length of uname and password in debug output
Philip Withnall [Fri, 14 Mar 2014 09:20:53 +0000 (09:20 +0000)]
agent: Limit printed length of uname and password in debug output

At this point in the code, neither the username nor password are
nul-terminated, so printing them in the debug output as nul-terminated
strings can easily result in rubbish being printed after them.

Fix this by specifying the string length in the printf() format string.
Finally my terminal will no longer ask me to install N’Ko fonts when
running the libnice tests.

10 years agoagent: Fix a leak in nice_output_stream_write() with a NULL cancellable
Philip Withnall [Tue, 15 Apr 2014 17:06:44 +0000 (18:06 +0100)]
agent: Fix a leak in nice_output_stream_write() with a NULL cancellable

If @cancellable is NULL in a call to nice_output_stream_write(), the
WriteData struct is created with a reference count of 4, but only two
operations are scheduled which will result in its reference count being
decremented. The third operation is only scheduled if @cancellable is
non-NULL (and the final reference is dropped unconditionally at the end
of the function).

Fix this by properly implementing reference counting for WriteData,
rather than hard-coding the expected number of references in a fragile
and unmaintainable way.

10 years agotcp-bsd: Don't clear error that hasn't been set
Olivier Crête [Wed, 2 Apr 2014 15:25:27 +0000 (11:25 -0400)]
tcp-bsd: Don't clear error that hasn't been set

10 years agoagent: Don't return the socket to the app in any reliable case
Olivier Crête [Wed, 9 Apr 2014 03:10:34 +0000 (23:10 -0400)]
agent: Don't return the socket to the app in any reliable case

10 years agoNo need to strdup foundation in new_selected_pair since we queue signal
Youness Alaoui [Tue, 8 Apr 2014 01:30:49 +0000 (21:30 -0400)]
No need to strdup foundation in new_selected_pair since we queue signal

10 years agopseudotcp: Also cause Writable callback to be emitted if can_send() says no
Olivier Crête [Wed, 9 Apr 2014 02:43:30 +0000 (22:43 -0400)]
pseudotcp: Also cause Writable callback to be emitted if can_send() says no

The GOutputStream based systems can sometimes call this, decide the stream is
not writable and then poll for it. We have to make sure that poll is woken up.

10 years agoFix TCP TURN for Google compatibility. Message length was sent uninitialized
Youness Alaoui [Fri, 4 Apr 2014 06:43:20 +0000 (02:43 -0400)]
Fix TCP TURN for Google compatibility. Message length was sent uninitialized

10 years agoSmall cleaning of tcp-bsd.c
Youness Alaoui [Tue, 1 Apr 2014 00:36:58 +0000 (20:36 -0400)]
Small cleaning of tcp-bsd.c

10 years agoFix possible segfault in stun_message_validate_buffer_length()
Jakub Adam [Sat, 4 Jun 2011 21:25:33 +0000 (23:25 +0200)]
Fix possible segfault in stun_message_validate_buffer_length()

10 years agobuild: Check for [s]size_t before redefining them on MinGW
Philip Withnall [Thu, 3 Apr 2014 11:29:04 +0000 (12:29 +0100)]
build: Check for [s]size_t before redefining them on MinGW

MinGW defines size_t and ssize_t for us, so we should not
unconditionally redefine them in stun/win32_common.h. Add an
AC_CHECK_TYPES configure check to avoid this.

10 years agoagent: Define IN6_ARE_ADDR_EQUAL macro when building under MinGW
Philip Withnall [Thu, 3 Apr 2014 11:22:27 +0000 (12:22 +0100)]
agent: Define IN6_ARE_ADDR_EQUAL macro when building under MinGW

Older versions of MinGW don’t define IN6_ARE_ADDR_EQUAL, as normally
defined in netinet/in.h. Conditionally define it in address.c to fix the
build on MinGW.

MinGW has added support for the macro here:
https://github.com/mirror/mingw-w64/commit/0f4899473c4ba2e34fa447b1931a04e38c1f105e

Based on a patch originally by Luciana Fujii Pontello
<luciana@fujii.eti.br>.

10 years agopseudotcp: Validate option lengths
Olivier Crête [Wed, 2 Apr 2014 01:41:04 +0000 (21:41 -0400)]
pseudotcp: Validate option lengths

10 years agoRemove all traces of compile time marshallers
Olivier Crête [Tue, 1 Apr 2014 15:00:55 +0000 (11:00 -0400)]
Remove all traces of compile time marshallers

10 years agoagent: Use generic marshaller
Olivier Crête [Mon, 31 Mar 2014 23:28:24 +0000 (19:28 -0400)]
agent: Use generic marshaller

10 years agoInitialize variables to reduce unexpected behavior in case something goes wrong
Olivier Crête [Mon, 31 Mar 2014 23:17:28 +0000 (19:17 -0400)]
Initialize variables to reduce unexpected behavior in case something goes wrong

10 years agoRename variables that shadow global definitions
Olivier Crête [Mon, 31 Mar 2014 23:15:07 +0000 (19:15 -0400)]
Rename variables that shadow global definitions

10 years agostun: Use struct sockaddr_storage * for any pointer that we write to
Olivier Crête [Mon, 31 Mar 2014 22:32:40 +0000 (18:32 -0400)]
stun: Use struct sockaddr_storage * for any pointer that we write to

Some platforms have a larger alignment requirement for struct sockaddr_* than
for plain struct sockaddr, in that case, we need to make sure that the incoming pointer
has the right alignement before taking it in.

10 years agostun tests: Fix a bunch of issues found by more aggressive GCC warnings
Olivier Crête [Mon, 31 Mar 2014 21:46:34 +0000 (17:46 -0400)]
stun tests: Fix a bunch of issues found by more aggressive GCC warnings

10 years agoDon't mix gsize vs size_t, seems like they're not always the same size
Olivier Crête [Mon, 31 Mar 2014 21:46:15 +0000 (17:46 -0400)]
Don't mix gsize vs size_t, seems like they're not always the same size

10 years agocandidate: Use explicit 64-bit constants to make 32-bit gcc happy
Olivier Crête [Mon, 31 Mar 2014 21:45:36 +0000 (17:45 -0400)]
candidate: Use explicit 64-bit constants to make 32-bit gcc happy

10 years agopseudotcp: Don't mix "long" and guint, one is signed, the other is unsigned
Olivier Crête [Mon, 31 Mar 2014 21:44:45 +0000 (17:44 -0400)]
pseudotcp: Don't mix "long" and guint, one is signed, the other is unsigned

So use guint64 everywhere, this is never supposed to be negative.

10 years agotcp-turn: Don't access output message after freeing it
Olivier Crête [Sun, 30 Mar 2014 01:28:02 +0000 (21:28 -0400)]
tcp-turn: Don't access output message after freeing it

10 years agoturn: Don't overwrite source, destroy it first
Olivier Crête [Sun, 30 Mar 2014 01:23:40 +0000 (21:23 -0400)]
turn: Don't overwrite source, destroy it first

10 years agoturn: Don't access list node after freeing it
Olivier Crête [Sun, 30 Mar 2014 01:23:11 +0000 (21:23 -0400)]
turn: Don't access list node after freeing it

10 years agocomponent: Set dummy callback from cancellable GSource
Olivier Crête [Fri, 28 Mar 2014 21:38:01 +0000 (17:38 -0400)]
component: Set dummy callback from cancellable GSource

10 years agoagent: Make it possible to set the relays after gathering
Olivier Crête [Fri, 28 Mar 2014 01:10:33 +0000 (21:10 -0400)]
agent: Make it possible to set the relays after gathering

This allows finding the relays asynchronously while trying to connect
with other methods.

10 years agoagent: Prevent nice_agent_set_port_range() from being called after a gather
Olivier Crête [Fri, 28 Mar 2014 01:10:02 +0000 (21:10 -0400)]
agent: Prevent nice_agent_set_port_range() from being called after a gather

The port range is only used when gathering, print a critical if it is
called afterwards as it will have no effect.

10 years agoagent: Prevent gather from being called multiple times
Olivier Crête [Fri, 28 Mar 2014 01:09:15 +0000 (21:09 -0400)]
agent: Prevent gather from being called multiple times

This can cause odd behaviors as it is not a idempotent function.

10 years agoagent: Refactor nice_agent_set_relay_info()
Olivier Crête [Fri, 28 Mar 2014 01:06:55 +0000 (21:06 -0400)]
agent: Refactor nice_agent_set_relay_info()

No behavior change is introduced

10 years agoturn: Put timeouts on the specific main context
Olivier Crête [Fri, 28 Mar 2014 00:13:55 +0000 (20:13 -0400)]
turn: Put timeouts on the specific main context

10 years agoturn: Don't try to process empty messages
Olivier Crête [Thu, 27 Mar 2014 21:55:31 +0000 (17:55 -0400)]
turn: Don't try to process empty messages

10 years agoagent: Bail out early on empty message
Olivier Crête [Thu, 27 Mar 2014 21:55:01 +0000 (17:55 -0400)]
agent: Bail out early on empty message

This can happen if a lower layer has consumed the message, bail out earlier in
that case.

10 years agoagent: Don't overwrite the size of the GInputBuffer, only set the global size
Olivier Crête [Thu, 27 Mar 2014 21:54:00 +0000 (17:54 -0400)]
agent: Don't overwrite the size of the GInputBuffer, only set the global size

10 years agopseudotcp: Also accept NiceInputMessage array with a single message
Olivier Crête [Thu, 27 Mar 2014 21:51:03 +0000 (17:51 -0400)]
pseudotcp: Also accept NiceInputMessage array with a single message

10 years agotest-fullmode: Don't use gmainloop when not required
Olivier Crête [Thu, 27 Mar 2014 21:50:31 +0000 (17:50 -0400)]
test-fullmode: Don't use gmainloop when not required

There are more than one callback that could stop it

10 years agotest-fullmode: Do #if instead of #ifdef as we set it to 0
Olivier Crête [Thu, 27 Mar 2014 21:50:08 +0000 (17:50 -0400)]
test-fullmode: Do #if instead of #ifdef as we set it to 0

10 years agotest-fullmode: Only wait for data on component 1
Olivier Crête [Thu, 27 Mar 2014 21:49:43 +0000 (17:49 -0400)]
test-fullmode: Only wait for data on component 1

10 years agotcp-bsd: Use default main context if none specified
Olivier Crête [Thu, 27 Mar 2014 16:33:23 +0000 (12:33 -0400)]
tcp-bsd: Use default main context if none specified

10 years agoturn-tcp: Don't corrupt messages
Olivier Crête [Thu, 27 Mar 2014 07:54:32 +0000 (03:54 -0400)]
turn-tcp: Don't corrupt messages

10 years agoagent: Free every parameter
Olivier Crête [Sat, 15 Mar 2014 03:53:06 +0000 (23:53 -0400)]
agent: Free every parameter

Fixes off-by-one error

10 years agoagent: Create a custom pointer GType to recognize the stream ids
Olivier Crête [Sat, 15 Mar 2014 03:52:45 +0000 (23:52 -0400)]
agent: Create a custom pointer GType to recognize the stream ids

10 years agoagent: Improve documentation for NiceAgent::new-candidate
Philip Withnall [Fri, 7 Mar 2014 09:18:04 +0000 (09:18 +0000)]
agent: Improve documentation for NiceAgent::new-candidate

Note that it’s a new _local_ candidate.

10 years agoNEWS: Remove superfluous empty lines
Olivier Crête [Fri, 7 Mar 2014 02:38:07 +0000 (21:38 -0500)]
NEWS: Remove superfluous empty lines

10 years agoVersion 0.1.5.1
Olivier Crête [Fri, 7 Mar 2014 02:30:26 +0000 (21:30 -0500)]
Version 0.1.5.1

10 years agoVersion 0.1.5 0.1.5
Olivier Crête [Fri, 7 Mar 2014 02:21:37 +0000 (21:21 -0500)]
Version 0.1.5

10 years agoconfigure: Remove -Wunsafe-loop-optimizations, it causes false warnings
Olivier Crête [Fri, 7 Mar 2014 01:51:23 +0000 (20:51 -0500)]
configure: Remove -Wunsafe-loop-optimizations, it causes false warnings

10 years agotests: Add private header to tarball
Olivier Crête [Fri, 7 Mar 2014 01:45:43 +0000 (20:45 -0500)]
tests: Add private header to tarball

10 years agotests: Don't verify the message content with not in reliable mode, because its unreliable
Olivier Crête [Fri, 7 Mar 2014 01:00:38 +0000 (20:00 -0500)]
tests: Don't verify the message content with not in reliable mode, because its unreliable

10 years agoagent: Enforce limits on the size buffers, because the retval is signed
Olivier Crête [Fri, 7 Mar 2014 00:59:45 +0000 (19:59 -0500)]
agent: Enforce limits on the size buffers, because the retval is signed

10 years agodoc: Update doc generation
Olivier Crête [Thu, 6 Mar 2014 22:06:16 +0000 (17:06 -0500)]
doc: Update doc generation

10 years agoiostream: De-gtkdoc the comments, as it's not public API
Olivier Crête [Thu, 6 Mar 2014 22:06:06 +0000 (17:06 -0500)]
iostream: De-gtkdoc the comments, as it's not public API

10 years agoagent: Remove unused #include
Philip Withnall [Thu, 6 Mar 2014 16:00:07 +0000 (16:00 +0000)]
agent: Remove unused #include

net/if_arp.h doesn’t exist on OS X, and hence causes cross-compilation
to fail. It doesn’t appear to be needed for any of the functions
currently used in interfaces.c anyway.

10 years agoagent: Ensure the pending signal queue is cleared on dispose
Philip Withnall [Wed, 5 Mar 2014 10:45:00 +0000 (10:45 +0000)]
agent: Ensure the pending signal queue is cleared on dispose

10 years agoagent: Fix a potential re-entrancy situation
Philip Withnall [Tue, 4 Mar 2014 13:48:03 +0000 (13:48 +0000)]
agent: Fix a potential re-entrancy situation

If we emit signals from component_io_cb() in the middle of a read, it’s
possible that one of those signals will be picked up by the client to
perform another read. A likely candidate (and what was triggering the
re-entrancy here) would be component-state-changed. Since signals are
emitted synchronously, the second read would being inside the first, and
trigger the anti-re-entrancy assertion.

10 years agotests: Use dynamically allocated port for test-new-dribble
Olivier Crête [Tue, 25 Feb 2014 05:48:56 +0000 (00:48 -0500)]
tests: Use dynamically allocated port for test-new-dribble

10 years agotests: Fix horribly raciness in test-new-dribble
Olivier Crête [Tue, 25 Feb 2014 05:23:47 +0000 (00:23 -0500)]
tests: Fix horribly raciness in test-new-dribble

10 years agotests: Split racy "closing" into a test for stopping while reading or writing
Olivier Crête [Tue, 25 Feb 2014 04:05:44 +0000 (23:05 -0500)]
tests: Split racy "closing" into a test for stopping while reading or writing

We wan't to make sure not to have a race where a thread blocks in a blocking
receive or send while nice_agent_remove_stream() is called

10 years agotest: Use a less racy way to know if the test is ready to start
Olivier Crête [Tue, 25 Feb 2014 04:03:42 +0000 (23:03 -0500)]
test: Use a less racy way to know if the test is ready to start

Also, keep a pointer to the other structure for tests to use