runtime: Introduce an 'identity' dict for things like ATR, ICCID, EID

This patch introduces the dict, as well as its first use for ATR storage

Change-Id: Ief5ceaf5afe82800e33da233573293527befd2f4
This commit is contained in:
Harald Welte
2024-05-25 10:36:07 +02:00
parent 3ba10b61e1
commit f47433863e
2 changed files with 6 additions and 1 deletions

View File

@@ -49,6 +49,9 @@ class RuntimeState:
self.lchan = {}
# the basic logical channel always exists
self.lchan[0] = RuntimeLchan(0, self)
# this is a dict of card identities which different parts of the code might populate,
# typically with something like ICCID, EID, ATR, ...
self.identity = {}
# make sure the class and selection control bytes, which are specified
# by the card profile are used
@@ -138,6 +141,8 @@ class RuntimeState:
# select MF to reset internal state and to verify card really works
self.lchan[0].select('MF', cmd_app)
self.lchan[0].selected_adf = None
# store ATR as part of our card identies dict
self.identity['ATR'] = atr
return atr
def add_lchan(self, lchan_nr: int) -> 'RuntimeLchan':