vlr: fix IMEI length

Set the length of vlr_subscr->imei to
	GSM23003_IMEI_NUM_DIGITS_NO_CHK (14)
instead of
	GSM23003_IMEISV_NUM_DIGITS (16).

Note that there is also GSM23003_IMEI_NUM_DIGITS (15), which includes
an additional checksum digit. This digit is not intended for digital
transmission, so we don't need to store it. Also by not storing it, we
can simply copy the IMEI-part from the IMEISV to the IMEI without
worrying about the checksum (will be done in a follow up patch).

A good overview of the IMEI/IMEISV structure is here:
https://en.wikipedia.org/wiki/International_Mobile_Equipment_Identity#Structure_of_the_IMEI_and_IMEISV_(IMEI_software_version)

Related: OS#2542
Change-Id: Iaf2569c099874b55acbd748b776394726cc5ce54
diff --git a/tests/msc_vlr/msc_vlr_test_no_authen.c b/tests/msc_vlr/msc_vlr_test_no_authen.c
index d9ec091..72647a3 100644
--- a/tests/msc_vlr/msc_vlr_test_no_authen.c
+++ b/tests/msc_vlr/msc_vlr_test_no_authen.c
@@ -419,7 +419,7 @@
 	thwart_rx_non_initial_requests();
 
 	btw("MS replies with an Identity Response, VLR sends the IMEI to HLR");
-	gsup_expect_tx("30010809710000004026f050090824433224433224f0" VLR_TO_HLR);
+	gsup_expect_tx("30010809710000004026f050080724433224433224" VLR_TO_HLR);
 	/* 3GPP TS 23.003: 6.2.1 Composition of IMEI: the IMEI ends with a
 	 * spare digit that shall be sent as zero by the MS. */
 	ms_sends_msg("0559084a32244332244302");
@@ -437,7 +437,7 @@
 	btw("Subscriber has the IMEI");
 	vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
 	OSMO_ASSERT(vsub);
-	VERBOSE_ASSERT(strcmp(vsub->imei, "423423423423420"), == 0, "%d");
+	VERBOSE_ASSERT(strcmp(vsub->imei, "42342342342342"), == 0, "%d");
 	vlr_subscr_put(vsub, __func__);
 
 	BTW("subscriber detaches");
@@ -494,7 +494,7 @@
 	thwart_rx_non_initial_requests();
 
 	btw("MS replies with an Identity Response, VLR sends the IMEI to HLR");
-	gsup_expect_tx("30010809710000004026f050090824433224433224f0" VLR_TO_HLR);
+	gsup_expect_tx("30010809710000004026f050080724433224433224" VLR_TO_HLR);
 	ms_sends_msg("0559084a32244332244302");
 
 	btw("HLR accepts the IMEI");
@@ -519,7 +519,7 @@
 	btw("Subscriber has the IMEI and TMSI");
 	vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
 	OSMO_ASSERT(vsub);
-	VERBOSE_ASSERT(strcmp(vsub->imei, "423423423423420"), == 0, "%d");
+	VERBOSE_ASSERT(strcmp(vsub->imei, "42342342342342"), == 0, "%d");
 	VERBOSE_ASSERT(vsub->tmsi, == 0x03020100, "0x%08x");
 	vlr_subscr_put(vsub, __func__);
 
@@ -645,13 +645,12 @@
 	EXPECT_CONN_COUNT(1);
 	vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
 	OSMO_ASSERT(vsub);
-	VERBOSE_ASSERT(vsub->imei[0], == 0, "%d");
 	vlr_subscr_put(vsub, __func__);
 	EXPECT_ACCEPTED(false);
 	thwart_rx_non_initial_requests();
 
 	btw("MS replies with an Identity Response, VLR sends the IMEI to HLR");
-	gsup_expect_tx("30010809710000004026f050090824433224433224f0" VLR_TO_HLR);
+	gsup_expect_tx("30010809710000004026f050080724433224433224" VLR_TO_HLR);
 	ms_sends_msg("0559084a32244332244302");
 
 	btw("HLR accepts the IMEI");
@@ -667,7 +666,7 @@
 	btw("Subscriber has the IMEI");
 	vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
 	OSMO_ASSERT(vsub);
-	VERBOSE_ASSERT(strcmp(vsub->imei, "423423423423420"), == 0, "%d");
+	VERBOSE_ASSERT(strcmp(vsub->imei, "42342342342342"), == 0, "%d");
 	vlr_subscr_put(vsub, __func__);
 
 	BTW("subscriber detaches");
@@ -871,13 +870,12 @@
 	EXPECT_CONN_COUNT(1);
 	vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
 	OSMO_ASSERT(vsub);
-	VERBOSE_ASSERT(vsub->imei[0], == 0, "%d");
 	vlr_subscr_put(vsub, __func__);
 	EXPECT_ACCEPTED(false);
 	thwart_rx_non_initial_requests();
 
 	btw("MS replies with an Identity Response, VLR sends the IMEI to HLR");
-	gsup_expect_tx("30010809710000004026f050090824433224433224f0" VLR_TO_HLR);
+	gsup_expect_tx("30010809710000004026f050080724433224433224" VLR_TO_HLR);
 	ms_sends_msg("0559084a32244332244302");
 
 	btw("HLR accepts the IMEI");
@@ -903,7 +901,7 @@
 	vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
 	OSMO_ASSERT(vsub);
 	VERBOSE_ASSERT(strcmp(vsub->imeisv, "4234234234234275"), == 0, "%d");
-	VERBOSE_ASSERT(strcmp(vsub->imei, "423423423423420"), == 0, "%d");
+	VERBOSE_ASSERT(strcmp(vsub->imei, "42342342342342"), == 0, "%d");
 	VERBOSE_ASSERT(vsub->tmsi, == 0x03020100, "0x%08x");
 	vlr_subscr_put(vsub, __func__);