diff options
Diffstat (limited to 'agent')
-rw-r--r-- | agent/agent.c | 12 | ||||
-rw-r--r-- | agent/conncheck.c | 4 |
2 files changed, 10 insertions, 6 deletions
diff --git a/agent/agent.c b/agent/agent.c index 49fc371..3306378 100644 --- a/agent/agent.c +++ b/agent/agent.c @@ -3062,11 +3062,13 @@ nice_agent_gather_candidates ( if (nice_address_set_from_string (&stun_server, agent->stun_server_ip)) { nice_address_set_port (&stun_server, agent->stun_server_port); - priv_add_new_candidate_discovery_stun (agent, - host_candidate->sockptr, - stun_server, - stream, - cid); + if (nice_address_ip_version (&host_candidate->addr) == + nice_address_ip_version (&stun_server)) + priv_add_new_candidate_discovery_stun (agent, + host_candidate->sockptr, + stun_server, + stream, + cid); } } diff --git a/agent/conncheck.c b/agent/conncheck.c index 25bfd80..4d91f41 100644 --- a/agent/conncheck.c +++ b/agent/conncheck.c @@ -1459,7 +1459,9 @@ static gboolean priv_conn_keepalive_tick_unlocked (NiceAgent *agent) for (k = component->local_candidates; k; k = k->next) { NiceCandidate *candidate = (NiceCandidate *) k->data; if (candidate->type == NICE_CANDIDATE_TYPE_HOST && - candidate->transport == NICE_CANDIDATE_TRANSPORT_UDP) { + candidate->transport == NICE_CANDIDATE_TRANSPORT_UDP && + nice_address_ip_version (&candidate->addr) == + nice_address_ip_version (&stun_server)) { /* send the conncheck */ nice_debug ("Agent %p : resending STUN on %s to keep the " "candidate alive.", agent, candidate->foundation); |