pysim/pySim
Harald Welte 5924ec4d97 ts_51_011: Improve decoding of SELECT response for classic SIM
When decoding the SELECT response of a clasic GSM SIM without
UICC functionality, we
* did not decode the record length or number of records
* accidentially reported the EF file_size as available_memory (like DF)

Let's fix those two, and also add a comment on how the output dict
of decode_select_response() should look like.

As a result, code like 'read_records' now knows the number of records
and can iterate over them rather than raising exceptions.

Change-Id: Ia8e890bda74e3b4dacca0673d6e5ed8692dabd87
Closes: OS#5874
2023-01-27 20:46:08 +01:00
..
apdu Prepare for decoding/encoding records differently based on record number 2023-01-24 20:03:02 +01:00
apdu_source pySim-trace: Add support for reading GSMTAP from pcap files 2023-01-24 13:50:51 +01:00
transport proactive: Send a Terminal Response automatically after a Fetch 2022-08-21 11:54:33 +00:00
__init__.py cosmetic: Switch to consistent four-spaces indent; run autopep8 2022-02-11 13:32:58 +01:00
ara_m.py doc: Improve documentation in various places 2022-02-15 16:40:45 +01: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: also program EF.AD under ADF.USIM 2023-01-19 10:32:13 +01:00
cat.py Add TLV definitions for *a lot more* CAT / USAT data objects 2022-08-06 18:56:42 +02:00
commands.py Py2 -> Py3: do not inherit classes from object 2022-07-07 03:05:30 +07:00
construct.py construct: use Python's API for int<->bytes conversion 2022-09-05 23:15:10 +07:00
exceptions.py Fix printing of SwMatchError after introduction of logical channels 2022-07-30 16:37:01 +02:00
filesystem.py Prepare for decoding/encoding records differently based on record number 2023-01-24 20:03:02 +01:00
global_platform.py Initial support for GlobalPlatform 2022-03-01 16:32:15 +00:00
gsm_r.py gsm_r: Fix byte/nibble ordering of predefined_value1 2023-01-27 20:46:08 +01: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 OTA: Adjust IV length for AES 2022-11-25 04:00:55 +01:00
profile.py Py2 -> Py3: do not inherit classes from object 2022-07-07 03:05:30 +07:00
sms.py Add new pySim.ota library, implement SIM OTA crypto 2022-09-08 15:45:55 +02:00
sysmocom_sja2.py Prepare for decoding/encoding records differently based on record number 2023-01-24 20:03:02 +01:00
tlv.py tlv: Use self._compute_tag() method rather than direct self.tag 2022-08-06 13:19:16 +02:00
ts_31_102.py ts_51_011, ts_31_102: point to proper EF_EXTn file 2023-01-27 20:46:08 +01:00
ts_31_102_telecom.py filesystem: Use Tuple for transparent file size 2022-07-21 22:48:59 +02:00
ts_31_103.py Prepare for decoding/encoding records differently based on record number 2023-01-24 20:03:02 +01:00
ts_51_011.py ts_51_011: Improve decoding of SELECT response for classic SIM 2023-01-27 20:46:08 +01:00
ts_102_221.py Prepare for decoding/encoding records differently based on record number 2023-01-24 20:03:02 +01:00
ts_102_222.py filesystem: Introduce the basic notion of 'logical channels' 2022-07-17 21:55:15 +02:00
utils.py commands: add ".." notation to expand hexstrings 2022-06-03 10:26:58 +02:00