summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--agent/agent.c12
-rw-r--r--agent/conncheck.c4
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);