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
This commit is contained in:
Philipp Maier 2023-10-16 15:02:07 +02:00 committed by laforge
parent 509ecf84fa
commit 7c0cd0a93b
1 changed files with 5 additions and 2 deletions

View File

@ -244,8 +244,11 @@ class PysimApp(Cmd2Compat):
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