summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2016-03-17 14:41:26 +0100
committerHarald Welte <laforge@gnumonks.org>2016-03-17 14:42:24 +0100
commit3ad0346f00c4d135f7d4d15017ce2941e13e2c54 (patch)
treeac1b91a86b068b4c04f5bb40ac3e34974d2d37ff
parent044fbe6568f82a12bf4e3addc7e3d6db529b6548 (diff)
Revert "move to hex TMSI representation"
This reverts commit 044fbe6568f82a12bf4e3addc7e3d6db529b6548.
-rw-r--r--openbsc/include/openbsc/gsm_subscriber.h2
-rw-r--r--openbsc/src/libmsc/db.c15
-rw-r--r--openbsc/tests/db/db_test.c4
-rw-r--r--openbsc/tests/gsm0408/gsm0408_test.c2
4 files changed, 11 insertions, 12 deletions
diff --git a/openbsc/include/openbsc/gsm_subscriber.h b/openbsc/include/openbsc/gsm_subscriber.h
index 785dc3617..7d6c776bc 100644
--- a/openbsc/include/openbsc/gsm_subscriber.h
+++ b/openbsc/include/openbsc/gsm_subscriber.h
@@ -14,7 +14,7 @@
#define GSM_SUBSCRIBER_FIRST_CONTACT 0x00000001
/* gprs_sgsn.h defines additional flags including and above bit 16 (0x10000) */
-#define tmsi_from_string(str) strtoul(str + 2, NULL, 16)
+#define tmsi_from_string(str) strtoul(str, NULL, 10)
#define GSM_SUBSCRIBER_NO_EXPIRATION 0x0
diff --git a/openbsc/src/libmsc/db.c b/openbsc/src/libmsc/db.c
index 952151e90..0935fc54d 100644
--- a/openbsc/src/libmsc/db.c
+++ b/openbsc/src/libmsc/db.c
@@ -893,10 +893,9 @@ struct gsm_subscriber *db_get_subscriber(enum gsm_subscriber_field field,
subscr->id = dbi_result_get_ulonglong(result, "id");
db_set_from_query(subscr, result);
- DEBUGP(DDB, "Found Subscriber: ID %llu, IMSI %s, NAME '%s', "
- "TMSI 0x%08x, EXTEN '%s', LAC %hu, AUTH %u\n",
- subscr->id, subscr->imsi, subscr->name, subscr->tmsi,
- subscr->extension, subscr->lac, subscr->authorized);
+ DEBUGP(DDB, "Found Subscriber: ID %llu, IMSI %s, NAME '%s', TMSI %u, EXTEN '%s', LAC %hu, AUTH %u\n",
+ subscr->id, subscr->imsi, subscr->name, subscr->tmsi, subscr->extension,
+ subscr->lac, subscr->authorized);
dbi_result_free(result);
get_equipment_by_subscr(subscr);
@@ -936,7 +935,7 @@ int db_subscriber_update(struct gsm_subscriber *subscr)
int db_sync_subscriber(struct gsm_subscriber *subscriber)
{
dbi_result result;
- char tmsi[11];
+ char tmsi[14];
char *q_tmsi, *q_name, *q_extension;
dbi_conn_quote_string_copy(conn,
@@ -945,7 +944,7 @@ int db_sync_subscriber(struct gsm_subscriber *subscriber)
subscriber->extension, &q_extension);
if (subscriber->tmsi != GSM_RESERVED_TMSI) {
- sprintf(tmsi, "0x%08x", subscriber->tmsi);
+ sprintf(tmsi, "%u", subscriber->tmsi);
dbi_conn_quote_string_copy(conn,
tmsi,
&q_tmsi);
@@ -1195,7 +1194,7 @@ int db_subscriber_expire(void *priv, void (*callback)(void *priv, long long unsi
int db_subscriber_alloc_tmsi(struct gsm_subscriber *subscriber)
{
dbi_result result = NULL;
- char tmsi[11];
+ char tmsi[14];
char *tmsi_quoted;
for (;;) {
@@ -1206,7 +1205,7 @@ int db_subscriber_alloc_tmsi(struct gsm_subscriber *subscriber)
if (subscriber->tmsi == GSM_RESERVED_TMSI)
continue;
- sprintf(tmsi, "0x%08x", subscriber->tmsi);
+ sprintf(tmsi, "%u", subscriber->tmsi);
dbi_conn_quote_string_copy(conn, tmsi, &tmsi_quoted);
result = dbi_conn_queryf(conn,
"SELECT * FROM Subscriber "
diff --git a/openbsc/tests/db/db_test.c b/openbsc/tests/db/db_test.c
index faea82055..a02d1f801 100644
--- a/openbsc/tests/db/db_test.c
+++ b/openbsc/tests/db/db_test.c
@@ -200,7 +200,7 @@ int main()
alice->lac=42;
db_sync_subscriber(alice);
/* Get by TMSI */
- snprintf(scratch_str, sizeof(scratch_str), "0x%08x", alice->tmsi);
+ snprintf(scratch_str, sizeof(scratch_str), "%"PRIu32, alice->tmsi);
alice_db = db_get_subscriber(GSM_SUBSCRIBER_TMSI, scratch_str);
COMPARE(alice, alice_db);
SUBSCR_PUT(alice_db);
@@ -227,7 +227,7 @@ int main()
db_subscriber_assoc_imei(alice, "1234567890");
db_subscriber_assoc_imei(alice, "6543560920");
/* Get by TMSI */
- snprintf(scratch_str, sizeof(scratch_str), "0x%08x", alice->tmsi);
+ snprintf(scratch_str, sizeof(scratch_str), "%"PRIu32, alice->tmsi);
alice_db = db_get_subscriber(GSM_SUBSCRIBER_TMSI, scratch_str);
COMPARE(alice, alice_db);
SUBSCR_PUT(alice_db);
diff --git a/openbsc/tests/gsm0408/gsm0408_test.c b/openbsc/tests/gsm0408/gsm0408_test.c
index 8ed57ca17..781ef6147 100644
--- a/openbsc/tests/gsm0408/gsm0408_test.c
+++ b/openbsc/tests/gsm0408/gsm0408_test.c
@@ -93,7 +93,7 @@ static void test_mi_functionality(void)
/* tmsi code */
mi_len = gsm48_generate_mid_from_tmsi(mi, tmsi);
gsm48_mi_to_string(mi_parsed, sizeof(mi_parsed), mi + 2, mi_len - 2);
- COMPARE((uint32_t)tmsi_from_string(mi_parsed), ==, tmsi);
+ COMPARE((uint32_t)strtoul(mi_parsed, NULL, 10), ==, tmsi);
/* imsi code */
mi_len = gsm48_generate_mid_from_imsi(mi, imsi_odd);