dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/42667?usp=email )
Change subject: pySim-prog/cards: fix programming of EF.SMSP ......................................................................
pySim-prog/cards: fix programming of EF.SMSP
The legacy code found in legacy/cards.py does not use the modern construct based encoder (pySim-read uses it). The card classes either use their own implementation of update_smsp or use the generic method provided by the SimCard class. The latter one is true for FairwavesSIM and WavemobileSim.
Unfortunately the implementation found in the SimCard is wrong. It adds padding at the end of the file instead of the beginning. This completely messes up the contents of EF.SMSP for the cards using this method. To fix this, let's use the leftpad feature provided by the update_record. This will ensure a correct alignment of the file contents.
Related: SYS#7765 Change-Id: Ie112418f1f1461762d61365d3863181ca6be7245 --- M pySim/legacy/cards.py 1 file changed, 2 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/67/42667/1
diff --git a/pySim/legacy/cards.py b/pySim/legacy/cards.py index 9efa66b..3b66328 100644 --- a/pySim/legacy/cards.py +++ b/pySim/legacy/cards.py @@ -152,7 +152,8 @@ return sw
def update_smsp(self, smsp): - data, sw = self._scc.update_record(EF['SMSP'], 1, rpad(smsp, 84)) + print("using update_smsp") + data, sw = self._scc.update_record(EF['SMSP'], 1, smsp, leftpad=True) return sw
def update_ad(self, mnc=None, opmode=None, ofm=None, path=EF['AD']):