<p>Neels Hofmeyr has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/12155">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">gsm48_generate_mid(): mask out ODD flag from mi_type<br><br>Change-Id: Id6e695ebf9f86b295eaa7e2c6228989256f37e68<br>---<br>M src/gsm/gsm48.c<br>M tests/gsm0408/gsm0408_test.c<br>M tests/gsm0408/gsm0408_test.ok<br>3 files changed, 6 insertions(+), 8 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/55/12155/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/gsm/gsm48.c b/src/gsm/gsm48.c</span><br><span>index df4b4c1..3487ef7 100644</span><br><span>--- a/src/gsm/gsm48.c</span><br><span>+++ b/src/gsm/gsm48.c</span><br><span>@@ -611,7 +611,7 @@</span><br><span>        uint8_t length = strnlen(id, 255), i, off = 0, odd = (length & 1) == 1;</span><br><span> </span><br><span>      buf[0] = GSM48_IE_MOBILE_ID;</span><br><span style="color: hsl(0, 100%, 40%);">-    buf[2] = osmo_char2bcd(id[0]) << 4 | mi_type | (odd << 3);</span><br><span style="color: hsl(120, 100%, 40%);">+        buf[2] = osmo_char2bcd(id[0]) << 4 | (mi_type & GSM_MI_TYPE_MASK) | (odd << 3);</span><br><span> </span><br><span>  /* if the length is even we will fill half of the last octet */</span><br><span>      buf[1] = (length + (odd ? 1 : 2)) >> 1;</span><br><span>diff --git a/tests/gsm0408/gsm0408_test.c b/tests/gsm0408/gsm0408_test.c</span><br><span>index 7dbb97d..c85d1fd 100644</span><br><span>--- a/tests/gsm0408/gsm0408_test.c</span><br><span>+++ b/tests/gsm0408/gsm0408_test.c</span><br><span>@@ -380,7 +380,7 @@</span><br><span>     {</span><br><span>            .mi_type = GSM_MI_TYPE_IMSI | GSM_MI_ODD,</span><br><span>            .mi_str = "423423",</span><br><span style="color: hsl(0, 100%, 40%);">-           .expect_mi_tlv_hex = "1704493224f3", /* encodes "odd" for even number of digits! */</span><br><span style="color: hsl(120, 100%, 40%);">+               .expect_mi_tlv_hex = "1704413224f3",</span><br><span>       },</span><br><span>   {</span><br><span>            .mi_type = GSM_MI_TYPE_IMSI,</span><br><span>@@ -464,7 +464,7 @@</span><br><span>   {</span><br><span>            .mi_type = GSM_MI_ODD,</span><br><span>               .mi_str = "1234",</span><br><span style="color: hsl(0, 100%, 40%);">-             .expect_mi_tlv_hex = "17031832f4", /* encoding nonsense and encodes "odd" for an even number of digits! */</span><br><span style="color: hsl(120, 100%, 40%);">+                .expect_mi_tlv_hex = "17031032f4", /* encoding nonsense! */</span><br><span>                .expect_str = "",</span><br><span>  },</span><br><span> };</span><br><span>diff --git a/tests/gsm0408/gsm0408_test.ok b/tests/gsm0408/gsm0408_test.ok</span><br><span>index 2db58de..6e99f5b 100644</span><br><span>--- a/tests/gsm0408/gsm0408_test.ok</span><br><span>+++ b/tests/gsm0408/gsm0408_test.ok</span><br><span>@@ -14,10 +14,8 @@</span><br><span>   -> MI-TLV-hex='1704413224f3'</span><br><span>   -> MI-str="423423" rc=7</span><br><span> - unknown 0x9 423423</span><br><span style="color: hsl(0, 100%, 40%);">-  -> MI-TLV-hex='1704493224f3'</span><br><span style="color: hsl(0, 100%, 40%);">-  -> MI-str="423423F" rc=8</span><br><span style="color: hsl(0, 100%, 40%);">-     ERROR: expected MI-str="423423"</span><br><span style="color: hsl(0, 100%, 40%);">-     ERROR: expected rc=7</span><br><span style="color: hsl(120, 100%, 40%);">+  -> MI-TLV-hex='1704413224f3'</span><br><span style="color: hsl(120, 100%, 40%);">+  -> MI-str="423423" rc=7</span><br><span> - IMSI 4234235</span><br><span>   -> MI-TLV-hex='170449322453'</span><br><span>   -> MI-str="4234235" rc=8</span><br><span>@@ -58,7 +56,7 @@</span><br><span>   -> MI-TLV-hex='17031032f4'</span><br><span>   -> MI-str="" rc=1</span><br><span> - unknown 0x8 1234</span><br><span style="color: hsl(0, 100%, 40%);">-  -> MI-TLV-hex='17031832f4'</span><br><span style="color: hsl(120, 100%, 40%);">+  -> MI-TLV-hex='17031032f4'</span><br><span>   -> MI-str="" rc=1</span><br><span> </span><br><span> Decoding zero length Mobile Identities</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/12155">change 12155</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/12155"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: libosmocore </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: Id6e695ebf9f86b295eaa7e2c6228989256f37e68 </div>
<div style="display:none"> Gerrit-Change-Number: 12155 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Neels Hofmeyr <nhofmeyr@sysmocom.de> </div>