conncheck: add a check to move into the ready state after a pair failed
authorFabrice Bellet <fabrice@bellet.info>
Wed, 20 May 2020 12:25:17 +0000 (14:25 +0200)
committerOlivier CrĂȘte <olivier.crete@ocrete.ca>
Fri, 22 May 2020 23:27:50 +0000 (23:27 +0000)
commitb67df5899333cbf91b0a8ba4d2aa8ad81ad4fddc
treed1cf8af81e39790c934808209f0edb4ed1af9323
parent866da5ee0114672d90d816d3f4d0cfbf99561062
conncheck: add a check to move into the ready state after a pair failed

This patch tries to move the component state from connected to ready in
places where a pair may fail. Consequently, the final check done after
the expiration of the idle timeout can be removed, assuming that
transitions are done as soon as they occur.

The only place where such a situation has been observed in a real world
stress test is a 401 unauthorized stun error received in
priv_map_reply_to_conn_check_request(), when the conncheck contains a
local and a remote candidate, both of type host, with an identical IP
address and port number (two boxes with a private network using the same
subnet). In such a case, a stun request to the remote candidate will
reach the local candidate instead, and will logically fail.
agent/conncheck.c