laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/28735 )
Change subject: sysmocom_sja2: Prevent KeyError/None exception on encode ...................................................................... sysmocom_sja2: Prevent KeyError/None exception on encode Fix a bug in the pySim.sysmocom_sja2 module, where we defined unnamed bits in BitStruct without a default value causing exceptions like this: EXCEPTION of type 'KeyError' occurred with message: 'None' Change-Id: Ib2da5adda4fae374ab14bb8100f338691aef719a Closes: OS#5575 --- M pySim/sysmocom_sja2.py 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/sysmocom_sja2.py b/pySim/sysmocom_sja2.py index d00a2cb..53e6585 100644 --- a/pySim/sysmocom_sja2.py +++ b/pySim/sysmocom_sja2.py @@ -137,7 +137,7 @@ class EF_SIM_AUTH_KEY(TransparentEF): def __init__(self, fid='6f20', name='EF.SIM_AUTH_KEY'): super().__init__(fid, name=name, desc='USIM authentication key') - CfgByte = BitStruct(Bit[2], + CfgByte = BitStruct(Padding(2), 'use_sres_deriv_func_2'/Bit, 'use_opc_instead_of_op'/Bit, 'algorithm'/Enum(Nibble, milenage=4, comp128v1=1, comp128v2=2, comp128v3=3)) @@ -192,7 +192,7 @@ class EF_USIM_AUTH_KEY(TransparentEF): def __init__(self, fid='af20', name='EF.USIM_AUTH_KEY'): super().__init__(fid, name=name, desc='USIM authentication key') - CfgByte = BitStruct(Bit, 'only_4bytes_res_in_3g'/Bit, + CfgByte = BitStruct(Padding(1), 'only_4bytes_res_in_3g'/Bit, 'use_sres_deriv_func_2_in_3g'/Bit, 'use_opc_instead_of_op'/Bit, 'algorithm'/Enum(Nibble, milenage=4, sha1_aka=5, xor=15)) @@ -210,7 +210,7 @@ class EF_USIM_AUTH_KEY_2G(TransparentEF): def __init__(self, fid='af22', name='EF.USIM_AUTH_KEY_2G'): super().__init__(fid, name=name, desc='USIM authentication key in 2G context') - CfgByte = BitStruct(Bit, 'only_4bytes_res_in_3g'/Bit, + CfgByte = BitStruct(Padding(1), 'only_4bytes_res_in_3g'/Bit, 'use_sres_deriv_func_2_in_3g'/Bit, 'use_opc_instead_of_op'/Bit, 'algorithm'/Enum(Nibble, milenage=4, comp128v1=1, comp128v2=2, comp128v3=3)) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/28735 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ib2da5adda4fae374ab14bb8100f338691aef719a Gerrit-Change-Number: 28735 Gerrit-PatchSet: 2 Gerrit-Owner: laforge <lafo...@osmocom.org> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanits...@sysmocom.de> Gerrit-Reviewer: laforge <lafo...@osmocom.org> Gerrit-MessageType: merged