<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 11 (filtered medium)">
<style>
<!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:Arial;
        color:windowtext;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
-->
</style><!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="Section1">
<p class="MsoNormal"><font size="2" face="Arial"><span style="font-size:10.0pt;
font-family:Arial">Hi, I found a problem using TURN.
<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" face="Arial"><span style="font-size:10.0pt;
font-family:Arial">Libnice sends a TURN message CreatePermission Request for each remote candidate added by nice_agent_set_remote_candidates. The TURN server replies with a CreatePermission
 Response and libnice matches the Request and the Response using the message id. The problem is that libnice uses a single variable to store the sent messages (</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:"Courier New"">current_create_permission_msg).</span></font><font size="2" face="Arial"><span style="font-size:10.0pt;font-family:Arial">
 If a new CreatePermission Request is sent before receiving the Response of the previous one, the variable
</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;
font-family:"Courier New"">current_create_permission_msg</span></font><font size="2" face="Arial"><span style="font-size:10.0pt;font-family:Arial"> is overwritten and the Response
 of the first message will never match the Request.<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" face="Arial"><span style="font-size:10.0pt;
font-family:Arial"><o:p> </o:p></span></font></p>
<p class="MsoNormal"><font size="2" face="Arial"><span style="font-size:10.0pt;
font-family:Arial">I send a patch for review. It adds a GList variable (</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:"Courier New"">pending_create_permission_messages</span></font><font size="2" face="Arial"><span style="font-size:10.0pt;font-family:Arial">
 ) to store all the CreatePermission Request waiting for a Response. <o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" face="Arial"><span style="font-size:10.0pt;
font-family:Arial"><o:p> </o:p></span></font></p>
<p class="MsoNormal"><font size="2" face="Arial"><span style="font-size:10.0pt;
font-family:Arial">Regards,<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" face="Arial"><span style="font-size:10.0pt;
font-family:Arial">Livio<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" face="Arial"><span style="font-size:10.0pt;
font-family:Arial"><o:p> </o:p></span></font></p>
</div>
<style type="text/css">
<!--
span.GramE {mso-style-name:"";
        mso-gram-e:yes;}
-->
</style>
<table style="width:600px;">
<tbody>
<tr>
<td style="width:585px; font-family: Verdana, Arial; font-size:12px; color:#000; text-align: justify" width="395">
<div align="justify"><span class="MsoNormal" style="text-align:justify; line-height:normal"><span style="font-size:7.5pt;font-family:Verdana">Questo messaggio e i suoi allegati sono indirizzati esclusivamente alle persone indicate. La diffusione, copia o qualsiasi
 altra azione derivante dalla conoscenza di queste informazioni sono rigorosamente vietate. Qualora abbiate ricevuto questo documento per errore siete cortesemente pregati di darne immediata comunicazione al mittente e di provvedere alla sua distruzione, Grazie.
</span></span></div>
<p align="justify"><span class="MsoNormal" style="text-align:justify; line-height:normal"><i><span lang="EN-GB" style="font-size:7.5pt;font-family:Verdana;mso-ansi-language:EN-GB">This e-mail and any attachments</span></i><i><span lang="EN-GB" style="font-size:
  7.5pt;mso-bidi-font-size:11.0pt;font-family:Verdana;mso-ansi-language:EN-GB"> <span class="GramE">is</span> </span></i><i><span lang="EN-GB" style="font-size:
  7.5pt;font-family:Verdana;mso-ansi-language:EN-GB">confidential
 and may contain privileged information intended for the addressee(s) only. Dissemination, copying, printing or use by anybody else is unauthorised. If you are not the intended recipient, please delete this message and any attachments and advise the sender
 by return e-mail, Thanks.</span></i><span lang="EN-GB" style="mso-ansi-language:EN-GB">
</span></span></p>
<b><span style="font-size:7.5pt;
  font-family:Verdana"><img src="cid:00000000000000000000000000000003@TI.Disclaimer" alt="rispetta l'ambiente" width="26" height="40">Rispetta l'ambiente. Non stampare questa mail se non è necessario.</span></b>
<p></p>
</td>
</tr>
</tbody>
</table>
</body>
</html>