From ac3f7b5ec4ac3036d65a3990245ec5a046d68631 Mon Sep 17 00:00:00 2001 From: Fabrice Bellet Date: Mon, 13 Apr 2020 17:46:13 +0200 Subject: [PATCH] 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. --- agent/conncheck.c | 6 ++++++ 1 file changed, 6 insertions(+) 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); -- 2.7.4