More updates from git
This commit is contained in:
parent
f33dcda578
commit
24424c5121
@ -1,3 +1,35 @@
|
|||||||
|
commit 30a0c230ae9b70c572060ad3037f68e102e4759a
|
||||||
|
Author: Olivier Crête <olivier.crete@collabora.com>
|
||||||
|
Date: Mon Jun 6 18:31:22 2016 -0400
|
||||||
|
|
||||||
|
conncheck: Remove pairs before freeing candidate
|
||||||
|
|
||||||
|
Remove the whole pair before the candidate is
|
||||||
|
to be freed.
|
||||||
|
|
||||||
|
https://phabricator.freedesktop.org/T7460
|
||||||
|
|
||||||
|
commit 71f7ed3eda829c3dc6afe9ed013c0ab826a1aa40
|
||||||
|
Author: Olivier Crête <olivier.crete@collabora.com>
|
||||||
|
Date: Fri Feb 19 15:01:03 2016 -0500
|
||||||
|
|
||||||
|
stun timer: Do 7 retransmissions as recommended
|
||||||
|
|
||||||
|
Also reduce the normal timeout to make the test bearable.
|
||||||
|
|
||||||
|
This is what RFC 5389 section 7.2.1
|
||||||
|
|
||||||
|
Differential Revision: https://phabricator.freedesktop.org/D1056
|
||||||
|
Maniphest Task: https://phabricator.freedesktop.org/T3339
|
||||||
|
|
||||||
|
commit dc1e1b7a1b258fb54ba582d2fe77ccd159c9fe88
|
||||||
|
Author: Olivier Crête <olivier.crete@collabora.com>
|
||||||
|
Date: Mon Jun 6 16:21:54 2016 -0400
|
||||||
|
|
||||||
|
timer: Maximum retransmission should include the original one
|
||||||
|
|
||||||
|
We really care about the maximum transmissions, the first one counts.
|
||||||
|
|
||||||
commit fad72879fa4a0896c55ac6fc5f77f6c05e369a2b
|
commit fad72879fa4a0896c55ac6fc5f77f6c05e369a2b
|
||||||
Author: Olivier Crête <olivier.crete@collabora.com>
|
Author: Olivier Crête <olivier.crete@collabora.com>
|
||||||
Date: Fri Jun 3 18:42:59 2016 -0400
|
Date: Fri Jun 3 18:42:59 2016 -0400
|
||||||
@ -4669,7 +4701,7 @@ index 7ded710..6712794 100644
|
|||||||
|
|
||||||
TurnServer *
|
TurnServer *
|
||||||
diff --git a/agent/conncheck.c b/agent/conncheck.c
|
diff --git a/agent/conncheck.c b/agent/conncheck.c
|
||||||
index 057fc81..5cba478 100644
|
index 057fc81..7e03985 100644
|
||||||
--- a/agent/conncheck.c
|
--- a/agent/conncheck.c
|
||||||
+++ b/agent/conncheck.c
|
+++ b/agent/conncheck.c
|
||||||
@@ -61,18 +61,20 @@
|
@@ -61,18 +61,20 @@
|
||||||
@ -6310,8 +6342,14 @@ index 057fc81..5cba478 100644
|
|||||||
NiceSocket *sock)
|
NiceSocket *sock)
|
||||||
{
|
{
|
||||||
GSList *l;
|
GSList *l;
|
||||||
@@ -3379,7 +3675,8 @@ conn_check_prune_socket (NiceAgent *agent, Stream *stream, Component *component,
|
@@ -3375,14 +3671,20 @@ conn_check_prune_socket (NiceAgent *agent, Stream *stream, Component *component,
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Prune from the candidate check pairs. */
|
||||||
|
- for (l = stream->conncheck_list; l != NULL; l = l->next) {
|
||||||
|
+ for (l = stream->conncheck_list; l != NULL;) {
|
||||||
CandidateCheckPair *p = l->data;
|
CandidateCheckPair *p = l->data;
|
||||||
|
+ GSList *next = l->next;
|
||||||
|
|
||||||
if ((p->local != NULL && p->local->sockptr == sock) ||
|
if ((p->local != NULL && p->local->sockptr == sock) ||
|
||||||
- (p->remote != NULL && p->remote->sockptr == sock)) {
|
- (p->remote != NULL && p->remote->sockptr == sock)) {
|
||||||
@ -6320,6 +6358,13 @@ index 057fc81..5cba478 100644
|
|||||||
nice_debug ("Agent %p : Retransmissions failed, giving up on "
|
nice_debug ("Agent %p : Retransmissions failed, giving up on "
|
||||||
"connectivity check %p", agent, p);
|
"connectivity check %p", agent, p);
|
||||||
candidate_check_pair_fail (stream, agent, p);
|
candidate_check_pair_fail (stream, agent, p);
|
||||||
|
+ conn_check_free_item (p);
|
||||||
|
+ stream->conncheck_list = g_slist_delete_link (stream->conncheck_list, l);
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ l = next;
|
||||||
|
}
|
||||||
|
}
|
||||||
diff --git a/agent/conncheck.h b/agent/conncheck.h
|
diff --git a/agent/conncheck.h b/agent/conncheck.h
|
||||||
index e6c2c62..431c606 100644
|
index e6c2c62..431c606 100644
|
||||||
--- a/agent/conncheck.h
|
--- a/agent/conncheck.h
|
||||||
@ -9044,6 +9089,19 @@ index 9faa64b..558fe5e 100644
|
|||||||
return STUN_MESSAGE_BUFFER_INVALID; // RTP or other non-STUN packet
|
return STUN_MESSAGE_BUFFER_INVALID; // RTP or other non-STUN packet
|
||||||
}
|
}
|
||||||
|
|
||||||
|
diff --git a/stun/tests/test-bind.c b/stun/tests/test-bind.c
|
||||||
|
index 0c7646f..2cf4feb 100644
|
||||||
|
--- a/stun/tests/test-bind.c
|
||||||
|
+++ b/stun/tests/test-bind.c
|
||||||
|
@@ -438,7 +438,7 @@ static void keepalive (void)
|
||||||
|
|
||||||
|
static void test (void (*func) (void), const char *name)
|
||||||
|
{
|
||||||
|
- alarm (20);
|
||||||
|
+ alarm (30);
|
||||||
|
|
||||||
|
printf ("%s test... ", name);
|
||||||
|
func ();
|
||||||
diff --git a/stun/tests/test-conncheck.c b/stun/tests/test-conncheck.c
|
diff --git a/stun/tests/test-conncheck.c b/stun/tests/test-conncheck.c
|
||||||
index 610d43a..92b947c 100644
|
index 610d43a..92b947c 100644
|
||||||
--- a/stun/tests/test-conncheck.c
|
--- a/stun/tests/test-conncheck.c
|
||||||
@ -9184,6 +9242,44 @@ index a628791..a7d0d19 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (stun_agent_init_response (agent, msg, buf, len, req) == FALSE) {
|
if (stun_agent_init_response (agent, msg, buf, len, req) == FALSE) {
|
||||||
|
diff --git a/stun/usages/timer.c b/stun/usages/timer.c
|
||||||
|
index 82f3ea2..2862ab8 100644
|
||||||
|
--- a/stun/usages/timer.c
|
||||||
|
+++ b/stun/usages/timer.c
|
||||||
|
@@ -104,7 +104,7 @@ void stun_timer_start (StunTimer *timer, unsigned int initial_timeout,
|
||||||
|
unsigned int max_retransmissions)
|
||||||
|
{
|
||||||
|
stun_gettime (&timer->deadline);
|
||||||
|
- timer->retransmissions = 0;
|
||||||
|
+ timer->retransmissions = 1;
|
||||||
|
timer->delay = initial_timeout;
|
||||||
|
timer->max_retransmissions = max_retransmissions;
|
||||||
|
add_delay (&timer->deadline, timer->delay);
|
||||||
|
diff --git a/stun/usages/timer.h b/stun/usages/timer.h
|
||||||
|
index e6501cb..e74353b 100644
|
||||||
|
--- a/stun/usages/timer.h
|
||||||
|
+++ b/stun/usages/timer.h
|
||||||
|
@@ -130,15 +130,18 @@ struct stun_timer_s {
|
||||||
|
* STUN_TIMER_DEFAULT_TIMEOUT:
|
||||||
|
*
|
||||||
|
* The default intial timeout to use for the timer
|
||||||
|
+ * RFC recommendds 500, but it's ridiculous, 50ms is known to work in most
|
||||||
|
+ * cases as it is also what is used by SIP style VoIP when sending A-Law and
|
||||||
|
+ * mu-Law audio, so 200ms should be hyper safe.
|
||||||
|
*/
|
||||||
|
-#define STUN_TIMER_DEFAULT_TIMEOUT 600
|
||||||
|
+#define STUN_TIMER_DEFAULT_TIMEOUT 200
|
||||||
|
|
||||||
|
/**
|
||||||
|
* STUN_TIMER_DEFAULT_MAX_RETRANSMISSIONS:
|
||||||
|
*
|
||||||
|
* The default maximum retransmissions allowed before a timer decides to timeout
|
||||||
|
*/
|
||||||
|
-#define STUN_TIMER_DEFAULT_MAX_RETRANSMISSIONS 3
|
||||||
|
+#define STUN_TIMER_DEFAULT_MAX_RETRANSMISSIONS 7
|
||||||
|
|
||||||
|
/**
|
||||||
|
* STUN_TIMER_DEFAULT_RELIABLE_TIMEOUT:
|
||||||
diff --git a/stun/usages/turn.c b/stun/usages/turn.c
|
diff --git a/stun/usages/turn.c b/stun/usages/turn.c
|
||||||
index f242650..3b94959 100644
|
index f242650..3b94959 100644
|
||||||
--- a/stun/usages/turn.c
|
--- a/stun/usages/turn.c
|
@ -1,13 +1,13 @@
|
|||||||
Name: libnice
|
Name: libnice
|
||||||
Version: 0.1.13
|
Version: 0.1.13
|
||||||
Release: 5%{?dist}
|
Release: 6%{?dist}
|
||||||
Summary: GLib ICE implementation
|
Summary: GLib ICE implementation
|
||||||
|
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
License: LGPLv2 and MPLv1.1
|
License: LGPLv2 and MPLv1.1
|
||||||
URL: http://nice.freedesktop.org/wiki/
|
URL: http://nice.freedesktop.org/wiki/
|
||||||
Source0: http://nice.freedesktop.org/releases/%{name}-%{version}.tar.gz
|
Source0: http://nice.freedesktop.org/releases/%{name}-%{version}.tar.gz
|
||||||
Patch1: libnice-0.1.13-20160606.patch
|
Patch1: libnice-0.1.13-20160610.patch
|
||||||
|
|
||||||
BuildRequires: glib2-devel
|
BuildRequires: glib2-devel
|
||||||
BuildRequires: gobject-introspection-devel
|
BuildRequires: gobject-introspection-devel
|
||||||
@ -124,6 +124,9 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Jun 10 2016 David Woodhouse <dwmw2@infradead.org> - 0.1.13-6
|
||||||
|
- More updates from libnice git; use-after-free fixes
|
||||||
|
|
||||||
* Mon Jun 06 2016 David Woodhouse <dwmw2@infradead.org> - 0.1.13-5
|
* Mon Jun 06 2016 David Woodhouse <dwmw2@infradead.org> - 0.1.13-5
|
||||||
- Wholesale update to git HEAD, which fixes SIPE again.
|
- Wholesale update to git HEAD, which fixes SIPE again.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user