<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>