summaryrefslogtreecommitdiff
path: root/agent
diff options
context:
space:
mode:
authorOlivier CrĂȘte <olivier.crete@collabora.com>2019-07-31 15:04:21 -0400
committerOlivier CrĂȘte <olivier.crete@collabora.com>2019-07-31 15:05:32 -0400
commitef6293b4df0eec94677935663f48b67756fc4fdd (patch)
treee08e10fca736bc04803b0410e46c67b88abbc620 /agent
parenta5b9d30d11d637977cd28aa5a8872b6431b83eca (diff)
downloadlibnice-ef6293b4df0eec94677935663f48b67756fc4fdd.tar.gz
conncheck: Drop valid STUN for which we can't find a request
It's most likely caused by a retransmission received after the initial request already had a reply.
Diffstat (limited to 'agent')
-rw-r--r--agent/conncheck.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/agent/conncheck.c b/agent/conncheck.c
index 0e3d1c0..36774aa 100644
--- a/agent/conncheck.c
+++ b/agent/conncheck.c
@@ -4584,6 +4584,14 @@ gboolean conn_check_handle_inbound_stun (NiceAgent *agent, NiceStream *stream,
return TRUE;
}
+ /* This is most likely caused by a second response to a request which
+ * already has received a valid reply.
+ */
+ if (valid == STUN_VALIDATION_UNMATCHED_RESPONSE) {
+ nice_debug ("Agent %p : Valid STUN response for which we don't have a request, ignoring", agent);
+ return TRUE;
+ }
+
if (valid != STUN_VALIDATION_SUCCESS) {
nice_debug ("Agent %p : STUN message is unsuccessful %d, ignoring", agent, valid);
return FALSE;