[PATCH] openbsc[master]: sgsn: fix problem with leading-zero-IMSIs

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

dexter gerrit-no-reply at lists.osmocom.org
Wed Mar 1 16:59:19 UTC 2017


Hello Harald Welte, Jenkins Builder,

I'd like you to reexamine a change.  Please visit

    https://gerrit.osmocom.org/1938

to look at the new patch set (#3).

sgsn: fix problem with leading-zero-IMSIs

When the IMSI ACL is maintained via the VTY, users may enter IMSIs
without leading zeros. Especially in test environments, where
MCC=001 and MNC=01 is common, it is likely that someone enters the
corresponding IMSI (001010000000001) without the two zeros at the
beginning.

This patch fixes the problem by sanitizing the IMSI, eventually
missing zeros in the beginning will be automatically added.

Change-Id: I56ba0da61978bbdce71d0e320166c52b20b42517
---
M openbsc/src/gprs/sgsn_vty.c
1 file changed, 11 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/38/1938/3

diff --git a/openbsc/src/gprs/sgsn_vty.c b/openbsc/src/gprs/sgsn_vty.c
index 6c8b640..d42a165 100644
--- a/openbsc/src/gprs/sgsn_vty.c
+++ b/openbsc/src/gprs/sgsn_vty.c
@@ -586,9 +586,19 @@
 	"Remove IMSI from ACL\n"
 	"IMSI of subscriber\n")
 {
+	char imsi_sanitized[GSM23003_IMSI_MAX_DIGITS+1];
 	const char *op = argv[0];
-	const char *imsi = argv[1];
+	const char *imsi = imsi_sanitized;
 	int rc;
+
+	/* Sanitize IMSI */
+	if (strlen(argv[1]) > GSM23003_IMSI_MAX_DIGITS) {
+		vty_out(vty, "%% IMSI (%s) too long -- ignored!%s",
+			argv[1], VTY_NEWLINE);
+		return CMD_WARNING;
+	}
+	memset(imsi_sanitized, '0', sizeof(imsi_sanitized));
+	strcpy(imsi_sanitized+GSM23003_IMSI_MAX_DIGITS-strlen(argv[1]),argv[1]);
 
 	if (!strcmp(op, "add"))
 		rc = sgsn_acl_add(imsi, g_cfg);
@@ -597,7 +607,6 @@
 
 	if (rc < 0) {
 		vty_out(vty, "%% unable to %s ACL%s", op, VTY_NEWLINE);
-
 		return CMD_WARNING;
 	}
 

-- 
To view, visit https://gerrit.osmocom.org/1938
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I56ba0da61978bbdce71d0e320166c52b20b42517
Gerrit-PatchSet: 3
Gerrit-Project: openbsc
Gerrit-Branch: master
Gerrit-Owner: dexter <pmaier at sysmocom.de>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder



More information about the gerrit-log mailing list