From: Olivier CrĂȘte Date: Thu, 2 Jun 2016 23:00:17 +0000 (-0400) Subject: agent: Parse TURN packet on the right socket X-Git-Tag: 0.1.14~69 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6329509b86f3a6877a39fb59b7a1b535408db0ce;p=platform%2Fupstream%2Flibnice.git agent: Parse TURN packet on the right socket https://phabricator.freedesktop.org/T99 --- diff --git a/agent/agent.c b/agent/agent.c index e9e1949..f6c7a36 100644 --- a/agent/agent.c +++ b/agent/agent.c @@ -3622,12 +3622,14 @@ agent_recv_message_unlocked ( is_turn = TRUE; if (!is_turn && component->turn_candidate && + nice_socket_is_based_on (component->turn_candidate->sockptr, nicesock) && nice_address_equal (message->from, &component->turn_candidate->turn->server)) { is_turn = TRUE; retval = nice_udp_turn_socket_parse_recv_message ( component->turn_candidate->sockptr, &nicesock, message); } + for (item = component->turn_servers; item && !is_turn; item = g_list_next (item)) { TurnServer *turn = item->data; @@ -3644,7 +3646,9 @@ agent_recv_message_unlocked ( NiceCandidate *cand = i->data; if (cand->type == NICE_CANDIDATE_TYPE_RELAYED && - cand->stream_id == stream->id) { + cand->turn == turn && + cand->stream_id == stream->id && + nice_socket_is_based_on (cand->sockptr, nicesock)) { retval = nice_udp_turn_socket_parse_recv_message (cand->sockptr, &nicesock, message); break;