Commit e6a19418 authored by Fabrice Bellet's avatar Fabrice Bellet Committed by Olivier Crête

conncheck: test incoming checks on candidate base address

The candidate may be a newly discovered peer reflexive one,
or a server reflexive initial candidate, where address and
base address differ. Early incoming checks are received on
the base address. These incoming checks may accumulate if remote
credentials arrive with a delay.
parent f482a02c
......@@ -1727,8 +1727,14 @@ conn_check_remote_candidates_set(NiceAgent *agent, NiceStream *stream,
if (nice_address_equal (&rcand->addr, &icheck->from)) {
for (m = component->local_candidates; m; m = m->next) {
NiceCandidate *cand = m->data;
NiceAddress *addr;
if (nice_address_equal (&cand->addr, &icheck->local_socket->addr)) {
if (cand->type == NICE_CANDIDATE_TYPE_RELAYED)
addr = &cand->addr;
else
addr = &cand->base_addr;
if (nice_address_equal (addr, &icheck->local_socket->addr)) {
lcand = cand;
break;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment