aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2023-01-31 16:40:54 +0100
committerHarald Welte <laforge@osmocom.org>2023-01-31 17:26:09 +0100
commit9b9efb6a7a5ae65c50154e73b61f056601d1048e (patch)
tree3c26960c9d3d58d5597aff4a6c88752395b9f1a2
parent136bdb065baaa2e1e178eb63587db93ccaf49a10 (diff)
ts_31_102: Fix several bugs in EF_ECC encoder
The encoder function apparently was never tested, it didn't match at all the output of the decoder, not even in terms of the string keys of the dict. Change-Id: Id67bc39d52c4dfb39dc7756d8041cbd552ccbbc4
-rw-r--r--pySim/ts_31_102.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/pySim/ts_31_102.py b/pySim/ts_31_102.py
index 4d1c3dc..4125f4a 100644
--- a/pySim/ts_31_102.py
+++ b/pySim/ts_31_102.py
@@ -622,9 +622,12 @@ class EF_ECC(LinFixedEF):
if in_json is None:
return b'\xff\xff\xff\xff'
code = EF_ECC.cc_construct.build(in_json['call_code'])
- svc_category = EF_ECC.category_construct.build(in_json['category'])
- alpha_id = EF_ECC.alpha_construct.build(in_json['alpha_id'])
- # FIXME: alpha_id needs padding up to 'record_length - 4'
+ svc_category = EF_ECC.category_construct.build(in_json['service_category'])
+ if 'alpha_id' in in_json:
+ alpha_id = EF_ECC.alpha_construct.build(in_json['alpha_id'])
+ # FIXME: alpha_id needs padding up to 'record_length - 4'
+ else:
+ alpha_id = b''
return code + alpha_id + svc_category