summaryrefslogtreecommitdiff
path: root/agent
diff options
context:
space:
mode:
authorJakub Adam <jakub.adam@ktknet.cz>2016-05-31 09:27:03 +0000
committerOlivier CrĂȘte <olivier.crete@collabora.com>2016-05-31 14:24:24 -0400
commit955323915c43b1a066399e61d0ab091f0b1d112b (patch)
tree0ad71909816c0272df925cabae5bb6644c7f1ffa /agent
parent2112ebba886d15fd96cc36b9fe3196834acaa892 (diff)
downloadlibnice-955323915c43b1a066399e61d0ab091f0b1d112b.tar.gz
conncheck: fix pruning conn checks with TCP active sockets
TCP active socket makes a NiceSocket for each peer in conn_check_send() and this new socket is then stored as CandidateCheckPair's 'sockptr'. We thus have to look also at the 'sockptr' value when eliminating sockets which have received HUP from connection checks. Differential Revision: https://phabricator.freedesktop.org/D1034
Diffstat (limited to 'agent')
-rw-r--r--agent/conncheck.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/agent/conncheck.c b/agent/conncheck.c
index 70e35c5..57dba2f 100644
--- a/agent/conncheck.c
+++ b/agent/conncheck.c
@@ -3659,7 +3659,8 @@ conn_check_prune_socket (NiceAgent *agent, NiceStream *stream, NiceComponent *co
CandidateCheckPair *p = l->data;
if ((p->local != NULL && p->local->sockptr == sock) ||
- (p->remote != NULL && p->remote->sockptr == sock)) {
+ (p->remote != NULL && p->remote->sockptr == sock) ||
+ (p->sockptr == sock)) {
nice_debug ("Agent %p : Retransmissions failed, giving up on "
"connectivity check %p", agent, p);
candidate_check_pair_fail (stream, agent, p);