<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-bsc/+/19936">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  fixeria: Looks good to me, but someone else must approve
  laforge: Looks good to me, approved

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Fail on invalid IP addresses passed to IPACC MDCX<br><br>IPACC protocol supports only IPv4 addresses, so make sure if an IPv6<br>address (or whatever malformed address) is caught is not sent without<br>noticing. Prior to this patch, faulty addresses would be sent over the<br>wire as 255.255.255.255 (-1 returned from inet_addr()).<br><br>Change-Id: Iee84e8b40cdede1cacd8e8a9e26dda0d85383ec8<br>---<br>M src/osmo-bsc/lchan_rtp_fsm.c<br>1 file changed, 8 insertions(+), 2 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/osmo-bsc/lchan_rtp_fsm.c b/src/osmo-bsc/lchan_rtp_fsm.c</span><br><span>index 1fe5452..1dd31b1 100644</span><br><span>--- a/src/osmo-bsc/lchan_rtp_fsm.c</span><br><span>+++ b/src/osmo-bsc/lchan_rtp_fsm.c</span><br><span>@@ -330,6 +330,7 @@</span><br><span>  int rc;</span><br><span>      struct gsm_lchan *lchan = lchan_rtp_fi_lchan(fi);</span><br><span>    const struct mgcp_conn_peer *mgw_rtp;</span><br><span style="color: hsl(120, 100%, 40%);">+ struct in_addr sin;</span><br><span> </span><br><span>      if (lchan->release.requested) {</span><br><span>           lchan_rtp_fail("Release requested while activating");</span><br><span>@@ -344,8 +345,13 @@</span><br><span>               return;</span><br><span>      }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   /* Other RTP settings were already setup in lchan_rtp_fsm_wait_ipacc_crcx_ack_onenter() */</span><br><span style="color: hsl(0, 100%, 40%);">-      lchan->abis_ip.connect_ip = ntohl(inet_addr(mgw_rtp->addr));</span><br><span style="color: hsl(120, 100%, 40%);">+    /* Other RTP settings were already set up in lchan_rtp_fsm_wait_ipacc_crcx_ack_onenter() */</span><br><span style="color: hsl(120, 100%, 40%);">+   if (inet_pton(AF_INET, mgw_rtp->addr, &sin) != 1) {</span><br><span style="color: hsl(120, 100%, 40%);">+            /* Only IPv4 addresses are supported in IPACC */</span><br><span style="color: hsl(120, 100%, 40%);">+              lchan_rtp_fail("Invalid remote IPv4 address %s", mgw_rtp->addr);</span><br><span style="color: hsl(120, 100%, 40%);">+         return;</span><br><span style="color: hsl(120, 100%, 40%);">+       }</span><br><span style="color: hsl(120, 100%, 40%);">+     lchan->abis_ip.connect_ip = ntohl(sin.s_addr);</span><br><span>    lchan->abis_ip.connect_port = mgw_rtp->port;</span><br><span> </span><br><span>       /* send-recv */</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-bsc/+/19936">change 19936</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-bsc/+/19936"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-bsc </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Iee84e8b40cdede1cacd8e8a9e26dda0d85383ec8 </div>
<div style="display:none"> Gerrit-Change-Number: 19936 </div>
<div style="display:none"> Gerrit-PatchSet: 3 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>