<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-msc/+/15852">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  pespin: 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;">use osmo_sockaddr_str_is_nonzero()<br><br>Also regard an RTP port as invalid if the IP address is 0.0.0.0.<br>Achieve this by using osmo_sockaddr_str_is_nonzero() instead of<br>osmo_sockaddr_str_is_set().<br><br>Depends: I73cbcab90cffcdc9a5f8d5281c57c1f87b2c3550 (libosmocore)<br>Change-Id: I53ddb19a70fda3deb906464e1b89c12d9b4c7cbd<br>---<br>M src/libmsc/call_leg.c<br>M src/libmsc/mncc_call.c<br>M src/libmsc/msc_ho.c<br>M src/libmsc/msc_t.c<br>M src/libmsc/ran_msg_a.c<br>M src/libmsc/rtp_stream.c<br>6 files changed, 19 insertions(+), 19 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/libmsc/call_leg.c b/src/libmsc/call_leg.c</span><br><span>index 794eda2..b1d0b1e 100644</span><br><span>--- a/src/libmsc/call_leg.c</span><br><span>+++ b/src/libmsc/call_leg.c</span><br><span>@@ -301,7 +301,7 @@</span><br><span>         rtps = cl->rtp[dir];</span><br><span>      if (!rtps)</span><br><span>           return NULL;</span><br><span style="color: hsl(0, 100%, 40%);">-    if (!osmo_sockaddr_str_is_set(&rtps->local))</span><br><span style="color: hsl(120, 100%, 40%);">+   if (!osmo_sockaddr_str_is_nonzero(&rtps->local))</span><br><span>              return NULL;</span><br><span>         return &rtps->local;</span><br><span> }</span><br><span>@@ -327,7 +327,7 @@</span><br><span>       }</span><br><span>    if (codec_if_known)</span><br><span>          rtp_stream_set_codec(cl->rtp[dir], *codec_if_known);</span><br><span style="color: hsl(0, 100%, 40%);">- if (remote_addr_if_known && osmo_sockaddr_str_is_set(remote_addr_if_known))</span><br><span style="color: hsl(120, 100%, 40%);">+   if (remote_addr_if_known && osmo_sockaddr_str_is_nonzero(remote_addr_if_known))</span><br><span>              rtp_stream_set_remote_addr(cl->rtp[dir], remote_addr_if_known);</span><br><span>   return rtp_stream_ensure_ci(cl->rtp[dir], cl->mgw_endpoint);</span><br><span> }</span><br><span>diff --git a/src/libmsc/mncc_call.c b/src/libmsc/mncc_call.c</span><br><span>index 5ca91d0..34c7299 100644</span><br><span>--- a/src/libmsc/mncc_call.c</span><br><span>+++ b/src/libmsc/mncc_call.c</span><br><span>@@ -256,7 +256,7 @@</span><br><span>           return true;</span><br><span>         }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   if (!osmo_sockaddr_str_is_set(&mncc_call->rtps->local)) {</span><br><span style="color: hsl(120, 100%, 40%);">+   if (!osmo_sockaddr_str_is_nonzero(&mncc_call->rtps->local)) {</span><br><span>              LOG_MNCC_CALL(mncc_call, LOGL_DEBUG, "Got RTP_CREATE, but RTP stream has no local address\n");</span><br><span>             return true;</span><br><span>         }</span><br><span>@@ -294,7 +294,7 @@</span><br><span> </span><br><span> static bool mncc_call_tx_rtp_create(struct mncc_call *mncc_call)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-    if (!mncc_call->rtps || !osmo_sockaddr_str_is_set(&mncc_call->rtps->local)) {</span><br><span style="color: hsl(120, 100%, 40%);">+    if (!mncc_call->rtps || !osmo_sockaddr_str_is_nonzero(&mncc_call->rtps->local)) {</span><br><span>               mncc_call_error(mncc_call, "Cannot send RTP_CREATE, no local RTP address set up\n");</span><br><span>               return false;</span><br><span>        }</span><br><span>diff --git a/src/libmsc/msc_ho.c b/src/libmsc/msc_ho.c</span><br><span>index 615b8cd..99f37b6 100644</span><br><span>--- a/src/libmsc/msc_ho.c</span><br><span>+++ b/src/libmsc/msc_ho.c</span><br><span>@@ -661,7 +661,7 @@</span><br><span>     }</span><br><span> </span><br><span>        msc_a->ho.new_cell.ran_remote_rtp = hra->ran_dec->handover_request_ack.remote_rtp;</span><br><span style="color: hsl(0, 100%, 40%);">-     if (osmo_sockaddr_str_is_set(&msc_a->ho.new_cell.ran_remote_rtp)) {</span><br><span style="color: hsl(120, 100%, 40%);">+    if (osmo_sockaddr_str_is_nonzero(&msc_a->ho.new_cell.ran_remote_rtp)) {</span><br><span>               LOG_HO(msc_a, LOGL_DEBUG, "Request Ack contains cell's RTP address " OSMO_SOCKADDR_STR_FMT "\n",</span><br><span>                    OSMO_SOCKADDR_STR_FMT_ARGS(&msc_a->ho.new_cell.ran_remote_rtp));</span><br><span>       }</span><br><span>@@ -684,7 +684,7 @@</span><br><span>              return;</span><br><span>      }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   if (!osmo_sockaddr_str_is_set(&msc_a->ho.new_cell.ran_remote_rtp)) {</span><br><span style="color: hsl(120, 100%, 40%);">+   if (!osmo_sockaddr_str_is_nonzero(&msc_a->ho.new_cell.ran_remote_rtp)) {</span><br><span>              LOG_HO(msc_a, LOGL_DEBUG, "New cell's RTP IP:port not yet known, not switching RTP stream\n");</span><br><span>                 return;</span><br><span>      }</span><br><span>@@ -738,7 +738,7 @@</span><br><span>              return;</span><br><span>      }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   if (!osmo_sockaddr_str_is_set(&msc_a->ho.old_cell.ran_remote_rtp)) {</span><br><span style="color: hsl(120, 100%, 40%);">+   if (!osmo_sockaddr_str_is_nonzero(&msc_a->ho.old_cell.ran_remote_rtp)) {</span><br><span>              LOG_HO(msc_a, LOGL_DEBUG, "Have no RTP IP:port for the old cell, not switching back to\n");</span><br><span>                return;</span><br><span>      }</span><br><span>diff --git a/src/libmsc/msc_t.c b/src/libmsc/msc_t.c</span><br><span>index 6b96c26..af0ddaa 100644</span><br><span>--- a/src/libmsc/msc_t.c</span><br><span>+++ b/src/libmsc/msc_t.c</span><br><span>@@ -444,7 +444,7 @@</span><br><span> </span><br><span>     /* Also need to fetch the RTP IP:port from AoIP Transport Address IE to tell the MGW about it */</span><br><span>     if (rtp_ran) {</span><br><span style="color: hsl(0, 100%, 40%);">-          if (osmo_sockaddr_str_is_set(&r->remote_rtp)) {</span><br><span style="color: hsl(120, 100%, 40%);">+                if (osmo_sockaddr_str_is_nonzero(&r->remote_rtp)) {</span><br><span>                   LOG_MSC_T(msc_t, LOGL_DEBUG, "From Handover Request Ack, got " OSMO_SOCKADDR_STR_FMT "\n",</span><br><span>                                 OSMO_SOCKADDR_STR_FMT_ARGS(&r->remote_rtp));</span><br><span>                        rtp_stream_set_remote_addr(rtp_ran, &r->remote_rtp);</span><br><span>diff --git a/src/libmsc/ran_msg_a.c b/src/libmsc/ran_msg_a.c</span><br><span>index fa0335c..fc9a9d7 100644</span><br><span>--- a/src/libmsc/ran_msg_a.c</span><br><span>+++ b/src/libmsc/ran_msg_a.c</span><br><span>@@ -942,7 +942,7 @@</span><br><span>               use_scl = &scl;</span><br><span> </span><br><span>              /* Package RTP-Address data */</span><br><span style="color: hsl(0, 100%, 40%);">-          if (osmo_sockaddr_str_is_set(ac->cn_rtp)) {</span><br><span style="color: hsl(120, 100%, 40%);">+                if (osmo_sockaddr_str_is_nonzero(ac->cn_rtp)) {</span><br><span>                   struct sockaddr_in rtp_addr_in;</span><br><span> </span><br><span>                  memset(&rtp_addr_in, 0, sizeof(rtp_addr_in));</span><br><span>@@ -1114,7 +1114,7 @@</span><br><span>    if (n->classmark)</span><br><span>                 r.classmark_information = *n->classmark;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- if (osmo_sockaddr_str_is_set(n->rtp_ran_local)) {</span><br><span style="color: hsl(120, 100%, 40%);">+  if (osmo_sockaddr_str_is_nonzero(n->rtp_ran_local)) {</span><br><span>             if (osmo_sockaddr_str_to_sockaddr(n->rtp_ran_local, &ss)) {</span><br><span>                   LOG_RAN_A_ENC(log_fi, LOGL_ERROR,</span><br><span>                                   "Handover Request: invalid AoIP Transport Layer address/port: "</span><br><span>@@ -1139,7 +1139,7 @@</span><br><span>             .chosen_speech_version = r->chosen_speech_version,</span><br><span>        };</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  if (osmo_sockaddr_str_is_set(&r->remote_rtp)) {</span><br><span style="color: hsl(120, 100%, 40%);">+        if (osmo_sockaddr_str_is_nonzero(&r->remote_rtp)) {</span><br><span>           osmo_sockaddr_str_to_sockaddr(&r->remote_rtp, &ss);</span><br><span>               params.aoip_transport_layer = &ss;</span><br><span>       }</span><br><span>diff --git a/src/libmsc/rtp_stream.c b/src/libmsc/rtp_stream.c</span><br><span>index d78743e..2902520 100644</span><br><span>--- a/src/libmsc/rtp_stream.c</span><br><span>+++ b/src/libmsc/rtp_stream.c</span><br><span>@@ -74,7 +74,7 @@</span><br><span>               OSMO_STRBUF_PRINTF(sb, ":no-CI");</span><br><span>  } else {</span><br><span>             OSMO_STRBUF_PRINTF(sb, ":CI-%s", osmo_mgcpc_ep_ci_id(rtps->ci));</span><br><span style="color: hsl(0, 100%, 40%);">-           if (!osmo_sockaddr_str_is_set(&rtps->remote))</span><br><span style="color: hsl(120, 100%, 40%);">+          if (!osmo_sockaddr_str_is_nonzero(&rtps->remote))</span><br><span>                     OSMO_STRBUF_PRINTF(sb, ":no-remote-port");</span><br><span>                 else if (!rtps->remote_sent_to_mgw)</span><br><span>                       OSMO_STRBUF_PRINTF(sb, ":remote-port-not-sent");</span><br><span>@@ -89,9 +89,9 @@</span><br><span>                               OSMO_STRBUF_PRINTF(sb, ":remote-osmux-cid-not-sent");</span><br><span>              }</span><br><span>    }</span><br><span style="color: hsl(0, 100%, 40%);">-       if (osmo_sockaddr_str_is_set(&rtps->local))</span><br><span style="color: hsl(120, 100%, 40%);">+    if (osmo_sockaddr_str_is_nonzero(&rtps->local))</span><br><span>               OSMO_STRBUF_PRINTF(sb, ":local-%s-%u", rtps->local.ip, rtps->local.port);</span><br><span style="color: hsl(0, 100%, 40%);">-       if (osmo_sockaddr_str_is_set(&rtps->remote))</span><br><span style="color: hsl(120, 100%, 40%);">+   if (osmo_sockaddr_str_is_nonzero(&rtps->remote))</span><br><span>              OSMO_STRBUF_PRINTF(sb, ":remote-%s-%u", rtps->remote.ip, rtps->remote.port);</span><br><span>         if (rtps->use_osmux)</span><br><span>              OSMO_STRBUF_PRINTF(sb, ":osmux-%d-%d", rtps->local_osmux_cid, rtps->remote_osmux_cid);</span><br><span>@@ -137,8 +137,8 @@</span><br><span> static void check_established(struct rtp_stream *rtps)</span><br><span> {</span><br><span>  if (rtps->fi->state != RTP_STREAM_ST_ESTABLISHED</span><br><span style="color: hsl(0, 100%, 40%);">-      && osmo_sockaddr_str_is_set(&rtps->local)</span><br><span style="color: hsl(0, 100%, 40%);">-        && osmo_sockaddr_str_is_set(&rtps->remote)</span><br><span style="color: hsl(120, 100%, 40%);">+     && osmo_sockaddr_str_is_nonzero(&rtps->local)</span><br><span style="color: hsl(120, 100%, 40%);">+          && osmo_sockaddr_str_is_nonzero(&rtps->remote)</span><br><span>        && rtps->remote_sent_to_mgw</span><br><span>       && (!rtps->use_osmux || rtps->remote_osmux_cid_sent_to_mgw)</span><br><span>            && rtps->codec_known)</span><br><span>@@ -172,7 +172,7 @@</span><br><span>           check_established(rtps);</span><br><span> </span><br><span>                 if ((!rtps->remote_sent_to_mgw || !rtps->codec_sent_to_mgw)</span><br><span style="color: hsl(0, 100%, 40%);">-                   && osmo_sockaddr_str_is_set(&rtps->remote)</span><br><span style="color: hsl(120, 100%, 40%);">+             && osmo_sockaddr_str_is_nonzero(&rtps->remote)</span><br><span>                && (!rtps->use_osmux || rtps->remote_osmux_cid_sent_to_mgw)</span><br><span>                    && rtps->codec_known) {</span><br><span>                       LOG_RTPS(rtps, LOGL_DEBUG,</span><br><span>@@ -315,7 +315,7 @@</span><br><span>             verb_info.codecs_len = 1;</span><br><span>            rtps->codec_sent_to_mgw = true;</span><br><span>   }</span><br><span style="color: hsl(0, 100%, 40%);">-       if (osmo_sockaddr_str_is_set(&rtps->remote)) {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (osmo_sockaddr_str_is_nonzero(&rtps->remote)) {</span><br><span>            int rc = osmo_strlcpy(verb_info.addr, rtps->remote.ip, sizeof(verb_info.addr));</span><br><span>           if (rc <= 0 || rc >= sizeof(verb_info.addr)) {</span><br><span>                         LOG_RTPS(rtps, LOGL_ERROR, "Failure to write IP address to MGCP message (rc=%d)\n", rc);</span><br><span>@@ -365,7 +365,7 @@</span><br><span>             LOG_RTPS(rtps, LOGL_DEBUG, "Not committing: no MGW endpoint CI set up\n");</span><br><span>                 return -1;</span><br><span>   }</span><br><span style="color: hsl(0, 100%, 40%);">-       if (!osmo_sockaddr_str_is_set(&rtps->remote)) {</span><br><span style="color: hsl(120, 100%, 40%);">+        if (!osmo_sockaddr_str_is_nonzero(&rtps->remote)) {</span><br><span>           LOG_RTPS(rtps, LOGL_DEBUG, "Not committing: no remote RTP address known\n");</span><br><span>               return -1;</span><br><span>   }</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-msc/+/15852">change 15852</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-msc/+/15852"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-msc </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I53ddb19a70fda3deb906464e1b89c12d9b4c7cbd </div>
<div style="display:none"> Gerrit-Change-Number: 15852 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>