pysim/pySim
Harald Welte 323a35043f Introduce concept of CardProfileAddon
We have a strict "one CardProfile per card" rule.  For a modern UICC
without legacy SIM support, that works great, as all applications
have AID and ADF and can hence be enumerated/detected that way.

However, in reality there are mostly UICC that have legacy SIM, GSM-R
or even CDMA support, all of which are not proper UICC applications
for historical reasons.

So instead of having hard-coded hacks in various places, let's introduce
the new concept of a CardProfileAddon.  Every profile can have any
number of those.  When building up the RuntimeState, we iterate over the
CardProfile addons, and probe which of those are actually on the card.
For those discovered, we add their files to the filesystem hierarchy.

Change-Id: I5866590b6d48f85eb889c9b1b8ab27936d2378b9
2023-07-12 22:05:14 +02:00
..
apdu pySim/apdu/ts_31_102.py: Add Rel17 5G NSWO context for GET IDENTITY 2023-06-07 11:14:07 +02:00
apdu_source pySim-trace: Add support for reading GSMTAP from pcap files 2023-01-24 13:50:51 +01:00
legacy cards: all UICC should use sel_ctrl="0400" and SIM "0000" 2023-07-12 22:05:14 +02:00
transport pySim/transport: Use newly-defined ResTuple type 2023-07-11 08:42:12 +02:00
__init__.py cosmetic: Switch to consistent four-spaces indent; run autopep8 2022-02-11 13:32:58 +01:00
ara_m.py TLV_IE_Collection: use snake-style names during from_dict() 2023-07-11 08:42:12 +02:00
card_handler.py cosmetic: Switch to consistent four-spaces indent; run autopep8 2022-02-11 13:32:58 +01:00
card_key_provider.py cosmetic: Switch to consistent four-spaces indent; run autopep8 2022-02-11 13:32:58 +01:00
cards.py cards: all UICC should use sel_ctrl="0400" and SIM "0000" 2023-07-12 22:05:14 +02:00
cat.py Add TLV definitions for *a lot more* CAT / USAT data objects 2022-08-06 18:56:42 +02:00
cdma_ruim.py Introduce concept of CardProfileAddon 2023-07-12 22:05:14 +02:00
commands.py pySim/commands.py: Better type annotations 2023-07-11 08:42:12 +02:00
construct.py 31.102: Fix EF.Routing_Indicator for odd number of digits 2023-06-09 09:19:53 +02:00
exceptions.py Fix printing of SwMatchError after introduction of logical channels 2022-07-30 16:37:01 +02:00
filesystem.py Introduce concept of CardProfileAddon 2023-07-12 22:05:14 +02:00
global_platform.py GlobalPlatform ADF.SD: Add command line reference + error message 2023-07-11 08:54:04 +02:00
gsm_r.py Introduce concept of CardProfileAddon 2023-07-12 22:05:14 +02:00
gsmtap.py Introduce APDU/TPDU trace decoder 2022-07-23 12:18:57 +02:00
iso7816_4.py cosmetic: Remove extraneous empty lines between spec-section-comment and class 2022-02-14 00:51:27 +01:00
jsonpath.py cosmetic: Switch to consistent four-spaces indent; run autopep8 2022-02-11 13:32:58 +01:00
ota.py Switch from pycryptodome to pycryptodomex 2023-06-05 20:58:11 +02:00
profile.py Introduce concept of CardProfileAddon 2023-07-12 22:05:14 +02:00
sms.py work-around what appears to be a pylint bug 2023-06-27 09:26:28 +02:00
sysmocom_sja2.py SJA5: EF.USIM_AUTH_KEY: Display / enforce proper length TUAK K 2023-06-08 17:28:40 +02:00
tlv.py pySim/tlv.py: Fix TLV_IE_Collection from_dict with nested collections 2023-07-11 08:42:12 +02:00
ts_31_102.py ts_31_102, ts_31_103: Move legacy-only code to pySim.legacy 2023-07-12 22:05:14 +02:00
ts_31_102_telecom.py filesystem: add unit tests for encoder/decoder methods 2023-02-01 10:52:23 +01:00
ts_31_103.py ts_31_102, ts_31_103: Move legacy-only code to pySim.legacy 2023-07-12 22:05:14 +02:00
ts_31_104.py HPSIM application support 2023-06-06 17:36:39 +02:00
ts_51_011.py Introduce concept of CardProfileAddon 2023-07-12 22:05:14 +02:00
ts_102_221.py Introduce concept of CardProfileAddon 2023-07-12 22:05:14 +02:00
ts_102_222.py ts_102_222: Remove unneeded imports 2023-07-11 08:42:12 +02:00
utils.py split pySim/legacy/{cards,utils} from pySim/{cards,utils} 2023-07-12 22:03:59 +02:00