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

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">ss7: Set ASP addresses using asp_peer APIs<br><br>Change-Id: I4736cb107a1987dab123744b98fb2b06a5e1167a<br>---<br>M src/osmo_ss7.c<br>M src/osmo_ss7_vty.c<br>M src/sccp_user.c<br>3 files changed, 14 insertions(+), 31 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c</span><br><span>index 7eb94b2..70ec847 100644</span><br><span>--- a/src/osmo_ss7.c</span><br><span>+++ b/src/osmo_ss7.c</span><br><span>@@ -1800,7 +1800,6 @@</span><br><span>         struct osmo_xua_server *oxs = osmo_stream_srv_link_get_data(link);</span><br><span>   struct osmo_stream_srv *srv;</span><br><span>         struct osmo_ss7_asp *asp;</span><br><span style="color: hsl(0, 100%, 40%);">-       int i;</span><br><span>       char *sock_name = osmo_sock_get_name(link, fd);</span><br><span>      const char *proto_name = get_value_string(osmo_ss7_asp_protocol_vals, oxs->cfg.proto);</span><br><span> </span><br><span>@@ -1840,6 +1839,7 @@</span><br><span>                                                          oxs->cfg.proto);</span><br><span>                        if (asp) {</span><br><span>                           char hostbuf[INET6_ADDRSTRLEN];</span><br><span style="color: hsl(120, 100%, 40%);">+                               const char *hostbuf_ptr = &hostbuf[0];</span><br><span>                           char portbuf[16];</span><br><span> </span><br><span>                                osmo_sock_get_ip_and_port(fd, hostbuf, sizeof(hostbuf), portbuf, sizeof(portbuf), false);</span><br><span>@@ -1848,14 +1848,14 @@</span><br><span>                          asp->cfg.is_server = true;</span><br><span>                                asp->cfg.role = OSMO_SS7_ASP_ROLE_SG;</span><br><span>                             asp->cfg.local.port = oxs->cfg.local.port;</span><br><span style="color: hsl(0, 100%, 40%);">-                                for (i = 0; i < oxs->cfg.local.host_cnt; i++)</span><br><span style="color: hsl(0, 100%, 40%);">-                                     asp->cfg.local.host[i] = talloc_strdup(asp, oxs->cfg.local.host[i]);</span><br><span style="color: hsl(0, 100%, 40%);">-                              asp->cfg.local.host_cnt = oxs->cfg.local.host_cnt;</span><br><span>                             asp->cfg.remote.port = atoi(portbuf);</span><br><span style="color: hsl(0, 100%, 40%);">-                                asp->cfg.remote.host[0] = talloc_strdup(asp, hostbuf);</span><br><span style="color: hsl(0, 100%, 40%);">-                               asp->cfg.remote.host_cnt = 1;</span><br><span>                             asp->dyn_allocated = true;</span><br><span>                                asp->server = srv;</span><br><span style="color: hsl(120, 100%, 40%);">+                         osmo_ss7_asp_peer_set_hosts(&asp->cfg.local, asp,</span><br><span style="color: hsl(120, 100%, 40%);">+                                                          (const char* const*)oxs->cfg.local.host,</span><br><span style="color: hsl(120, 100%, 40%);">+                                                           oxs->cfg.local.host_cnt);</span><br><span style="color: hsl(120, 100%, 40%);">+                              osmo_ss7_asp_peer_set_hosts(&asp->cfg.remote, asp,</span><br><span style="color: hsl(120, 100%, 40%);">+                                                         &hostbuf_ptr, 1);</span><br><span>                            osmo_ss7_asp_restart(asp);</span><br><span>                   }</span><br><span>            }</span><br><span>diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c</span><br><span>index 591254e..2931fb9 100644</span><br><span>--- a/src/osmo_ss7_vty.c</span><br><span>+++ b/src/osmo_ss7_vty.c</span><br><span>@@ -615,8 +615,7 @@</span><br><span>         "Local IP Address from which to contact of ASP\n")</span><br><span> {</span><br><span>    struct osmo_ss7_asp *asp = vty->index;</span><br><span style="color: hsl(0, 100%, 40%);">-       osmo_talloc_replace_string(asp, &asp->cfg.local.host[asp->cfg.local.host_cnt], argv[0]);</span><br><span style="color: hsl(0, 100%, 40%);">-      asp->cfg.local.host_cnt++;</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_ss7_asp_peer_add_host(&asp->cfg.local, asp, argv[0]);</span><br><span>    return CMD_SUCCESS;</span><br><span> }</span><br><span> </span><br><span>@@ -626,8 +625,7 @@</span><br><span>   "Remote IP Address of ASP\n")</span><br><span> {</span><br><span>         struct osmo_ss7_asp *asp = vty->index;</span><br><span style="color: hsl(0, 100%, 40%);">-       osmo_talloc_replace_string(asp, &asp->cfg.remote.host[asp->cfg.remote.host_cnt], argv[0]);</span><br><span style="color: hsl(0, 100%, 40%);">-    asp->cfg.remote.host_cnt++;</span><br><span style="color: hsl(120, 100%, 40%);">+        osmo_ss7_asp_peer_add_host(&asp->cfg.remote, asp, argv[0]);</span><br><span>   return CMD_SUCCESS;</span><br><span> }</span><br><span> </span><br><span>@@ -1780,15 +1778,11 @@</span><br><span>       case L_CS7_ASP_NODE:</span><br><span>                 asp = vty->index;</span><br><span>                 /* If no local addr was set */</span><br><span style="color: hsl(0, 100%, 40%);">-          if (!asp->cfg.local.host_cnt) {</span><br><span style="color: hsl(0, 100%, 40%);">-                      asp->cfg.local.host[0] = NULL;</span><br><span style="color: hsl(0, 100%, 40%);">-                       asp->cfg.local.host_cnt = 1;</span><br><span style="color: hsl(0, 100%, 40%);">-         }</span><br><span style="color: hsl(120, 100%, 40%);">+             if (!asp->cfg.local.host_cnt)</span><br><span style="color: hsl(120, 100%, 40%);">+                      osmo_ss7_asp_peer_add_host(&asp->cfg.local, asp, NULL);</span><br><span>               /* If no remote addr was set */</span><br><span style="color: hsl(0, 100%, 40%);">-         if (!asp->cfg.remote.host_cnt) {</span><br><span style="color: hsl(0, 100%, 40%);">-                     asp->cfg.remote.host[0] = "127.0.0.1";</span><br><span style="color: hsl(0, 100%, 40%);">-                     asp->cfg.remote.host_cnt = 1;</span><br><span style="color: hsl(0, 100%, 40%);">-                }</span><br><span style="color: hsl(120, 100%, 40%);">+             if (!asp->cfg.remote.host_cnt)</span><br><span style="color: hsl(120, 100%, 40%);">+                     osmo_ss7_asp_peer_add_host(&asp->cfg.remote, asp, "127.0.0.1");</span><br><span>             osmo_ss7_asp_restart(asp);</span><br><span>           vty->node = L_CS7_NODE;</span><br><span>           vty->index = asp->inst;</span><br><span>diff --git a/src/sccp_user.c b/src/sccp_user.c</span><br><span>index 49cc212..39ebc71 100644</span><br><span>--- a/src/sccp_user.c</span><br><span>+++ b/src/sccp_user.c</span><br><span>@@ -566,19 +566,8 @@</span><br><span>                        if (!asp)</span><br><span>                            goto out_rt;</span><br><span>                         asp_created = true;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-                     asp->cfg.local.host[0] = NULL;</span><br><span style="color: hsl(0, 100%, 40%);">-                       asp->cfg.remote.host[0] = NULL;</span><br><span style="color: hsl(0, 100%, 40%);">-                      if (default_local_ip) {</span><br><span style="color: hsl(0, 100%, 40%);">-                         asp->cfg.local.host[0] =</span><br><span style="color: hsl(0, 100%, 40%);">-                                 talloc_strdup(asp, default_local_ip);</span><br><span style="color: hsl(0, 100%, 40%);">-                       }</span><br><span style="color: hsl(0, 100%, 40%);">-                       if (default_remote_ip) {</span><br><span style="color: hsl(0, 100%, 40%);">-                                asp->cfg.remote.host[0] =</span><br><span style="color: hsl(0, 100%, 40%);">-                                talloc_strdup(asp, default_remote_ip);</span><br><span style="color: hsl(0, 100%, 40%);">-                      }</span><br><span style="color: hsl(0, 100%, 40%);">-                       asp->cfg.local.host_cnt = 1;</span><br><span style="color: hsl(0, 100%, 40%);">-                 asp->cfg.remote.host_cnt = 1;</span><br><span style="color: hsl(120, 100%, 40%);">+                      osmo_ss7_asp_peer_set_hosts(&asp->cfg.local, asp, &default_local_ip, 1);</span><br><span style="color: hsl(120, 100%, 40%);">+                   osmo_ss7_asp_peer_set_hosts(&asp->cfg.remote, asp, &default_remote_ip, 1);</span><br><span>                        asp->simple_client_allocated = true;</span><br><span>              } else</span><br><span>                       talloc_free(asp_name);</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/libosmo-sccp/+/16796">change 16796</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/libosmo-sccp/+/16796"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: libosmo-sccp </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I4736cb107a1987dab123744b98fb2b06a5e1167a </div>
<div style="display:none"> Gerrit-Change-Number: 16796 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </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: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: osmith <osmith@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>