<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[208583] trunk/Tools</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/208583">208583</a></dd>
<dt>Author</dt> <dd>philn@webkit.org</dd>
<dt>Date</dt> <dd>2016-11-11 00:08:15 -0800 (Fri, 11 Nov 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>[GTK][JHbuild] bump libnice version in openwebrtc.modules
https://bugs.webkit.org/show_bug.cgi?id=164586

Reviewed by Michael Catanzaro.

Update to a recent libnice git snapshot and remove patches already
upstream or not applying anymore. The patches not upstream yet
will be reported in Phabricator.

* gtk/openwebrtc.modules:
* gtk/patches/libnice-0001-agent-Remove-unnecessary-NULL-check.patch: Removed.
* gtk/patches/libnice-0002-Do-not-update-a-remote-candidate-s-type.patch: Removed.
* gtk/patches/libnice-0002-TURN-handle-437-Allocation-Mismatch-responses.patch: Removed.
* gtk/patches/libnice-0003-Do-not-compare-scope-for-IPv6-address-when-scope-is-.patch: Removed.
* gtk/patches/libnice-0004-Removing-no-op-assignment.patch: Removed.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkToolsChangeLog">trunk/Tools/ChangeLog</a></li>
<li><a href="#trunkToolsgtkopenwebrtcmodules">trunk/Tools/gtk/openwebrtc.modules</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkToolsgtkpatcheslibnice0001agentRemoveunnecessaryNULLcheckpatch">trunk/Tools/gtk/patches/libnice-0001-agent-Remove-unnecessary-NULL-check.patch</a></li>
<li><a href="#trunkToolsgtkpatcheslibnice0002Donotupdatearemotecandidatestypepatch">trunk/Tools/gtk/patches/libnice-0002-Do-not-update-a-remote-candidate-s-type.patch</a></li>
<li><a href="#trunkToolsgtkpatcheslibnice0002TURNhandle437AllocationMismatchresponsespatch">trunk/Tools/gtk/patches/libnice-0002-TURN-handle-437-Allocation-Mismatch-responses.patch</a></li>
<li><a href="#trunkToolsgtkpatcheslibnice0003DonotcomparescopeforIPv6addresswhenscopeispatch">trunk/Tools/gtk/patches/libnice-0003-Do-not-compare-scope-for-IPv6-address-when-scope-is-.patch</a></li>
<li><a href="#trunkToolsgtkpatcheslibnice0004Removingnoopassignmentpatch">trunk/Tools/gtk/patches/libnice-0004-Removing-no-op-assignment.patch</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkToolsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Tools/ChangeLog (208582 => 208583)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/ChangeLog        2016-11-11 07:42:05 UTC (rev 208582)
+++ trunk/Tools/ChangeLog        2016-11-11 08:08:15 UTC (rev 208583)
</span><span class="lines">@@ -1,3 +1,21 @@
</span><ins>+2016-11-11  Philippe Normand  &lt;pnormand@igalia.com&gt;
+
+        [GTK][JHbuild] bump libnice version in openwebrtc.modules
+        https://bugs.webkit.org/show_bug.cgi?id=164586
+
+        Reviewed by Michael Catanzaro.
+
+        Update to a recent libnice git snapshot and remove patches already
+        upstream or not applying anymore. The patches not upstream yet
+        will be reported in Phabricator.
+
+        * gtk/openwebrtc.modules:
+        * gtk/patches/libnice-0001-agent-Remove-unnecessary-NULL-check.patch: Removed.
+        * gtk/patches/libnice-0002-Do-not-update-a-remote-candidate-s-type.patch: Removed.
+        * gtk/patches/libnice-0002-TURN-handle-437-Allocation-Mismatch-responses.patch: Removed.
+        * gtk/patches/libnice-0003-Do-not-compare-scope-for-IPv6-address-when-scope-is-.patch: Removed.
+        * gtk/patches/libnice-0004-Removing-no-op-assignment.patch: Removed.
+
</ins><span class="cx"> 2016-11-10  Alex Christensen  &lt;achristensen@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         Fix assertion after r208534.
</span></span></pre></div>
<a id="trunkToolsgtkopenwebrtcmodules"></a>
<div class="modfile"><h4>Modified: trunk/Tools/gtk/openwebrtc.modules (208582 => 208583)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/gtk/openwebrtc.modules        2016-11-11 07:42:05 UTC (rev 208582)
+++ trunk/Tools/gtk/openwebrtc.modules        2016-11-11 08:08:15 UTC (rev 208583)
</span><span class="lines">@@ -7,8 +7,6 @@
</span><span class="cx">       href=&quot;https://github.com/&quot;/&gt;
</span><span class="cx">   &lt;repository type=&quot;git&quot; name=&quot;gstreamer&quot;
</span><span class="cx">       href=&quot;git://anongit.freedesktop.org/git/gstreamer/&quot;/&gt;
</span><del>-  &lt;repository type=&quot;tarball&quot; name=&quot;nice.freedesktop.org&quot;
-      href=&quot;http://nice.freedesktop.org&quot;/&gt;
</del><span class="cx">   &lt;repository type=&quot;git&quot; name=&quot;github.com&quot;
</span><span class="cx">       href=&quot;https://github.com&quot;/&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -29,14 +27,10 @@
</span><span class="cx">     &lt;dependencies&gt;
</span><span class="cx">       &lt;dep package=&quot;gstreamer&quot;/&gt;
</span><span class="cx">     &lt;/dependencies&gt;
</span><del>-    &lt;branch repo=&quot;nice.freedesktop.org&quot; module=&quot;releases/libnice-${version}.tar.gz&quot; version=&quot;0.1.13&quot; checkoutdir=&quot;libnice-${version}&quot;&gt;
-      &lt;patch file=&quot;libnice-0001-agent-Remove-unnecessary-NULL-check.patch&quot; strip=&quot;1&quot;/&gt;
-      &lt;patch file=&quot;libnice-0002-Do-not-update-a-remote-candidate-s-type.patch&quot; strip=&quot;1&quot;/&gt;
-      &lt;patch file=&quot;libnice-0003-Do-not-compare-scope-for-IPv6-address-when-scope-is-.patch&quot; strip=&quot;1&quot;/&gt;
-      &lt;patch file=&quot;libnice-0004-Removing-no-op-assignment.patch&quot; strip=&quot;1&quot;/&gt;
</del><ins>+    &lt;branch module=&quot;libnice/libnice/archive/${version}.tar.gz&quot; version=&quot;2803a0b4b70af9684e05ef5ed3f0c2fbca4b6c93&quot;
+            checkoutdir=&quot;libnice-${version}&quot; repo=&quot;github-tarball&quot;&gt;
</ins><span class="cx">       &lt;patch file=&quot;libnice-0001-nicesrc-spin-the-agent-mainloop-in-a-separate-thread.patch&quot; strip=&quot;1&quot;/&gt;
</span><span class="cx">       &lt;patch file=&quot;libnice-0001-TURN-allow-REALM-to-be-empty.patch&quot; strip=&quot;1&quot;/&gt;
</span><del>-      &lt;patch file=&quot;libnice-0002-TURN-handle-437-Allocation-Mismatch-responses.patch&quot; strip=&quot;1&quot;/&gt;
</del><span class="cx">     &lt;/branch&gt;
</span><span class="cx">   &lt;/autotools&gt;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkToolsgtkpatcheslibnice0001agentRemoveunnecessaryNULLcheckpatch"></a>
<div class="delfile"><h4>Deleted: trunk/Tools/gtk/patches/libnice-0001-agent-Remove-unnecessary-NULL-check.patch (208582 => 208583)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/gtk/patches/libnice-0001-agent-Remove-unnecessary-NULL-check.patch        2016-11-11 07:42:05 UTC (rev 208582)
+++ trunk/Tools/gtk/patches/libnice-0001-agent-Remove-unnecessary-NULL-check.patch        2016-11-11 08:08:15 UTC (rev 208583)
</span><span class="lines">@@ -1,44 +0,0 @@
</span><del>-From 7b7d2d986876fc53a23af7b516d78f82f2a546e9 Mon Sep 17 00:00:00 2001
-From: Philip Withnall &lt;philip@tecnocode.co.uk&gt;
-Date: Sun, 3 May 2015 16:05:30 +0100
-Subject: [PATCH 1/4] agent: Remove unnecessary NULL check
-
-With the changes in commit 483bdcf8, @name is now guaranteed to be
-non-NULL. Spotted by Coverity.
-
-CID: #109878
----
- agent/agent.c | 16 +++++++---------
- 1 file changed, 7 insertions(+), 9 deletions(-)
-
-diff --git a/agent/agent.c b/agent/agent.c
-index 259fdc9..e733c82 100644
---- a/agent/agent.c
-+++ b/agent/agent.c
-@@ -5329,16 +5329,14 @@ nice_agent_set_stream_name (NiceAgent *agent, guint stream_id,

-   agent_lock();

--  if (name != NULL) {
--    for (i = agent-&gt;streams; i; i = i-&gt;next) {
--      Stream *stream = i-&gt;data;
-+  for (i = agent-&gt;streams; i; i = i-&gt;next) {
-+    Stream *stream = i-&gt;data;

--      if (stream-&gt;id != stream_id &amp;&amp;
--          g_strcmp0 (stream-&gt;name, name) == 0)
--        goto done;
--      else if (stream-&gt;id == stream_id)
--        stream_to_name = stream;
--    }
-+    if (stream-&gt;id != stream_id &amp;&amp;
-+        g_strcmp0 (stream-&gt;name, name) == 0)
-+      goto done;
-+    else if (stream-&gt;id == stream_id)
-+      stream_to_name = stream;
-   }

-   if (stream_to_name == NULL)
--- 
-2.3.2 (Apple Git-55)
-
</del></span></pre></div>
<a id="trunkToolsgtkpatcheslibnice0002Donotupdatearemotecandidatestypepatch"></a>
<div class="delfile"><h4>Deleted: trunk/Tools/gtk/patches/libnice-0002-Do-not-update-a-remote-candidate-s-type.patch (208582 => 208583)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/gtk/patches/libnice-0002-Do-not-update-a-remote-candidate-s-type.patch        2016-11-11 07:42:05 UTC (rev 208582)
+++ trunk/Tools/gtk/patches/libnice-0002-Do-not-update-a-remote-candidate-s-type.patch        2016-11-11 08:08:15 UTC (rev 208583)
</span><span class="lines">@@ -1,31 +0,0 @@
</span><del>-From 93862c1e1940618e06143d4788f54bffd4d1c5da Mon Sep 17 00:00:00 2001
-From: Youness Alaoui &lt;kakaroto@kakaroto.homelinux.net&gt;
-Date: Tue, 5 May 2015 14:24:15 -0400
-Subject: [PATCH 2/4] Do not update a remote candidate's type
-
-When adding a remote candidate, if it's the same ip:port, we should
-also check its type, otherwise it's a new candidate. We can't allow
-a candidate type to be updated. This caused issues to ikonst_ on IRC
-where for some reason a host candidate appeared as both host and prflx
-and the update caused a remote host candidate to be updated to prflx
-causing a crash when the sockptr was being accessed.
----
- agent/agent.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/agent/agent.c b/agent/agent.c
-index e733c82..38b679f 100644
---- a/agent/agent.c
-+++ b/agent/agent.c
-@@ -3041,7 +3041,7 @@ static gboolean priv_add_remote_candidate (

-   /* step: check whether the candidate already exists */
-   candidate = component_find_remote_candidate(component, addr, transport);
--  if (candidate) {
-+  if (candidate &amp;&amp; candidate-&gt;type == type) {
-     if (nice_debug_is_enabled ()) {
-       gchar tmpbuf[INET6_ADDRSTRLEN];
-       nice_address_to_string (addr, tmpbuf);
--- 
-2.3.2 (Apple Git-55)
-
</del></span></pre></div>
<a id="trunkToolsgtkpatcheslibnice0002TURNhandle437AllocationMismatchresponsespatch"></a>
<div class="delfile"><h4>Deleted: trunk/Tools/gtk/patches/libnice-0002-TURN-handle-437-Allocation-Mismatch-responses.patch (208582 => 208583)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/gtk/patches/libnice-0002-TURN-handle-437-Allocation-Mismatch-responses.patch        2016-11-11 07:42:05 UTC (rev 208582)
+++ trunk/Tools/gtk/patches/libnice-0002-TURN-handle-437-Allocation-Mismatch-responses.patch        2016-11-11 08:08:15 UTC (rev 208583)
</span><span class="lines">@@ -1,131 +0,0 @@
</span><del>-From 9e2ced131ac0fc642ef5c861851c5988d8b96d16 Mon Sep 17 00:00:00 2001
-From: Alessandro Decina &lt;alessandro.d@gmail.com&gt;
-Date: Thu, 24 Mar 2016 10:54:20 +1100
-Subject: [PATCH 2/2] TURN: handle 437 Allocation Mismatch responses
-
-On Allocation Mismatch responses, the client is supposed to retry with a
-different host:port combination.
----
- agent/conncheck.c | 42 +++++++++++++++++++++++++++++++++---------
- agent/discovery.h |  1 +
- stun/stunagent.c  |  2 +-
- 3 files changed, 35 insertions(+), 10 deletions(-)
-
-diff --git a/agent/conncheck.c b/agent/conncheck.c
-index 97bf536..d03e57a 100644
---- a/agent/conncheck.c
-+++ b/agent/conncheck.c
-@@ -2630,9 +2630,10 @@ static gboolean priv_map_reply_to_relay_request (NiceAgent *agent, StunMessage *
-   StunTransactionId discovery_id;
-   StunTransactionId response_id;
-   stun_message_id (resp, response_id);
-+  CandidateDiscovery *d = NULL;

-   for (i = agent-&gt;discovery_list; i &amp;&amp; trans_found != TRUE; i = i-&gt;next) {
--    CandidateDiscovery *d = i-&gt;data;
-+    d = i-&gt;data;

-     if (d-&gt;type == NICE_CANDIDATE_TYPE_RELAYED &amp;&amp;
-         d-&gt;stun_message.buffer) {
-@@ -2757,6 +2758,7 @@ static gboolean priv_map_reply_to_relay_request (NiceAgent *agent, StunMessage *
-           uint16_t sent_realm_len = 0;
-           uint16_t recv_realm_len = 0;

-+          trans_found = TRUE;
-           sent_realm = (uint8_t *) stun_message_find (&amp;d-&gt;stun_message,
-               STUN_ATTRIBUTE_REALM, &amp;sent_realm_len);
-           recv_realm = (uint8_t *) stun_message_find (resp,
-@@ -2769,11 +2771,31 @@ static gboolean priv_map_reply_to_relay_request (NiceAgent *agent, StunMessage *
-               stun_message_get_class (resp) == STUN_ERROR &amp;&amp;
-               stun_message_find_error (resp, &amp;code) ==
-               STUN_MESSAGE_RETURN_SUCCESS) {
--            if (code == 438 ||
-+            if (code == 437 ||
-+                code == 438 ||
-                 (code == 401 &amp;&amp;
-                     !(recv_realm_len == sent_realm_len &amp;&amp;
-                         recv_realm != NULL &amp;&amp; sent_realm != NULL &amp;&amp;
-                         memcmp (sent_realm, recv_realm, sent_realm_len) == 0))) {
-+              if (code == 437) {
-+                if (d-&gt;turn_retries++ == 3)
-+                  goto error;
-+
-+                /* retry up to three times on Allocation Mismatch errors */
-+                NiceAddress addr = d-&gt;nicesock-&gt;addr;
-+                NiceSocket *new_socket;
-+
-+                /* FIXME: this ignores nice_agent_set_port_range */
-+                nice_address_set_port (&amp;addr, 0);
-+
-+                new_socket = nice_udp_bsd_socket_new (&amp;addr);
-+                if (new_socket) {
-+                  _priv_set_socket_tos (agent, new_socket, d-&gt;stream-&gt;tos);
-+                  component_attach_socket (d-&gt;component, new_socket);
-+                  d-&gt;nicesock = new_socket;
-+                }
-+              }
-+
-               d-&gt;stun_resp_msg = *resp;
-               memcpy (d-&gt;stun_resp_buffer, resp-&gt;buffer,
-                   stun_message_length (resp));
-@@ -2782,23 +2804,25 @@ static gboolean priv_map_reply_to_relay_request (NiceAgent *agent, StunMessage *
-               d-&gt;pending = FALSE;
-             } else {
-               /* case: a real unauthorized error */
--              d-&gt;stun_message.buffer = NULL;
--              d-&gt;stun_message.buffer_len = 0;
--              d-&gt;done = TRUE;
-+              goto error;
-             }
-           } else {
-             /* case: STUN error, the check STUN context was freed */
--            d-&gt;stun_message.buffer = NULL;
--            d-&gt;stun_message.buffer_len = 0;
--            d-&gt;done = TRUE;
-+            goto error;
-           }
--          trans_found = TRUE;
-         }
-       }
-     }
-   }

-   return trans_found;
-+
-+error:
-+  d-&gt;stun_message.buffer = NULL;
-+  d-&gt;stun_message.buffer_len = 0;
-+  d-&gt;done = TRUE;
-+
-+  return trans_found;
- }


-diff --git a/agent/discovery.h b/agent/discovery.h
-index c22ea6a..148b8c2 100644
---- a/agent/discovery.h
-+++ b/agent/discovery.h
-@@ -56,6 +56,7 @@ typedef struct
-   Stream *stream;
-   Component *component;
-   TurnServer *turn;
-+  gint turn_retries;
-   StunAgent stun_agent;
-   StunTimer timer;
-   uint8_t stun_buffer[STUN_MAX_MESSAGE_SIZE_IPV6];
-diff --git a/stun/stunagent.c b/stun/stunagent.c
-index 2abcc29..0abae3d 100644
---- a/stun/stunagent.c
-+++ b/stun/stunagent.c
-@@ -301,7 +301,7 @@ StunValidationStatus stun_agent_validate (StunAgent *agent, StunMessage *msg,
-     } else if (!(stun_message_get_class (msg) == STUN_ERROR &amp;&amp;
-         stun_message_find_error (msg, &amp;error_code) ==
-             STUN_MESSAGE_RETURN_SUCCESS &amp;&amp;
--        (error_code == 400 || error_code == 401))) {
-+        (error_code == 400 || error_code == 401 || error_code == 437))) {
-       stun_debug (&quot;STUN auth error: No message integrity attribute!&quot;);
-       return STUN_VALIDATION_UNAUTHORIZED;
-     }
--- 
-2.3.4
-
</del></span></pre></div>
<a id="trunkToolsgtkpatcheslibnice0003DonotcomparescopeforIPv6addresswhenscopeispatch"></a>
<div class="delfile"><h4>Deleted: trunk/Tools/gtk/patches/libnice-0003-Do-not-compare-scope-for-IPv6-address-when-scope-is-.patch (208582 => 208583)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/gtk/patches/libnice-0003-Do-not-compare-scope-for-IPv6-address-when-scope-is-.patch        2016-11-11 07:42:05 UTC (rev 208582)
+++ trunk/Tools/gtk/patches/libnice-0003-Do-not-compare-scope-for-IPv6-address-when-scope-is-.patch        2016-11-11 08:08:15 UTC (rev 208583)
</span><span class="lines">@@ -1,43 +0,0 @@
</span><del>-From 91a7b9324244844baf35d8fcef019a4ea3872d30 Mon Sep 17 00:00:00 2001
-From: Youness Alaoui &lt;kakaroto@kakaroto.homelinux.net&gt;
-Date: Tue, 5 May 2015 15:00:30 -0400
-Subject: [PATCH 3/4] Do not compare scope for IPv6 address when scope is 0
-
-This caused issues with thinking local host candidates were peer-reflexive
-candidates because the nice_address_equal would fail since the scope
-would be 6 (or some other value) but locally created NiceAddress from
-a stun response would have the scope set to 0.
-We ignore the scope when comparing ipv6 candidates when scope is 0
-to avoid these kinds of issues.
-Thanks to ikonst_ for finding these issues
----
- agent/address.c | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/agent/address.c b/agent/address.c
-index a8d9c76..01eebab 100644
---- a/agent/address.c
-+++ b/agent/address.c
-@@ -297,7 +297,8 @@ nice_address_equal (const NiceAddress *a, const NiceAddress *b)
-     case AF_INET6:
-       return IN6_ARE_ADDR_EQUAL (&amp;a-&gt;s.ip6.sin6_addr, &amp;b-&gt;s.ip6.sin6_addr)
-           &amp;&amp; (a-&gt;s.ip6.sin6_port == b-&gt;s.ip6.sin6_port)
--          &amp;&amp; (a-&gt;s.ip6.sin6_scope_id == b-&gt;s.ip6.sin6_scope_id);
-+          &amp;&amp; (a-&gt;s.ip6.sin6_scope_id == 0 || b-&gt;s.ip6.sin6_scope_id == 0 ||
-+              (a-&gt;s.ip6.sin6_scope_id == b-&gt;s.ip6.sin6_scope_id));

-     default:
-       g_return_val_if_reached (FALSE);
-@@ -412,7 +413,8 @@ nice_address_equal_no_port (const NiceAddress *a, const NiceAddress *b)

-     case AF_INET6:
-       return IN6_ARE_ADDR_EQUAL (&amp;a-&gt;s.ip6.sin6_addr, &amp;b-&gt;s.ip6.sin6_addr)
--          &amp;&amp; (a-&gt;s.ip6.sin6_scope_id == b-&gt;s.ip6.sin6_scope_id);
-+          &amp;&amp; (a-&gt;s.ip6.sin6_scope_id == 0 || b-&gt;s.ip6.sin6_scope_id == 0 ||
-+              (a-&gt;s.ip6.sin6_scope_id == b-&gt;s.ip6.sin6_scope_id));

-     default:
-       g_return_val_if_reached (FALSE);
--- 
-2.3.2 (Apple Git-55)
-
</del></span></pre></div>
<a id="trunkToolsgtkpatcheslibnice0004Removingnoopassignmentpatch"></a>
<div class="delfile"><h4>Deleted: trunk/Tools/gtk/patches/libnice-0004-Removing-no-op-assignment.patch (208582 => 208583)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/gtk/patches/libnice-0004-Removing-no-op-assignment.patch        2016-11-11 07:42:05 UTC (rev 208582)
+++ trunk/Tools/gtk/patches/libnice-0004-Removing-no-op-assignment.patch        2016-11-11 08:08:15 UTC (rev 208583)
</span><span class="lines">@@ -1,24 +0,0 @@
</span><del>-From 6a8c63219c632c27707267b6510dca096c6fd511 Mon Sep 17 00:00:00 2001
-From: Youness Alaoui &lt;kakaroto@kakaroto.homelinux.net&gt;
-Date: Tue, 5 May 2015 15:07:10 -0400
-Subject: [PATCH 4/4] Removing no-op assignment
-
----
- agent/agent.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/agent/agent.c b/agent/agent.c
-index 38b679f..84d4093 100644
---- a/agent/agent.c
-+++ b/agent/agent.c
-@@ -3051,7 +3051,6 @@ static gboolean priv_add_remote_candidate (
-           username, password, priority);
-     }
-     /* case 1: an existing candidate, update the attributes */
--    candidate-&gt;type = type;
-     if (base_addr)
-       candidate-&gt;base_addr = *base_addr;
-     candidate-&gt;priority = priority;
--- 
-2.3.2 (Apple Git-55)
-
</del></span></pre>
</div>
</div>

</body>
</html>