aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilipp Maier <pmaier@sysmocom.de>2021-11-18 11:25:34 +0100
committerPhilipp Maier <pmaier@sysmocom.de>2021-11-23 18:35:34 +0100
commit931bc66331c78b1c1eb8ce48276c29aea4b691ea (patch)
tree2cc7606ae7e8e9b2491c77c008ed1a5a52094908
parentabc23365715d36d8e4c3afcaa4fbf2df2764d7be (diff)
cards: Make select_adf_by_aid() use prefix AID selection
There is no need for us to expand a partial AID to the full AID before selecting that ADF. The UICC specifications permit AID selection by prefix only. So we could pass the prefix to the card, and the card would do the prefix matching. In order to avoid problems with cards that fail to do the prefix matching themselves we will still do the AID completion, but in case we cannot complete the AID (AID not listed in EF.DIR), we will try with the AID prefix anyway. From the API user point of view, this allows us to select applications not listed in EF.DIR Change-Id: I0747b4e46ca7e30bd96d76053765080367ac1317
-rw-r--r--pySim/cards.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/pySim/cards.py b/pySim/cards.py
index a822161..45e44a2 100644
--- a/pySim/cards.py
+++ b/pySim/cards.py
@@ -308,6 +308,9 @@ class SimCard(object):
aid_full = self._complete_aid(aid)
if aid_full:
return self._scc.select_adf(aid_full)
+ else:
+ # If we cannot get the full AID, try with short AID
+ return self._scc.select_adf(aid)
return (None, None)
def erase_binary(self, ef):