<p>laforge has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-mgw/+/23812">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Fix OSMO_ASSERT() in case rtp.end.addr is still uninitialized<br><br>In case the local RTP socket IP/port has not yet been configured,<br>conn->u.rtp.end.addr.u.sa.sa_family is still uninitialized.<br><br>When receiving an inbound RTP packet that we want to loop back,<br>we hence run into the OSMO_ASSERT() that the socket sa_family (0)<br>is not AF_INET nor AF_INET6.<br><br>We have received a packet from a given source address on this socket,<br>and we hence should be able to send a response back.<br><br>This patch was written without a lot of understanding of the larger<br>osmo-mgw codebase.  Maybe the problem is that<br>conn->u.rtp.end.addr.u.sa.sa_family should be set correctly during<br>the CRCX time already.  Then of course that would be amore proper fix<br>than this one.<br><br>Change-Id: I2ecf81447e6a92fb566baba53fcf819f4029d54d<br>Closes: OS#5123<br>---<br>M src/libosmo-mgcp/mgcp_network.c<br>1 file changed, 4 insertions(+), 2 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/12/23812/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c</span><br><span>index 6b31f2b..bd6a94e 100644</span><br><span>--- a/src/libosmo-mgcp/mgcp_network.c</span><br><span>+++ b/src/libosmo-mgcp/mgcp_network.c</span><br><span>@@ -1269,7 +1269,8 @@</span><br><span>               * address data from the UDP packet header to patch the</span><br><span>               * outgoing address in connection on the fly */</span><br><span>              if (conn->u.rtp.end.rtp_port == 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-                 OSMO_ASSERT(conn->u.rtp.end.addr.u.sa.sa_family == from_addr->u.sa.sa_family);</span><br><span style="color: hsl(120, 100%, 40%);">+                  OSMO_ASSERT(conn->u.rtp.end.addr.u.sa.sa_family == 0 ||</span><br><span style="color: hsl(120, 100%, 40%);">+                                conn->u.rtp.end.addr.u.sa.sa_family == from_addr->u.sa.sa_family);</span><br><span>                         switch (from_addr->u.sa.sa_family) {</span><br><span>                      case AF_INET:</span><br><span>                                conn->u.rtp.end.addr.u.sin.sin_addr = from_addr->u.sin.sin_addr;</span><br><span>@@ -1340,7 +1341,8 @@</span><br><span>                * address data from the UDP packet header to patch the</span><br><span>               * outgoing address in connection on the fly */</span><br><span>              if (conn->u.rtp.end.rtp_port == 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-                 OSMO_ASSERT(conn->u.rtp.end.addr.u.sa.sa_family == from_addr->u.sa.sa_family);</span><br><span style="color: hsl(120, 100%, 40%);">+                  OSMO_ASSERT(conn->u.rtp.end.addr.u.sa.sa_family == 0 ||</span><br><span style="color: hsl(120, 100%, 40%);">+                                conn->u.rtp.end.addr.u.sa.sa_family == from_addr->u.sa.sa_family);</span><br><span>                         switch (from_addr->u.sa.sa_family) {</span><br><span>                      case AF_INET:</span><br><span>                                conn->u.rtp.end.addr.u.sin.sin_addr = from_addr->u.sin.sin_addr;</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-mgw/+/23812">change 23812</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-mgw/+/23812"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-mgw </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I2ecf81447e6a92fb566baba53fcf819f4029d54d </div>
<div style="display:none"> Gerrit-Change-Number: 23812 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>