From 23888dab85165f44bfd8ee649dbfc869e881545d Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Wed, 28 Aug 2019 23:19:11 +0200 Subject: make writing SMSP optional Change-Id: Ic5fdd397244cfe73b5b6a12883316072cc10f7b4 --- pySim/cards.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'pySim/cards.py') diff --git a/pySim/cards.py b/pySim/cards.py index cb42d83..55282aa 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -394,8 +394,9 @@ class GrcardSim(Card): data, sw = self._scc.update_binary('6f78', lpad(p['acc'], 4)) # EF.SMSP - r = self._scc.select_file(['3f00', '7f10', '6f42']) - data, sw = self._scc.update_record('6f42', 1, lpad(p['smsp'], 80)) + if p.get('smsp'): + r = self._scc.select_file(['3f00', '7f10', '6f42']) + data, sw = self._scc.update_record('6f42', 1, lpad(p['smsp'], 80)) # Set the Ki using proprietary command pdu = '80d4020010' + p['ki'] @@ -535,7 +536,8 @@ class SysmoSIMgr2(Card): r = self._scc.select_file(['3f00', '7f10']) # write EF.SMSP - data, sw = self._scc.update_record('6f42', 1, lpad(p['smsp'], 80)) + if p.get('smsp'): + data, sw = self._scc.update_record('6f42', 1, lpad(p['smsp'], 80)) def erase(self): return @@ -614,8 +616,9 @@ class SysmoUSIMSJS1(Card): print("Programming AD failed with code %s"%sw) # EF.SMSP - r = self._scc.select_file(['3f00', '7f10']) - data, sw = self._scc.update_record('6f42', 1, lpad(p['smsp'], 104), force_len=True) + if p.get('smsp'): + r = self._scc.select_file(['3f00', '7f10']) + data, sw = self._scc.update_record('6f42', 1, lpad(p['smsp'], 104), force_len=True) def erase(self): return -- cgit v1.2.3