diff options
author | Harald Welte <laforge@osmocom.org> | 2023-01-31 16:40:54 +0100 |
---|---|---|
committer | Harald Welte <laforge@osmocom.org> | 2023-01-31 17:26:09 +0100 |
commit | 9b9efb6a7a5ae65c50154e73b61f056601d1048e (patch) | |
tree | 3c26960c9d3d58d5597aff4a6c88752395b9f1a2 | |
parent | 136bdb065baaa2e1e178eb63587db93ccaf49a10 (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.py | 9 |
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 |