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

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">mgcp_trunk: drop "trunk 0" limitation<br><br>Due to the internal handling of the trunks it was not possible to allow<br>an E1 trunk that has the ID 0. However this limitation is no longer<br>present, so we now can allow an E1 trunk with ID 0.<br><br>Change-Id: I302c2007628f607033686e277c407232351e66ad<br>Related: OS#2659<br>---<br>M src/libosmo-mgcp/mgcp_trunk.c<br>M src/libosmo-mgcp/mgcp_vty.c<br>M tests/mgcp/mgcp_test.c<br>3 files changed, 5 insertions(+), 10 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/libosmo-mgcp/mgcp_trunk.c b/src/libosmo-mgcp/mgcp_trunk.c</span><br><span>index 617993f..84ad220 100644</span><br><span>--- a/src/libosmo-mgcp/mgcp_trunk.c</span><br><span>+++ b/src/libosmo-mgcp/mgcp_trunk.c</span><br><span>@@ -190,7 +190,7 @@</span><br><span> </span><br><span>         errno = 0;</span><br><span>   trunk_nr = strtoul(epname + prefix_len, &str_trunk_nr_end, 10);</span><br><span style="color: hsl(0, 100%, 40%);">-     if (errno == ERANGE || trunk_nr > 64 || trunk_nr == 0</span><br><span style="color: hsl(120, 100%, 40%);">+      if (errno == ERANGE || trunk_nr > 64</span><br><span>          || epname + prefix_len == str_trunk_nr_end</span><br><span>           || str_trunk_nr_end[0] != '/')</span><br><span>           return -EINVAL;</span><br><span>@@ -217,7 +217,7 @@</span><br><span>        }</span><br><span> </span><br><span>        trunk_nr = e1_trunk_nr_from_epname(epname);</span><br><span style="color: hsl(0, 100%, 40%);">-     if (trunk_nr > 0)</span><br><span style="color: hsl(120, 100%, 40%);">+  if (trunk_nr >= 0)</span><br><span>                return mgcp_trunk_by_num(cfg, MGCP_TRUNK_E1, trunk_nr);</span><br><span> </span><br><span>  /* Earlier versions of osmo-mgw were accepting endpoint names</span><br><span>diff --git a/src/libosmo-mgcp/mgcp_vty.c b/src/libosmo-mgcp/mgcp_vty.c</span><br><span>index d2d4b23..22863c7 100644</span><br><span>--- a/src/libosmo-mgcp/mgcp_vty.c</span><br><span>+++ b/src/libosmo-mgcp/mgcp_vty.c</span><br><span>@@ -866,16 +866,11 @@</span><br><span>                "IPv4 Address of the callagent\n")</span><br><span> </span><br><span> DEFUN(cfg_mgcp_trunk, cfg_mgcp_trunk_cmd,</span><br><span style="color: hsl(0, 100%, 40%);">-      "trunk <1-64>", "Configure a SS7 trunk\n" "Trunk Nr\n")</span><br><span style="color: hsl(120, 100%, 40%);">+      "trunk <0-64>", "Configure a SS7 trunk\n" "Trunk Nr\n")</span><br><span> {</span><br><span>      struct mgcp_trunk *trunk;</span><br><span>    int index = atoi(argv[0]);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  /* Due to historical reasons, the trunk id number 0 is reserved for the</span><br><span style="color: hsl(0, 100%, 40%);">-  * virtual trunk. This trunk is configured with separate VTY</span><br><span style="color: hsl(0, 100%, 40%);">-     * parameters, so we restrict the access to trunks with id numbers</span><br><span style="color: hsl(0, 100%, 40%);">-       * greater than 0. */</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span>        trunk = mgcp_trunk_by_num(g_cfg, MGCP_TRUNK_E1, index);</span><br><span>      if (!trunk) {</span><br><span>                trunk = mgcp_trunk_alloc(g_cfg, MGCP_TRUNK_E1, index);</span><br><span>diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c</span><br><span>index 5ae321f..c5b6d17 100644</span><br><span>--- a/tests/mgcp/mgcp_test.c</span><br><span>+++ b/tests/mgcp/mgcp_test.c</span><br><span>@@ -2124,6 +2124,8 @@</span><br><span>  /* Note: e1_trunk_nr_from_epname does not check the text</span><br><span>      * after the E1 trunk number, after the delimiter</span><br><span>     * character "/" arbitrary text may follow. */</span><br><span style="color: hsl(120, 100%, 40%);">+      trunk_nr = e1_trunk_nr_from_epname("ds/e1-0/s-1/su16-0");</span><br><span style="color: hsl(120, 100%, 40%);">+   OSMO_ASSERT(trunk_nr == 0);</span><br><span>  trunk_nr = e1_trunk_nr_from_epname("ds/e1-1/s-1/su16-0");</span><br><span>  OSMO_ASSERT(trunk_nr == 1);</span><br><span>  trunk_nr = e1_trunk_nr_from_epname("ds/e1-2/s-2/su16-0");</span><br><span>@@ -2141,8 +2143,6 @@</span><br><span>   * trunk number exceeds the valid range or the trunk prefix</span><br><span>   * is wrong. Also when the delimiter character "/" at the</span><br><span>   * end of the trunk is wrong the parsing should fail. */</span><br><span style="color: hsl(0, 100%, 40%);">-        trunk_nr = e1_trunk_nr_from_epname("ds/e1-0/s-1/su16-0");</span><br><span style="color: hsl(0, 100%, 40%);">-     OSMO_ASSERT(trunk_nr == -EINVAL);</span><br><span>    trunk_nr = e1_trunk_nr_from_epname("ds/e1-65/s-1/su16-0");</span><br><span>         OSMO_ASSERT(trunk_nr == -EINVAL);</span><br><span>    trunk_nr = e1_trunk_nr_from_epname("ds/e1--1/s-1/su16-0");</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-mgw/+/19563">change 19563</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/+/19563"/><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: I302c2007628f607033686e277c407232351e66ad </div>
<div style="display:none"> Gerrit-Change-Number: 19563 </div>
<div style="display:none"> Gerrit-PatchSet: 3 </div>
<div style="display:none"> Gerrit-Owner: dexter <pmaier@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-CC: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>