lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/41686?usp=email )
Change subject: saip: rework file sizes for "half-defined" template files ......................................................................
saip: rework file sizes for "half-defined" template files
Some templates (e.g. for 5GS) define files which aren't completely defined. 5GS SUCI_Calc_Info: doesn't have a file size defined.
The saip tool will crash in TODO: add crash
Change-Id: I7c4a0914aef1049a416e6b091f23daab39a1dd9c --- M pySim/esim/saip/__init__.py 1 file changed, 4 insertions(+), 2 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/86/41686/1
diff --git a/pySim/esim/saip/__init__.py b/pySim/esim/saip/__init__.py index 1c0c715..6ec8b23 100644 --- a/pySim/esim/saip/__init__.py +++ b/pySim/esim/saip/__init__.py @@ -291,6 +291,10 @@ dfName = fileDescriptor.get('dfName', None) if dfName: self.df_name = dfName + efFileSize = fileDescriptor.get('efFileSize', None) + if efFileSize: + self._file_size = self._decode_file_size(efFileSize) + pefi = fileDescriptor.get('proprietaryEFInfo', {}) securityAttributesReferenced = fileDescriptor.get('securityAttributesReferenced', None) if securityAttributesReferenced: @@ -300,13 +304,11 @@ fdb_dec = fd_dec['file_descriptor_byte'] self.shareable = fdb_dec['shareable'] if fdb_dec['file_type'] == 'working_ef': - efFileSize = fileDescriptor.get('efFileSize', None) if fd_dec['num_of_rec']: self.nb_rec = fd_dec['num_of_rec'] if fd_dec['record_len']: self.rec_len = fd_dec['record_len'] if efFileSize: - self._file_size = self._decode_file_size(efFileSize) if self.rec_len and self.nb_rec == None: # compute the number of records from file size and record length self.nb_rec = self._file_size // self.rec_len