<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://reviewboard.asterisk.org/r/1777/">https://reviewboard.asterisk.org/r/1777/</a>
     </td>
    </tr>
   </table>
   <br />








<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On February 29th, 2012, 10:08 a.m., <b>Simon Perreault</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  



<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="https://reviewboard.asterisk.org/r/1777/diff/1/?file=25104#file25104line3445" style="color: black; font-weight: bold; text-decoration: underline;">/trunk/channels/chan_sip.c</a>
    <span style="font-weight: normal;">

     (Diff revision 1)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">static void ast_sip_ouraddrfor(const struct ast_sockaddr *them, struct ast_sockaddr *us, struct sip_pvt *p)</pre></td>

  </tr>
 </tbody>



 
 




 <tbody>

  <tr>
    <th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">3445</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                <span class="k">if</span> <span class="p">(</span><span class="n">localaddr</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="n">ast_sockaddr_isnull</span><span class="p">(</span><span class="o">&amp;</span><span class="n">externaddr</span><span class="p">))</span> <span class="p">{</span></pre></td>
    <th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">3445</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                <span class="k">if</span> <span class="p">(</span><span class="n">localaddr</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="n">ast_sockaddr_isnull</span><span class="p">(</span><span class="o">&amp;</span><span class="n">externaddr</span><span class="p">)</span><span class="hl"> </span><span class="o"><span class="hl">&amp;&amp;</span></span><span class="hl"> </span><span class="o"><span class="hl">!</span></span><span class="n"><span class="hl">ast_sockaddr_is_any</span></span><span class="p"><span class="hl">(</span></span><span class="o"><span class="hl">&amp;</span></span><span class="n"><span class="hl">bindaddr</span></span><span class="p"><span class="hl">)</span>)</span> <span class="p">{</span></pre></td>
  </tr>

 </tbody>

</table>

  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Why is this new check necessary?</pre>
 </blockquote>



 <p>On February 29th, 2012, 11:04 a.m., <b>elguero</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Without this check, a warning message is generated saying to remove localaddr and/or externaddr settings.  But, we can&#39;t do that if we are supporting both IPv4 and IPv6.  We still need NAT functionality on IPv4 addresses, unless I am doing something wrong.  Therefore, if I am doing udpbindaddr=::, this message is a bit of a nuisance.

Unless there is a better way?</pre>
 </blockquote>







</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Understood, but how is this related to the security events framework?</pre>
<br />




<p>- Simon</p>


<br />
<p>On February 29th, 2012, 11:58 a.m., elguero wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://reviewboard.asterisk.org/media/rb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for Asterisk Developers.</div>
<div>By elguero.</div>


<p style="color: grey;"><i>Updated Feb. 29, 2012, 11:58 a.m.</i></p>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">The current API supports only IPv4 for security events. 

*  This patch changes the API to support IPv6 and updates the components that use this API.

*  It quiets a warning that is being displayed if binding to IPv6 and IPv4 ( udpbindaddr=:: ). 

*  It also eliminates an error that was being generated since the current implementation was treating an IPv6 socket address as if it was IPv4.

*  Some copyright dates were updated as well.</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Tested SIP implementation on CentOS 5.7, connected with IPv4 clients and IPv6 clients.  Also tested SIP on Fedora 16 vm with IPv4.  Security log now shows IPv4 or IPv6 addresses when a security event is generated.</pre>
  </td>
 </tr>
</table>



<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Bugs: </b>


 <a href="https://issues.asterisk.org/jira/browse/ASTERISK-19447">ASTERISK-19447</a>


</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>/trunk/CHANGES <span style="color: grey">(357541)</span></li>

 <li>/trunk/channels/chan_sip.c <span style="color: grey">(357541)</span></li>

 <li>/trunk/channels/sip/security_events.c <span style="color: grey">(357541)</span></li>

 <li>/trunk/include/asterisk/security_events_defs.h <span style="color: grey">(357541)</span></li>

 <li>/trunk/main/manager.c <span style="color: grey">(357541)</span></li>

 <li>/trunk/main/security_events.c <span style="color: grey">(357541)</span></li>

</ul>

<p><a href="https://reviewboard.asterisk.org/r/1777/diff/" style="margin-left: 3em;">View Diff</a></p>




  </td>
 </tr>
</table>








  </div>
 </body>
</html>