diff options
author | Fabrice Bellet <fabrice@bellet.info> | 2020-04-13 17:46:13 +0200 |
---|---|---|
committer | Olivier CrĂȘte <olivier.crete@collabora.com> | 2020-05-05 21:12:20 -0400 |
commit | ac3f7b5ec4ac3036d65a3990245ec5a046d68631 (patch) | |
tree | e92888ecb77072eb78fb0268f05a110e370c65ce | |
parent | 6dd3969404da66ee347313b7c9bd648579e7b9bb (diff) | |
download | libnice-ac3f7b5ec4ac3036d65a3990245ec5a046d68631.tar.gz |
conncheck: honor the retransmit flag in case of role conflict
This other rare situation happens when a role conflict is detected by an
stun reply message, on a component that already has a nominated pair
with a higher priority. In that case, the retransmit flag should be
honored, and the pair with "role conflict" should not be retransmitted.
-rw-r--r-- | agent/conncheck.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/agent/conncheck.c b/agent/conncheck.c index 41d8c92..324c373 100644 --- a/agent/conncheck.c +++ b/agent/conncheck.c @@ -3784,6 +3784,12 @@ static gboolean priv_map_reply_to_conn_check_request (NiceAgent *agent, NiceStre uint64_t tie; gboolean controlled_mode; + if (!p->retransmit) { + nice_debug ("Agent %p : Role conflict with pair %p, not restarting", + agent, p); + return TRUE; + } + /* case: role conflict error, need to restart with new role */ nice_debug ("Agent %p : Role conflict with pair %p, restarting", agent, p); |