<p>laforge has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/22226">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">gbproxy: Move away from random TLLI<br><br>We used to generate a random TLLI for each ConnHldr.  Instead, use a<br>deterministic function to generate the P-TMSI (just like we do for the<br>IMSI) and derive a local TLLI from that P-TMSI.<br><br>Related: OS#4472, SYS#5002<br>Change-Id: Ic1eaa1d298fe998ca97432769953bfc5a5333ae4<br>---<br>M gbproxy/GBProxy_Tests.ttcn<br>M library/Osmocom_Gb_Types.ttcn<br>2 files changed, 22 insertions(+), 2 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/26/22226/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/gbproxy/GBProxy_Tests.ttcn b/gbproxy/GBProxy_Tests.ttcn</span><br><span>index 44b2ac9..6daad53 100644</span><br><span>--- a/gbproxy/GBProxy_Tests.ttcn</span><br><span>+++ b/gbproxy/GBProxy_Tests.ttcn</span><br><span>@@ -597,14 +597,15 @@</span><br><span>                       float t_guard := 30.0)</span><br><span> runs on test_CT return BSSGP_ConnHdlr {</span><br><span>   var BSSGP_ConnHdlr vc_conn;</span><br><span style="color: hsl(120, 100%, 40%);">+   var OCT4 p_tmsi := f_gen_tmsi(imsi_suffix);</span><br><span> </span><br><span>      var BSSGP_ConnHdlrPars pars := {</span><br><span>             imei := f_gen_imei(imsi_suffix),</span><br><span>             imsi := f_gen_imsi(imsi_suffix),</span><br><span>             msisdn := f_gen_msisdn(imsi_suffix),</span><br><span style="color: hsl(0, 100%, 40%);">-            p_tmsi := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+               p_tmsi := p_tmsi,</span><br><span>            p_tmsi_sig := omit,</span><br><span style="color: hsl(0, 100%, 40%);">-             tlli := f_gprs_tlli_random(),</span><br><span style="color: hsl(120, 100%, 40%);">+         tlli := f_gprs_tlli_from_tmsi(p_tmsi, TLLI_LOCAL),</span><br><span>           tlli_old := omit,</span><br><span>            ra := omit,</span><br><span>          pcu := g_pcu,</span><br><span>diff --git a/library/Osmocom_Gb_Types.ttcn b/library/Osmocom_Gb_Types.ttcn</span><br><span>index 518d619..8ca0cd5 100644</span><br><span>--- a/library/Osmocom_Gb_Types.ttcn</span><br><span>+++ b/library/Osmocom_Gb_Types.ttcn</span><br><span>@@ -3252,6 +3252,25 @@</span><br><span>              }</span><br><span>    }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+ /* build a TLLI of specified type from the given (P)TMSI */</span><br><span style="color: hsl(120, 100%, 40%);">+   function f_gprs_tlli_from_tmsi(OCT4 tmsi, TlliType tlli_type) return OCT4 {</span><br><span style="color: hsl(120, 100%, 40%);">+           var bitstring tmsi_bits := oct2bit(tmsi);</span><br><span style="color: hsl(120, 100%, 40%);">+             var bitstring prefix;</span><br><span style="color: hsl(120, 100%, 40%);">+         select (tlli_type) {</span><br><span style="color: hsl(120, 100%, 40%);">+          case (TLLI_LOCAL)       { prefix := '11'B }</span><br><span style="color: hsl(120, 100%, 40%);">+           case (TLLI_FOREIGN)     { prefix := '01111'B }</span><br><span style="color: hsl(120, 100%, 40%);">+                case (TLLI_RANDOM)      { prefix := '0110'B }</span><br><span style="color: hsl(120, 100%, 40%);">+         case (TLLI_RESERVED)    { prefix := '010'B }</span><br><span style="color: hsl(120, 100%, 40%);">+          case (TLLI_G_RNTI)      { prefix := '0000'B }</span><br><span style="color: hsl(120, 100%, 40%);">+         case (TLLI_RAND_G_RNTI) { prefix := '0001'B }</span><br><span style="color: hsl(120, 100%, 40%);">+         case else {</span><br><span style="color: hsl(120, 100%, 40%);">+                   setverdict(fail, "Unknonw TLLI Type ", tlli_type);</span><br><span style="color: hsl(120, 100%, 40%);">+                  mtc.stop;</span><br><span style="color: hsl(120, 100%, 40%);">+                     }</span><br><span style="color: hsl(120, 100%, 40%);">+             }</span><br><span style="color: hsl(120, 100%, 40%);">+             return bit2oct(prefix & substr(tmsi_bits, lengthof(prefix), 32-lengthof(prefix)));</span><br><span style="color: hsl(120, 100%, 40%);">+        }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>  function f_gprs_tlli_random() return OCT4 {</span><br><span>          var OCT4 tlli := f_rnd_octstring(4);</span><br><span>                 return tlli or4b 'c0000000'O;</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/22226">change 22226</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-ttcn3-hacks/+/22226"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-ttcn3-hacks </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Ic1eaa1d298fe998ca97432769953bfc5a5333ae4 </div>
<div style="display:none"> Gerrit-Change-Number: 22226 </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>