laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/33694 )
Change subject: ts_31_102, ts_31_103: Move legacy-only code to pySim.legacy ......................................................................
ts_31_102, ts_31_103: Move legacy-only code to pySim.legacy
Change-Id: Ifebfbbc00ef0d01cafd6f058a32d243d3696e97e --- M pySim-read.py M pySim/legacy/cards.py A pySim/legacy/ts_31_102.py A pySim/legacy/ts_31_103.py M pySim/ts_31_102.py M pySim/ts_31_103.py 6 files changed, 193 insertions(+), 137 deletions(-)
Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved
diff --git a/pySim-read.py b/pySim-read.py index 74bb35a..bafaf26 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -28,10 +28,13 @@ import random import re import sys + from pySim.ts_51_011 import EF_SST_map, EF_AD from pySim.legacy.ts_51_011 import EF, DF -from pySim.ts_31_102 import EF_UST_map, EF_USIM_ADF_map -from pySim.ts_31_103 import EF_IST_map, EF_ISIM_ADF_map +from pySim.ts_31_102 import EF_UST_map +from pySim.legacy.ts_31_102 import EF_USIM_ADF_map +from pySim.ts_31_103 import EF_IST_map +from pySim.legacy.ts_31_103 import EF_ISIM_ADF_map
from pySim.commands import SimCardCommands from pySim.transport import init_reader, argparse_add_reader_args diff --git a/pySim/legacy/cards.py b/pySim/legacy/cards.py index bb3e8a5..ae5cf79 100644 --- a/pySim/legacy/cards.py +++ b/pySim/legacy/cards.py @@ -14,10 +14,10 @@ from pySim.legacy.utils import enc_ePDGSelection, format_xplmn_w_act, format_xplmn, dec_st, enc_st from pySim.legacy.utils import format_ePDGSelection from pySim.legacy.ts_51_011 import EF, DF +from pySim.legacy.ts_31_102 import EF_USIM_ADF_map +from pySim.legacy.ts_31_103 import EF_ISIM_ADF_map
from pySim.ts_51_011 import EF_AD, EF_SPN -from pySim.ts_31_102 import EF_USIM_ADF_map -from pySim.ts_31_103 import EF_ISIM_ADF_map
def format_addr(addr: str, addr_type: str) -> str: """ diff --git a/pySim/legacy/ts_31_102.py b/pySim/legacy/ts_31_102.py new file mode 100644 index 0000000..c4a829e --- /dev/null +++ b/pySim/legacy/ts_31_102.py @@ -0,0 +1,134 @@ +# -*- coding: utf-8 -*- + +""" +Various constants from 3GPP TS 31.102 V17.9.0 usd by *legacy* code +""" + +# +# Copyright (C) 2020 Supreeth Herle herlesupreeth@gmail.com +# Copyright (C) 2021-2023 Harald Welte laforge@osmocom.org +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. + + +EF_USIM_ADF_map = { + 'LI': '6F05', + 'ARR': '6F06', + 'IMSI': '6F07', + 'Keys': '6F08', + 'KeysPS': '6F09', + 'DCK': '6F2C', + 'HPPLMN': '6F31', + 'CNL': '6F32', + 'ACMmax': '6F37', + 'UST': '6F38', + 'ACM': '6F39', + 'FDN': '6F3B', + 'SMS': '6F3C', + 'GID1': '6F3E', + 'GID2': '6F3F', + 'MSISDN': '6F40', + 'PUCT': '6F41', + 'SMSP': '6F42', + 'SMSS': '6F42', + 'CBMI': '6F45', + 'SPN': '6F46', + 'SMSR': '6F47', + 'CBMID': '6F48', + 'SDN': '6F49', + 'EXT2': '6F4B', + 'EXT3': '6F4C', + 'BDN': '6F4D', + 'EXT5': '6F4E', + 'CCP2': '6F4F', + 'CBMIR': '6F50', + 'EXT4': '6F55', + 'EST': '6F56', + 'ACL': '6F57', + 'CMI': '6F58', + 'START-HFN': '6F5B', + 'THRESHOLD': '6F5C', + 'PLMNwAcT': '6F60', + 'OPLMNwAcT': '6F61', + 'HPLMNwAcT': '6F62', + 'PSLOCI': '6F73', + 'ACC': '6F78', + 'FPLMN': '6F7B', + 'LOCI': '6F7E', + 'ICI': '6F80', + 'OCI': '6F81', + 'ICT': '6F82', + 'OCT': '6F83', + 'AD': '6FAD', + 'VGCS': '6FB1', + 'VGCSS': '6FB2', + 'VBS': '6FB3', + 'VBSS': '6FB4', + 'eMLPP': '6FB5', + 'AAeM': '6FB6', + 'ECC': '6FB7', + 'Hiddenkey': '6FC3', + 'NETPAR': '6FC4', + 'PNN': '6FC5', + 'OPL': '6FC6', + 'MBDN': '6FC7', + 'EXT6': '6FC8', + 'MBI': '6FC9', + 'MWIS': '6FCA', + 'CFIS': '6FCB', + 'EXT7': '6FCC', + 'SPDI': '6FCD', + 'MMSN': '6FCE', + 'EXT8': '6FCF', + 'MMSICP': '6FD0', + 'MMSUP': '6FD1', + 'MMSUCP': '6FD2', + 'NIA': '6FD3', + 'VGCSCA': '6FD4', + 'VBSCA': '6FD5', + 'GBAP': '6FD6', + 'MSK': '6FD7', + 'MUK': '6FD8', + 'EHPLMN': '6FD9', + 'GBANL': '6FDA', + 'EHPLMNPI': '6FDB', + 'LRPLMNSI': '6FDC', + 'NAFKCA': '6FDD', + 'SPNI': '6FDE', + 'PNNI': '6FDF', + 'NCP-IP': '6FE2', + 'EPSLOCI': '6FE3', + 'EPSNSC': '6FE4', + 'UFC': '6FE6', + 'UICCIARI': '6FE7', + 'NASCONFIG': '6FE8', + 'PWC': '6FEC', + 'FDNURI': '6FED', + 'BDNURI': '6FEE', + 'SDNURI': '6FEF', + 'IWL': '6FF0', + 'IPS': '6FF1', + 'IPD': '6FF2', + 'ePDGId': '6FF3', + 'ePDGSelection': '6FF4', + 'ePDGIdEm': '6FF5', + 'ePDGSelectionEm': '6FF6', +} + +LOCI_STATUS_map = { + 0: 'updated', + 1: 'not updated', + 2: 'plmn not allowed', + 3: 'locatation area not allowed' +} diff --git a/pySim/legacy/ts_31_103.py b/pySim/legacy/ts_31_103.py new file mode 100644 index 0000000..f500f08 --- /dev/null +++ b/pySim/legacy/ts_31_103.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- + +""" +Various constants from 3GPP TS 31.103 V16.1.0 used by *legacy* code only +""" + +# Copyright (C) 2020 Supreeth Herle herlesupreeth@gmail.com +# Copyright (C) 2021 Harald Welte laforge@osmocom.org +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. + +EF_ISIM_ADF_map = { + 'IST': '6F07', + 'IMPI': '6F02', + 'DOMAIN': '6F03', + 'IMPU': '6F04', + 'AD': '6FAD', + 'ARR': '6F06', + 'PCSCF': '6F09', + 'GBAP': '6FD5', + 'GBANL': '6FD7', + 'NAFKCA': '6FDD', + 'UICCIARI': '6FE7', + 'SMS': '6F3C', + 'SMSS': '6F43', + 'SMSR': '6F47', + 'SMSP': '6F42', + 'FromPreferred': '6FF7', + 'IMSConfigData': '6FF8', + 'XCAPConfigData': '6FFC', + 'WebRTCURI': '6FFA' +} diff --git a/pySim/ts_31_102.py b/pySim/ts_31_102.py index e7ae8f0..5db3e88 100644 --- a/pySim/ts_31_102.py +++ b/pySim/ts_31_102.py @@ -209,117 +209,6 @@ 3: 'APN Control List (ACL)' }
-LOCI_STATUS_map = { - 0: 'updated', - 1: 'not updated', - 2: 'plmn not allowed', - 3: 'locatation area not allowed' -} - -EF_USIM_ADF_map = { - 'LI': '6F05', - 'ARR': '6F06', - 'IMSI': '6F07', - 'Keys': '6F08', - 'KeysPS': '6F09', - 'DCK': '6F2C', - 'HPPLMN': '6F31', - 'CNL': '6F32', - 'ACMmax': '6F37', - 'UST': '6F38', - 'ACM': '6F39', - 'FDN': '6F3B', - 'SMS': '6F3C', - 'GID1': '6F3E', - 'GID2': '6F3F', - 'MSISDN': '6F40', - 'PUCT': '6F41', - 'SMSP': '6F42', - 'SMSS': '6F42', - 'CBMI': '6F45', - 'SPN': '6F46', - 'SMSR': '6F47', - 'CBMID': '6F48', - 'SDN': '6F49', - 'EXT2': '6F4B', - 'EXT3': '6F4C', - 'BDN': '6F4D', - 'EXT5': '6F4E', - 'CCP2': '6F4F', - 'CBMIR': '6F50', - 'EXT4': '6F55', - 'EST': '6F56', - 'ACL': '6F57', - 'CMI': '6F58', - 'START-HFN': '6F5B', - 'THRESHOLD': '6F5C', - 'PLMNwAcT': '6F60', - 'OPLMNwAcT': '6F61', - 'HPLMNwAcT': '6F62', - 'PSLOCI': '6F73', - 'ACC': '6F78', - 'FPLMN': '6F7B', - 'LOCI': '6F7E', - 'ICI': '6F80', - 'OCI': '6F81', - 'ICT': '6F82', - 'OCT': '6F83', - 'AD': '6FAD', - 'VGCS': '6FB1', - 'VGCSS': '6FB2', - 'VBS': '6FB3', - 'VBSS': '6FB4', - 'eMLPP': '6FB5', - 'AAeM': '6FB6', - 'ECC': '6FB7', - 'Hiddenkey': '6FC3', - 'NETPAR': '6FC4', - 'PNN': '6FC5', - 'OPL': '6FC6', - 'MBDN': '6FC7', - 'EXT6': '6FC8', - 'MBI': '6FC9', - 'MWIS': '6FCA', - 'CFIS': '6FCB', - 'EXT7': '6FCC', - 'SPDI': '6FCD', - 'MMSN': '6FCE', - 'EXT8': '6FCF', - 'MMSICP': '6FD0', - 'MMSUP': '6FD1', - 'MMSUCP': '6FD2', - 'NIA': '6FD3', - 'VGCSCA': '6FD4', - 'VBSCA': '6FD5', - 'GBAP': '6FD6', - 'MSK': '6FD7', - 'MUK': '6FD8', - 'EHPLMN': '6FD9', - 'GBANL': '6FDA', - 'EHPLMNPI': '6FDB', - 'LRPLMNSI': '6FDC', - 'NAFKCA': '6FDD', - 'SPNI': '6FDE', - 'PNNI': '6FDF', - 'NCP-IP': '6FE2', - 'EPSLOCI': '6FE3', - 'EPSNSC': '6FE4', - 'UFC': '6FE6', - 'UICCIARI': '6FE7', - 'NASCONFIG': '6FE8', - 'PWC': '6FEC', - 'FDNURI': '6FED', - 'BDNURI': '6FEE', - 'SDNURI': '6FEF', - 'IWL': '6FF0', - 'IPS': '6FF1', - 'IPD': '6FF2', - 'ePDGId': '6FF3', - 'ePDGSelection': '6FF4', - 'ePDGIdEm': '6FF5', - 'ePDGSelectionEm': '6FF6', -} - # 3gPP TS 31.102 Section 7.5.2.1 class SUCI_TlvDataObject(BER_TLV_IE, tag=0xA1): _construct = HexAdapter(GreedyBytes) diff --git a/pySim/ts_31_103.py b/pySim/ts_31_103.py index f1c8dd7..5f374cb 100644 --- a/pySim/ts_31_103.py +++ b/pySim/ts_31_103.py @@ -56,28 +56,6 @@ 21: 'MuD and MiD configuration data', }
-EF_ISIM_ADF_map = { - 'IST': '6F07', - 'IMPI': '6F02', - 'DOMAIN': '6F03', - 'IMPU': '6F04', - 'AD': '6FAD', - 'ARR': '6F06', - 'PCSCF': '6F09', - 'GBAP': '6FD5', - 'GBANL': '6FD7', - 'NAFKCA': '6FDD', - 'UICCIARI': '6FE7', - 'SMS': '6F3C', - 'SMSS': '6F43', - 'SMSR': '6F47', - 'SMSP': '6F42', - 'FromPreferred': '6FF7', - 'IMSConfigData': '6FF8', - 'XCAPConfigData': '6FFC', - 'WebRTCURI': '6FFA' -} - # TS 31.103 Section 4.2.2 class EF_IMPI(TransparentEF): _test_de_encode = [