laforge submitted this change.

View Change


Approvals: osmith: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified laforge: Looks good to me, approved
pySim-shell: do not fail when EF.ICCID does not exist

An eUICC that has no active eSIM profile does not have an ICCID. (The
reason for this is that EF.ICCID is part of the eSIM profile).
Unfortunately pySim-shell insists on reading the ICCID from EF.ICCID on
startup in order to use it as a lookup key for verify_adm later.

To solve the problem, let's add a try/except block around the section
where EF.ICCID is read. In case of failure we set the ICCID to None,

Related: OS#5636
Change-Id: I8d18c5073946c5a6bb1f93be0ce692a599f46f8c
---
M pySim-shell.py
1 file changed, 23 insertions(+), 2 deletions(-)

diff --git a/pySim-shell.py b/pySim-shell.py
index afc7653..a79949c 100755
--- a/pySim-shell.py
+++ b/pySim-shell.py
@@ -244,8 +244,11 @@
self.register_command_set(Ts102222Commands())
self.register_command_set(PySimCommands())

- self.lchan.select('MF/EF.ICCID', self)
- self.iccid = dec_iccid(self.lchan.read_binary()[0])
+ try:
+ self.lchan.select('MF/EF.ICCID', self)
+ self.iccid = dec_iccid(self.lchan.read_binary()[0])
+ except:
+ self.iccid = None

self.lchan.select('MF', self)
rc = True

To view, visit change 34768. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I8d18c5073946c5a6bb1f93be0ce692a599f46f8c
Gerrit-Change-Number: 34768
Gerrit-PatchSet: 2
Gerrit-Owner: dexter <pmaier@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de>
Gerrit-Reviewer: laforge <laforge@osmocom.org>
Gerrit-Reviewer: osmith <osmith@sysmocom.de>
Gerrit-Reviewer: pespin <pespin@sysmocom.de>
Gerrit-MessageType: merged