mirror of https://gerrit.osmocom.org/pysim
filesystem.py: Introduce place-holder for BER-TLV files
I always assumed BER-TLV files are transparent EF with BER-TLV contents. However, this is wrong. ETS TS 102 221 Section 8.2.2.4 specifies them. TS 102 221 Section 11.3 describes the specific RETRIEVE DATA, SET DATA commands, which are not yet implemented in pySim. Change-Id: Ie4701d9f72b05c8a5810e287e55a20f6ea86a574
This commit is contained in:
parent
71290077b9
commit
278816251d
|
@ -917,7 +917,13 @@ class TransRecEF(TransparentEF):
|
|||
return b''.join(chunks)
|
||||
|
||||
|
||||
class BerTlvEF(TransparentEF):
|
||||
"""BER-TLV EF (Entry File) in the smart card filesystem.
|
||||
A BER-TLV EF is a binary file with a BER (Basic Encoding Rules) TLV structure
|
||||
|
||||
NOTE: We currently don't really support those, this class is simply a wrapper
|
||||
around TransparentEF as a place-holder, so we can already define EFs of BER-TLV
|
||||
type without fully supporting them."""
|
||||
|
||||
|
||||
class RuntimeState(object):
|
||||
|
|
|
@ -146,12 +146,12 @@ class EF_UICCIARI(LinFixedEF):
|
|||
super().__init__(fid=fid, sfid=sfid, name=name, desc=desc)
|
||||
|
||||
# TS 31.103 Section 4.2.18
|
||||
class EF_IMSConfigData(TransparentEF):
|
||||
class EF_IMSConfigData(BerTlvEF):
|
||||
def __init__(self, fid='6ff8', sfid=None, name='EF.IMSConfigData', desc='IMS Configuration Data'):
|
||||
super().__init__(fid=fid, sfid=sfid, name=name, desc=desc)
|
||||
|
||||
# TS 31.103 Section 4.2.19
|
||||
class EF_XCAPConfigData(TransparentEF):
|
||||
class EF_XCAPConfigData(BerTlvEF):
|
||||
def __init__(self, fid='6ffc', sfid=None, name='EF.XCAPConfigData', desc='XCAP Configuration Data'):
|
||||
super().__init__(fid=fid, sfid=sfid, name=name, desc=desc)
|
||||
|
||||
|
@ -161,7 +161,7 @@ class EF_WebRTCURI(TransparentEF):
|
|||
super().__init__(fid=fid, sfid=sfid, name=name, desc=desc)
|
||||
|
||||
# TS 31.103 Section 4.2.21
|
||||
class EF_MuDMiDConfigData(TransparentEF):
|
||||
class EF_MuDMiDConfigData(BerTlvEF):
|
||||
def __init__(self, fid='6ffe', sfid=None, name='EF.MuDMiDConfigData',
|
||||
desc='MuD and MiD Configuration Data'):
|
||||
super().__init__(fid=fid, sfid=sfid, name=name, desc=desc)
|
||||
|
|
Loading…
Reference in New Issue