Change in pysim[master]: pySim-read.py: Enable reading of Home Network Domain Name from ISIM

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/.

laforge gerrit-no-reply at lists.osmocom.org
Tue Jan 5 14:22:41 UTC 2021


laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/21858 )

Change subject: pySim-read.py: Enable reading of Home Network Domain Name from ISIM
......................................................................

pySim-read.py: Enable reading of Home Network Domain Name from ISIM

As per TS1.103 version 14.2.0, this EF contains the home operator's network domain name.
The Home Network Domain Name, i.e. FQDN shall be encoded to an octet string
according to UTF-8 encoding rules as specified in IETF RFC 3629

Change-Id: Ia3c68c717d105e10d52a8e9d170480da2ad7d65a
---
M pySim-read.py
M pySim/cards.py
M pysim-testdata/sysmoISIM-SJA2.ok
3 files changed, 22 insertions(+), 0 deletions(-)

Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, approved



diff --git a/pySim-read.py b/pySim-read.py
index b6eeab7..f63205a 100755
--- a/pySim-read.py
+++ b/pySim-read.py
@@ -304,6 +304,17 @@
 		except Exception as e:
 			print("P-CSCF: Can't read file -- " + str(e))
 
+		# EF.DOMAIN - Home Network Domain Name e.g. ims.mncXXX.mccXXX.3gppnetwork.org
+		try:
+			if card.file_exists(EF_ISIM_ADF_map['DOMAIN']):
+				(res, sw) = card.read_domain()
+				if sw == '9000':
+					print("Home Network Domain Name: %s" % (len(res) and res or 'Not available',))
+				else:
+					print("Home Network Domain Name: Can't read, response code = %s" % (sw,))
+		except Exception as e:
+			print("Home Network Domain Name: Can't read file -- " + str(e))
+
 	# Check whether we have th AID of ISIM, if so select it by its AID
 	# EF.IST - File Id in ADF ISIM : 6f07
 	if '9000' == card.select_adf_by_aid(adf="isim"):
diff --git a/pySim/cards.py b/pySim/cards.py
index 0b2d2a6..277b831 100644
--- a/pySim/cards.py
+++ b/pySim/cards.py
@@ -336,6 +336,16 @@
 		data, sw = self._scc.update_record(EF_ISIM_ADF_map['PCSCF'], 1, rpad(content, rec_size_bytes*2))
 		return sw
 
+	def read_domain(self):
+		(res, sw) = self._scc.read_binary(EF_ISIM_ADF_map['DOMAIN'])
+		if sw == '9000':
+			# Skip the inital tag value ('80') byte and get length of contents
+			length = int(res[2:4], 16)
+			content = h2s(res[4:4+(length*2)])
+			return (content, sw)
+		else:
+			return (None, sw)
+
 
 class _MagicSimBase(Card):
 	"""
diff --git a/pysim-testdata/sysmoISIM-SJA2.ok b/pysim-testdata/sysmoISIM-SJA2.ok
index 03de57f..4cdd9d5 100644
--- a/pysim-testdata/sysmoISIM-SJA2.ok
+++ b/pysim-testdata/sysmoISIM-SJA2.ok
@@ -182,6 +182,7 @@
 	Not available
 	Not available
 
+Home Network Domain Name: Not available
 ISIM Service Table: 190200
 	Service 1 - P-CSCF address
 	Service 4 - GBA-based Local Key Establishment Mechanism

-- 
To view, visit https://gerrit.osmocom.org/c/pysim/+/21858
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: Ia3c68c717d105e10d52a8e9d170480da2ad7d65a
Gerrit-Change-Number: 21858
Gerrit-PatchSet: 3
Gerrit-Owner: herlesupreeth <herlesupreeth at gmail.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210105/426b4ef2/attachment.htm>


More information about the gerrit-log mailing list