laforge has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/pysim/+/41674?usp=email )


Change subject: ts_51_011/EF.SMSP: Fix parsing of parameter_indicators
......................................................................

ts_51_011/EF.SMSP: Fix parsing of parameter_indicators

There's a 3-bit RFU field that (unlike everything else in USIM/UICC)
considers '1' to be the default.  Let's make sure we get that right
during encode.

Change-Id: Ibe24a07f5f73d875d2077fa55471dbfc4e90da23
---
M pySim/ts_51_011.py
1 file changed, 8 insertions(+), 3 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/74/41674/1

diff --git a/pySim/ts_51_011.py b/pySim/ts_51_011.py
index cdab5de..5b397cd 100644
--- a/pySim/ts_51_011.py
+++ b/pySim/ts_51_011.py
@@ -243,7 +243,7 @@
     _test_decode = [
         ( 
'454e6574776f726b73fffffffffffffff1ffffffffffffffffffffffffffffffffffffffffffffffff0000a7',
           { "alpha_id": "ENetworks", "parameter_indicators": { "tp_dest_addr": 
False, "tp_sc_addr": True,
-                                                               "tp_pid": True, 
"tp_dcs": True, "tp_vp": True },
+                                                               "tp_pid": True, 
"tp_dcs": True, "tp_vp": False },
             "tp_dest_addr": { "length": 255, "ton_npi": { "ext": True, 
"type_of_number": "reserved_for_extension",
                                                           "numbering_plan_id": 
"reserved_for_extension" },
                               "call_number": "" },
@@ -281,8 +281,13 @@
         super().__init__(fid, sfid=sfid, name=name, desc=desc, rec_len=(28, 
None), **kwargs)
         ScAddr = Struct('length'/Int8ub, 'ton_npi'/TonNpi, 
'call_number'/BcdAdapter(Rpad(Bytes(10))))
         self._construct = 
Struct('alpha_id'/COptional(GsmOrUcs2Adapter(Rpad(Bytes(this._.total_len-28)))),
-                                 
'parameter_indicators'/InvertAdapter(FlagsEnum(Byte, tp_dest_addr=1, 
tp_sc_addr=2,
-                                                                               
 tp_pid=3, tp_dcs=4, tp_vp=5)),
+                                 
'parameter_indicators'/InvertAdapter(BitStruct(
+                                                                        
Const(7, BitsInteger(3)),
+                                                                        
'tp_vp'/Flag,
+                                                                        
'tp_dcs'/Flag,
+                                                                        
'tp_pid'/Flag,
+                                                                        
'tp_sc_addr'/Flag,
+                                                                        
'tp_dest_addr'/Flag)),
                                  'tp_dest_addr'/ScAddr,
                                  'tp_sc_addr'/ScAddr,


--
To view, visit https://gerrit.osmocom.org/c/pysim/+/41674?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings?usp=email

Gerrit-MessageType: newchange
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: Ibe24a07f5f73d875d2077fa55471dbfc4e90da23
Gerrit-Change-Number: 41674
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <[email protected]>

Reply via email to