lynxis lazus has uploaded this change for review.

View Change

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

To view, visit change 41686. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: newchange
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I7c4a0914aef1049a416e6b091f23daab39a1dd9c
Gerrit-Change-Number: 41686
Gerrit-PatchSet: 1
Gerrit-Owner: lynxis lazus <lynxis@fe80.eu>